notion-automation
claude-office-skills/skills
Notion database automation - sync, templates, workflows, and cross-platform integrations
...Expand allAbout notion-automation
The notion-automation skill enables users to automate and streamline their Notion databases and workflows, reducing manual effort and improving organizational efficiency. It solves common challenges associated with managing dynamic content, coordinating across platforms, and maintaining consistency in team collaboration. By automating repetitive tasks such as database updates, content creation, and notifications, this skill allows teams to focus on high-value work instead of administrative overhead.
Key features of the skill include database automation, template and page creation, cross-platform synchronization with tools like Slack, Calendar, and CRM systems, workflow triggers, and content management automation. The skill leverages intelligent triggers and pre-defined workflows to capture data from forms, emails, or chat messages and automatically update Notion databases. Users can generate weekly digests, create tasks from Slack messages, and sync calendar events bidirectionally, providing a comprehensive ecosystem for productivity and team coordination.
This skill is ideal for operations teams, project managers, sales teams, and anyone who regularly works with Notion to manage tasks, leads, or content. It is particularly useful for organizations that require integration with multiple platforms and need to maintain real-time updates across tools. Use cases include lead management, weekly task reporting, automated meeting notes, and team workflow coordination. By providing seamless automation and cross-platform integration, it supports enhanced collaboration and consistent data management across an organization.
FAQ
How do I set up the notion-automation workflows?
Workflows are configured using triggers and steps defined in YAML format. You can connect forms, Slack, email, and calendar events to Notion databases by following the provided workflow templates.
Which platforms can notion-automation integrate with?
This skill supports integration with Slack, Google Calendar, CRM systems, and other tools via cross-platform synchronization. Workflows are based on n8n templates for Notion.
Are there any limitations on the types of Notion databases supported?
The skill works with standard Notion databases that support page creation, property updates, and queries. Some advanced database types or custom templates may require additional configuration.
What languages does notion-automation support?
It supports English and Chinese for workflow operations and content generation.
Do I need a specific model to use this skill?
The recommended model for optimal performance is claude-sonnet-4, though integration with the MCP server and Notion tools is required.
Notion Automation
Automate Notion databases and workflows with cross-platform integrations, templates, and intelligent triggers. Based on n8n's Notion workflow templates.
Overview
This skill covers:
- Database automation and triggers
- Template and page creation
- Cross-platform sync (Slack, Calendar, CRM)
- Content management workflows
- Team collaboration automation
Core Workflows
1. Form → Notion Database
workflow: "Form to Notion"trigger: typeform_submission OR google_formsteps: 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 → Email Digest
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 Task
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. Calendar Sync
workflow: "Google Calendar ↔ Notion"trigger: bidirectionalgoogle_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. Content Pipeline
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
Database Templates
Project Management
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 Database
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
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 Patterns
Query Database
// 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" } ]}
Create Page
// 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}}" }}] } } ]}
Integration Recipes
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
Output Example
Request: "Set up Notion automation for a content team"
Output:
# 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**```yamltrigger: page_created, Status = "Idea"action: post_to_slack("#content-ideas")message: "💡 New content idea: {Title} by {Author}"
2. Ready for Review → Assign Editor
trigger: status_changed_to "Editing"action: - assign_editor (round_robin) - set_due_date (+3 days) - slack_dm_editor
3. Published → Update Tracker
trigger: status_changed_to "Published"action: - add_to_analytics_sheet - post_celebration_slack - schedule_engagement_check (+7 days)
Views
- Calendar - See publishing schedule
- Kanban - Track status
- By Author - Individual workload
- This Week - Filtered view
Templates
- Blog Post Template
- Social Thread Template
- Newsletter Template
---*Notion Automation Skill - Part of Claude Office Skills* Install notion-automation
Download and extract the skill files to your .claude/skills/ directory.
Download ZIPClone the repository and copy the skill files to your project.
git clone https://github.com/claude-office-skills/skills/blob/main/notion-automation/SKILL.md # Copy SKILL.md to your .claude/skills/ directory
Copy





Home
