关于 notion-automation
notion-automation 是面向 Notion 用户的自动化技能,提供数据库、页面和内容流程的配置思路,并包含 Slack、日历及 GitHub 等集成示例。
主要功能
- 01数据库触发器与自动化
- 02模板和页面创建
- 03跨平台数据同步
- 04内容管理工作流
适用场景
- 01将表单提交写入 Notion 数据库
- 02生成每周 Notion 任务摘要
- 03将 Slack 消息转为 Notion 任务
- 04同步日历事件与 Notion 页面
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ claude-office-skills/ skills --skill notion-automation安装后在 Claude Code 中输入/notion-automation确认已加载。
详细介绍
Notion 自动化
借助跨平台集成、模板和智能触发器,实现 Notion 数据库和工作流的自动化。基于 n8n 的 Notion 工作流模板。
概述
此技能涵盖:
- 数据库自动化和触发器
- 模板和页面创建
- 跨平台同步(Slack、Calendar、CRM)
- 内容管理工作流
- 团队协作自动化
核心工作流
1. 表单 → Notion 数据库
workflow: "Form to Notion"
trigger: typeform_submission OR google_form
steps:
1. capture_data:
fields: [name, email, company, message, source]
2. enrich_data:
clearbit: lookup_by_email
append: [company_size, industry]
3. create_notion_page:
database_id: "leads_database"
properties:
Name: "{name}"
Email: "{email}"
Company: "{company}"
Status: "New"
Source: "{source}"
Created: "{timestamp}"
content:
- heading: "Contact Details"
- text: "{message}"
- divider
- heading: "Enriched Data"
- text: "Industry: {industry}, Size: {company_size}"
4. notify:
slack:
channel: "#new-leads"
message: "New lead: {name} from {company}"
2. Notion → 邮件摘要
workflow: "Weekly Notion Digest"
schedule: "Monday 9am"
steps:
1. query_notion:
database: "Tasks"
filter:
- property: "Due Date"
date: this_week
- property: "Status"
not_equals: "Done"
2. group_by_assignee:
method: aggregate
3. generate_digest:
for_each: assignee
template: |
Hi {assignee},
Here are your tasks for this week:
{for task in tasks}
• {task.title} - Due: {task.due_date}
{endfor}
Total: {task_count} tasks
4. send_emails:
to: each_assignee
subject: "Your Weekly Task Digest"
3. Slack → Notion 任务
workflow: "Slack to Notion Task"
trigger: slack_reaction (✅ emoji)
steps:
1. capture_message:
extract: [text, author, channel, timestamp, thread]
2. parse_task:
ai_extraction:
title: extract_action_item
due_date: extract_date_if_mentioned
priority: infer_from_context
3. create_notion_task:
database: "Tasks"
properties:
Title: "{extracted_title}"
Status: "To Do"
Source: "Slack - #{channel}"
Assignee: "{slack_user_to_notion_user}"
Due Date: "{due_date}"
Priority: "{priority}"
content:
- quote: "{original_message}"
- text: "Created from Slack message"
- link: "{slack_permalink}"
4. thread_reply:
slack:
thread_ts: "{timestamp}"
message: "✅ Task created in Notion: {notion_url}"
4. 日历同步
workflow: "Google Calendar ↔ Notion"
trigger: bidirectional
google_to_notion:
trigger: calendar_event_created
action:
- create_notion_page:
database: "Meetings"
properties:
Title: "{event.title}"
Date: "{event.start}"
Attendees: "{event.attendees}"
Location: "{event.location}"
Calendar Link: "{event.link}"
notion_to_google:
trigger: notion_page_created
filter: database == "Meetings"
action:
- create_calendar_event:
title: "{page.Title}"
start: "{page.Date}"
description: "{page.Notes}"
attendees: "{page.Attendees}"
5. 内容流程
workflow: "Content Publishing Pipeline"
database_structure:
properties:
- Title: title
- Status: select [Idea, Writing, Review, Published]
- Author: person
- Due Date: date
- Platform: multi_select [Blog, LinkedIn, Twitter]
- Content: rich_text
automations:
status_changed_to_review:
- notify_slack: "#content-review"
- assign_reviewer: round_robin
- set_due_date: 3_days_from_now
status_changed_to_published:
- post_to_platforms: based_on_Platform_property
- update_analytics_tracker: add_row
- archive_after: 7_days
数据库模板
项目管理
project_database:
name: "Projects"
properties:
- Name: title
- Status: select
options: [Planning, In Progress, Review, Complete]
- Priority: select
options: [P0, P1, P2, P3]
- Owner: person
- Team: multi_select
- Start Date: date
- Due Date: date
- Progress: number (percent)
- Related Tasks: relation → Tasks
views:
- Board: group_by Status
- Timeline: gantt chart
- Calendar: by Due Date
- Table: all properties
automations:
- when: all_tasks_complete
then: set_status "Complete"
- when: due_date_approaching (3 days)
then: slack_reminder to Owner
CRM 数据库
crm_database:
name: "Contacts"
properties:
- Name: title
- Email: email
- Company: text
- Stage: select
options: [Lead, Qualified, Proposal, Negotiation, Closed]
- Value: number (currency)
- Last Contact: date
- Next Action: text
- Owner: person
- Related Deals: relation → Deals
automations:
- when: stage_changed
then: log_activity + notify_owner
- when: no_contact_14_days
then: slack_alert "Follow up needed"
内容日历
content_calendar:
name: "Content"
properties:
- Title: title
- Type: select [Blog, Video, Social, Newsletter]
- Status: select [Idea, Draft, Review, Scheduled, Published]
- Publish Date: date
- Author: person
- Platform: multi_select
- SEO Keywords: multi_select
- Engagement: number
views:
- Calendar: by Publish Date
- Kanban: by Status
- By Platform: grouped table
API 模式
查询数据库
// n8n Notion Query
{
"database_id": "abc123",
"filter": {
"and": [
{
"property": "Status",
"select": {
"equals": "In Progress"
}
},
{
"property": "Due Date",
"date": {
"on_or_before": "{{$today}}"
}
}
]
},
"sorts": [
{
"property": "Priority",
"direction": "ascending"
}
]
}
创建页面
// n8n Notion Create Page
{
"parent": { "database_id": "abc123" },
"properties": {
"Name": {
"title": [{ "text": { "content": "{{$json.title}}" }}]
},
"Status": {
"select": { "name": "New" }
},
"Tags": {
"multi_select": [
{ "name": "{{$json.tag1}}" },
{ "name": "{{$json.tag2}}" }
]
}
},
"children": [
{
"object": "block",
"type": "heading_2",
"heading_2": {
"rich_text": [{ "text": { "content": "Overview" }}]
}
},
{
"object": "block",
"type": "paragraph",
"paragraph": {
"rich_text": [{ "text": { "content": "{{$json.content}}" }}]
}
}
]
}
集成方案
Notion + Slack + Calendar
meeting_workflow:
trigger: notion_page_created
database: "Meetings"
actions:
1. create_calendar_event:
google_calendar:
title: "{Title}"
date: "{Date}"
2. create_slack_channel:
if: "{Type}" == "Project Kickoff"
name: "proj-{project_name}"
3. send_invites:
to: "{Attendees}"
include: [calendar_link, notion_link, slack_channel]
4. create_meeting_doc:
notion:
template: "Meeting Notes Template"
link_to: original_page
Notion + GitHub
github_sync:
trigger: github_issue_created
actions:
- create_notion_page:
database: "Engineering Tasks"
properties:
Title: "{issue.title}"
GitHub: "{issue.url}"
Labels: "{issue.labels}"
Assignee: map_github_to_notion("{issue.assignee}")
reverse_sync:
trigger: notion_status_changed
to: "Done"
action: close_github_issue
输出示例
请求:「为内容团队设置 Notion 自动化」
输出:
# Content Team Notion Setup
## Database: Content Calendar
### Properties
| Property | Type | Options |
|----------|------|---------|
| Title | Title | - |
| Status | Select | Idea, Writing, Editing, Ready, Published |
| Author | Person | - |
| Publish Date | Date | - |
| Platform | Multi-select | Blog, LinkedIn, Twitter, Newsletter |
| Type | Select | Article, Video, Infographic, Thread |
### Automations
**1. New Content Idea → Slack**
```yaml
trigger: page_created, Status = "Idea"
action: post_to_slack("#content-ideas")
message: "💡 New content idea: {Title} by {Author}"
2. 准备审核 → 分配编辑
trigger: status_changed_to "Editing"
action:
- assign_editor (round_robin)
- set_due_date (+3 days)
- slack_dm_editor
3. 已发布 → 更新跟踪表
trigger: status_changed_to "Published"
action:
- add_to_analytics_sheet
- post_celebration_slack
- schedule_engagement_check (+7 days)
视图
- 日历 - 查看发布计划
- 看板 - 跟踪状态
- 按作者 - 个人工作量
- 本周 - 筛选视图
模板
- 博客文章模板
- 社交媒体帖子串模板
- 新闻简报模板
---
*Notion Automation Skill - Part of Claude Office Skills*
评论
支持 Markdown