Make.com + Notion: Sync and Automate Your Knowledge Base
Notion is the go-to knowledge base for teams. Make.com is the no-code automation platform that connects it to everything else. Together, they let you build workflows that create pages, update databases, sync meeting notes, and push task assignments to Slack—all without writing a single line of code.
This tutorial walks you through the Make.com Notion integration from scratch: connecting the module, building your first scenario, and wiring up a full end-to-end workflow.
Why Automate Notion with Make.com?
Notion is a powerful knowledge management tool, but it's only as useful as the data inside it. Most teams end up doing repetitive manual work: copying meeting notes into Notion, creating task pages from action items, updating project statuses, and notifying teammates.
Make.com replaces that manual work with automated workflows (called scenarios). Unlike Zapier, Make gives you a visual canvas to build multi-step logic, branching conditions, iterators, and aggregators—all on a generous free tier.
What you can automate:
- Create a new Notion database item whenever a form is submitted, an email arrives, or a calendar event ends
- Update page properties (status, assignee, due date) based on triggers in other apps
- Watch a Notion database for new entries and push them to Slack, HubSpot, or Google Sheets
- Sync content bidirectionally between Notion and external sources
Prerequisites
Before building your first scenario, you need:
- A Make.com account (free tier works for all examples below)
- A Notion account with at least one database (not just a page—a full database with properties)
- A Notion Internal Integration Token (explained in Step 1)
Step 1: Connect Make.com to Notion
Create a Notion Integration
Make.com connects to Notion using the official Notion API. You need to create an internal integration in Notion first.
- Go to https://www.notion.so/my-integrations
- Click "New integration"
- Give it a name (e.g., Make Automation) and select the workspace
- Under Capabilities, enable:
- Read content
- Update content
- Insert content
- Click Submit and copy the Internal Integration Token (starts with
secret_...)
Share Your Database with the Integration
Notion's API only exposes databases you explicitly share with an integration.
- Open the Notion database you want to automate
- Click the "..." menu in the top right → Connections
- Find your integration name and click Connect
Add the Notion Module in Make.com
- Log in to Make.com and click Create a new scenario
- Click the "+" button and search for Notion
- Select any Notion action (e.g., Create a Database Item)
- In the connection panel, click Add → paste your Internal Integration Token
- Name the connection and click Save
Your Make.com account is now linked to Notion.
Step 2: Create Notion Database Items
The most common use case is creating new pages in a Notion database when something happens in another app.
Module: "Create a Database Item"
After selecting Notion → Create a Database Item, configure these fields:
| Field | What to set |
|---|---|
| Connection | Your Notion connection |
| Database ID | Paste the database ID from the Notion URL (the 32-character string after the last /) |
| Properties | Map values from your trigger to Notion properties |
Finding your Database ID: Open the database in Notion, look at the browser URL:
https://www.notion.so/workspace/My-Tasks-abc123def456789012345678901234
The ID is the last 32 characters: abc123def456789012345678901234.
Mapping Properties
Each property type in Notion maps to a different input format in Make.com:
| Notion Property Type | Make Input |
|---|---|
| Title | Plain text string |
| Text (rich text) | Plain text or markdown |
| Select | The exact option name as a string |
| Multi-select | Array of option names |
| Date | ISO 8601 date string (2026-03-15) |
| Checkbox | Boolean (true / false) |
| Person | Notion user ID (requires a separate lookup) |
| Relation | Array of page IDs |
For example, creating a task item might look like:
- Name (title):
{{trigger.subject}} - Status (select):
"To Do" - Due Date (date):
{{formatDate(trigger.deadline; "YYYY-MM-DD")}} - Notes (rich text):
{{trigger.body}}
Step 3: Update Notion Page Properties
Once a page exists, you may need to update its properties as work progresses—changing a status, adding a due date, or assigning an owner.
Module: "Update a Page"
- Add a Notion → Update a Page module
- Set the Page ID — you can pass this dynamically from a previous module (e.g., the output of a "Search for Objects" module)
- Update only the properties you want to change; other properties remain untouched
Common pattern: Search for a Notion item by a unique identifier (like an email or external ID), grab its page ID, then update its properties.
[Trigger] → [Notion: Search for Objects] → [Notion: Update a Page]
In the Search for Objects module, set:
- Object type: Page
- Filter:
{property: "Email", email: {equals: "{{trigger.email}}"}}
Then pipe the id from the search result into the Update a Page module's Page ID field.
Step 4: Watch Notion for New Entries (Trigger)
Make can trigger a scenario whenever new items appear in a Notion database. This is useful for pipelines where Notion is the source of truth.
Module: "Watch Database Items"
- Add Notion → Watch Database Items as the first module (triggers are always first)
- Select your database
- Set a schedule (every 15 minutes on the free plan)
Limitation: Make polls Notion on a schedule—it is not a real-time webhook. The minimum interval on the free plan is 15 minutes. Paid plans support 1-minute polling.
What it returns
Each trigger event contains:
id— the page IDproperties— all property values of the new/updated itemcreated_timeandlast_edited_timeurl— direct link to the Notion page
You can use these values as inputs for downstream actions (send Slack messages, update CRMs, create calendar events, etc.).
Step 5: Build the Full Scenario — Meeting Notes to Notion Tasks
Here's the practical end-to-end workflow from the writing prompt: a meeting ends, notes are captured, action items are extracted, Notion tasks are created, and assignees are notified in Slack.
Scenario Overview
[Google Calendar: Watch Events Ended]
→ [Google Docs: Get Document Content]
→ [Make: Text Parser — Extract Action Items]
→ [Iterator: Loop through each action item]
→ [Notion: Create a Database Item]
→ [Slack: Send a Direct Message]
Module-by-Module Walkthrough
Module 1: Google Calendar — Watch Events
- Trigger: Google Calendar → Watch Events
- Calendar: Your work calendar
- Filter: Only events with a Google Doc attached in the description (use a regex match on the event description to detect doc URLs)
This fires once for each completed calendar event that contains meeting notes.
Module 2: Google Docs — Get Document Content
- Action: Google Docs → Get a Document
- Document ID: Use Make's text parser to extract the Doc ID from the event description URL
This returns the full text of your meeting notes document.
Module 3: Text Parser — Extract Action Items
- Action: Tools → Text Parser → Match Pattern
- Pattern:
ACTION ITEM: (.+)(or whatever convention your team uses in notes) - Text: The document body from Module 2
- Global match: Yes (returns all matches, not just the first)
Alternatively, use a Notion AI block or feed the text through the OpenAI module with a prompt like:
"Extract all action items from these meeting notes. Return one per line as:
Task | Assignee | Due Date"
Module 4: Iterator
- Action: Flow Control → Iterator
- Array: The array of extracted action items from Module 3
The Iterator loops through each action item individually, sending it through the remaining modules.
Module 5: Notion — Create a Database Item
- Database: Your team's task tracker database
- Name (title): The task description
- Assignee: Match the name from the extracted text to a Notion user ID (requires a small lookup table or a prior "Search Users" step)
- Due Date: The extracted date, formatted with
formatDate() - Meeting Source (url): The Google Doc URL
- Status (select):
"To Do"
Module 6: Slack — Send a Direct Message
- Action: Slack → Send a Direct Message
- User: The assignee's Slack user ID (map from name using a data store or router)
- Text:
📋 New task assigned: *{{5.properties.Name.title[].plain_text}}*📅 Due: {{5.properties.Due Date.date.start}}🔗 {{5.url}}
Final Result
When a meeting ends, Make automatically:
- Pulls the meeting notes doc
- Extracts every action item
- Creates a Notion task for each one
- Sends a Slack DM to each assignee
Zero manual copy-paste. Zero forgotten tasks.
Other High-Value Make + Notion Workflows
| Workflow | Trigger | Notion Action |
|---|---|---|
| Form → Notion | Typeform / Tally submission | Create database item with form answers |
| Email → Notion | Gmail label applied | Create page with email body as content |
| GitHub → Notion | Pull request merged | Update project status to "Done" |
| Notion → Slack | New database item added | Send channel message with page link |
| Notion → Google Calendar | Date property set | Create calendar event |
| Notion → HubSpot | Status changed to "Client" | Create or update CRM contact |
| RSS → Notion | New blog post published | Add to content calendar database |
Make.com vs. Zapier for Notion Automation
If you're deciding between Make and Zapier for Notion automation:
| Feature | Make.com | Zapier |
|---|---|---|
| Free tier | 1,000 ops/month, unlimited scenarios | 100 tasks/month, 5 Zaps |
| Visual builder | Full canvas with routing | Linear step editor |
| Multi-step loops | Built-in iterators | Requires paid plan (Loops) |
| Error handling | Per-module retry + error routes | Basic error Zap |
| Polling interval | 15 min (free), 1 min (paid) | 15 min (free), 1 min (paid) |
| Notion support | Full CRUD + Watch trigger | Full CRUD + Watch trigger |
| Best for | Complex multi-branch workflows | Simple 2-step automations |
Verdict: If your Notion automation has more than 2-3 steps, branching logic, or loops, Make.com is the better choice. For simple "when X, do Y" tasks, Zapier is faster to set up.
Troubleshooting Common Issues
"Database not found" error Make sure you've connected your integration to the specific database inside Notion (the Connections menu, not just the workspace). Each database must be shared individually.
Properties not appearing in the module Click the Refresh button in the property mapping area. Make caches the database schema—if you added new properties to Notion, you need to force a refresh.
Date format errors
Notion's API requires ISO 8601 format. Use Make's formatDate() function: formatDate(yourDateVariable; "YYYY-MM-DD"). For datetime with timezone: formatDate(yourDateVariable; "YYYY-MM-DDTHH:mm:ssZ").
Relation property not saving Relations require the exact page ID of the related item, not its name. Use a prior Search for Objects step to look up the page ID by name, then pass that ID into the relation field.
Watcher not triggering The "Watch Database Items" module only picks up items created after the watch was set. It also requires at least one item in the database at setup time so Make can read the schema.
Connect Make.com to Notion using an Internal Integration Token from notion.so/my-integrations. Share your databases with the integration, then use Make's Notion modules (Create a Database Item, Update a Page, Watch Database Items) to build automated workflows triggered by other apps like Gmail, Google Calendar, Typeform, or Slack.
Yes. The 'Create a Database Item' module in Make.com creates new pages inside any Notion database. You can map dynamic values from a trigger (form submissions, emails, calendar events) to any Notion property type—title, date, select, checkbox, rich text, and more.
Yes, via the 'Watch Database Items' module. Make polls your Notion database on a schedule (every 15 minutes on the free plan, every 1 minute on paid plans) and triggers a scenario whenever new items are detected. True real-time webhooks are not available because Notion's API does not natively support them.
Make.com supports all standard Notion property types: title, rich text, number, select, multi-select, date, checkbox, URL, email, phone, relation, people, files, formula (read-only), rollup (read-only), and created/last edited metadata. Formula and rollup properties can only be read, not written.
Make.com's free plan includes 1,000 operations per month and supports unlimited scenarios. Basic Notion workflows (create a page, update a property) use one or two operations per run. For a team running 50 meetings a month with 5 action items each, that's roughly 500 operations—well within the free tier. Upgrade to a paid plan if you need sub-minute polling, more operations, or advanced features like custom variables.
Both support Notion CRUD operations and watch triggers. Make.com has a better free tier (1,000 ops vs. 100 tasks), a visual canvas editor, and native support for loops and iterators—making it better for complex multi-step workflows. Zapier is faster to configure for simple two-step automations and has a larger template library. For Notion workflows with branching logic or loops, Make.com is the stronger choice.
Start Automating Your Notion Workspace
Make.com and Notion are one of the most popular automation pairs precisely because the combination covers the full loop: external events flow into your knowledge base, updates propagate back out to your team, and nothing falls through the cracks.
Create your free Make.com account and build your first Notion scenario in under 15 minutes. The free tier is generous enough to cover most individual and small-team workflows.
If you want to extend your automation further—like scraping competitor data into Notion or building AI-powered knowledge bases—check out how Apify can feed structured web data directly into your Make + Notion pipelines.
