Skip to main content

Make.com + Notion: Sync and Automate Your Knowledge Base

· 12 min read
Yassine El Haddad
Software Developer & Automation Specialist

I build production AI agents, web scrapers, and automation pipelines. Most of what I publish here comes from the actual problems they run into: proxies that get banned, anti-bot stacks that fingerprint your client, RAG that drifts when the underlying data moves. Stack: Python, TypeScript, Go, FastAPI, LangChain, Crawlee, Playwright, deployed on AWS, GCP, and Cloudflare.

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:

  1. A Make.com account (free tier works for all examples below)
  2. A Notion account with at least one database (not just a page—a full database with properties)
  3. 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.

  1. Go to https://www.notion.so/my-integrations
  2. Click "New integration"
  3. Give it a name (e.g., Make Automation) and select the workspace
  4. Under Capabilities, enable:
    • Read content
    • Update content
    • Insert content
  5. 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.

  1. Open the Notion database you want to automate
  2. Click the "..." menu in the top right → Connections
  3. Find your integration name and click Connect

Add the Notion Module in Make.com

  1. Log in to Make.com and click Create a new scenario
  2. Click the "+" button and search for Notion
  3. Select any Notion action (e.g., Create a Database Item)
  4. In the connection panel, click Add → paste your Internal Integration Token
  5. 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:

FieldWhat to set
ConnectionYour Notion connection
Database IDPaste the database ID from the Notion URL (the 32-character string after the last /)
PropertiesMap 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 TypeMake Input
TitlePlain text string
Text (rich text)Plain text or markdown
SelectThe exact option name as a string
Multi-selectArray of option names
DateISO 8601 date string (2026-03-15)
CheckboxBoolean (true / false)
PersonNotion user ID (requires a separate lookup)
RelationArray 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"

  1. Add a Notion → Update a Page module
  2. Set the Page ID — you can pass this dynamically from a previous module (e.g., the output of a "Search for Objects" module)
  3. 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"

  1. Add Notion → Watch Database Items as the first module (triggers are always first)
  2. Select your database
  3. 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 ID
  • properties — all property values of the new/updated item
  • created_time and last_edited_time
  • url — 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:

  1. Pulls the meeting notes doc
  2. Extracts every action item
  3. Creates a Notion task for each one
  4. Sends a Slack DM to each assignee

Zero manual copy-paste. Zero forgotten tasks.


Other High-Value Make + Notion Workflows

WorkflowTriggerNotion Action
Form → NotionTypeform / Tally submissionCreate database item with form answers
Email → NotionGmail label appliedCreate page with email body as content
GitHub → NotionPull request mergedUpdate project status to "Done"
Notion → SlackNew database item addedSend channel message with page link
Notion → Google CalendarDate property setCreate calendar event
Notion → HubSpotStatus changed to "Client"Create or update CRM contact
RSS → NotionNew blog post publishedAdd to content calendar database

Make.com vs. Zapier for Notion Automation

If you're deciding between Make and Zapier for Notion automation:

FeatureMake.comZapier
Free tier1,000 ops/month, unlimited scenarios100 tasks/month, 5 Zaps
Visual builderFull canvas with routingLinear step editor
Multi-step loopsBuilt-in iteratorsRequires paid plan (Loops)
Error handlingPer-module retry + error routesBasic error Zap
Polling interval15 min (free), 1 min (paid)15 min (free), 1 min (paid)
Notion supportFull CRUD + Watch triggerFull CRUD + Watch trigger
Best forComplex multi-branch workflowsSimple 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.


Frequently Asked Questions

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.