Loading tutorials…
Loading tutorials…
Notion in isolation is a doc tool. Notion connected to your stack is an ops backbone. This walks the integration patterns that actually save time, and the ones that create fragile chains of breaking automations.
Who this is forMarketing operators who already use Notion for content/CRM/wiki and want to push or pull data from Slack, Google, HubSpot, Mailchimp, GitHub, or other tools. If you have ever copy-pasted data between Notion and another tool more than twice, this tutorial is the automation guide.
What you'll need
Step 1
Each integration path has trade-offs. Native = simplest, Zapier = most popular, Make = most flexible, Notion API = most control. Pick correctly per use case.
Native Notion integrations (Slack, Google Drive, GitHub, Figma, etc.): free, built-in, simplest. Use first whenever possible.
Zapier: 7,000+ app library, friendly UI, easy to debug. Best for simple A → B flows. Cost: $20-69/mo for typical marketing teams.
Make (formerly Integromat): more powerful logic (loops, error handling, iterators), visual flow designer, cheaper at scale. Better for multi-step or conditional flows. Cost: $9-30/mo for similar scope.
Notion API (direct): full programmatic control, no per-op cost, requires developer time. Use when Zapier/Make do not fit (high volume, complex logic, security-sensitive).
Decision rule: native → Zapier (if simple + paid plan is fine) → Make (if complex logic needed) → Notion API (if real volume or custom logic justifies dev time).
Step 2
Slack, Google Drive, Google Calendar, GitHub. These are free, fast, and reliable. Start here before anything custom.
Settings & members → My Connections → Add connection.
Slack: connect your workspace. Now you can: (a) share Notion pages to Slack channels with rich preview, (b) get Slack notifications for mentions on Notion pages, (c) embed Slack messages on Notion pages.
Google Drive: connect. Now you can: (a) embed Google Docs/Sheets/Slides in Notion with live preview, (b) link directly to Drive folders from Notion pages.
Google Calendar: connect for two-way sync (introduced 2025 with Notion Calendar). Notion database dates can sync to Google Calendar events.
GitHub: connect to link PR / issue mentions to Notion pages. Useful for product / dev-adjacent marketing teams.
Each integration takes 2-3 minutes to authorize. Set them all up in one batch — Settings → My Connections → Add for each.
Step 3
A common pattern: when someone fills out a form (Typeform, Webflow form, HubSpot form), create a new Contact in your Notion CRM.
Open Zapier → Create Zap.
Trigger: pick your form tool (Typeform / Webflow Forms / HubSpot Forms / Google Forms) → New Submission event → connect account → pick the specific form.
Action: Notion → Create Database Item → connect your Notion workspace (authorize Zapier to access the Contacts database) → pick the database → map fields (Email from form → Email property in Notion, etc.).
Test the Zap with a real form submission. Verify the row appears in Notion correctly.
Turn on the Zap. Now every form submission creates a Notion record automatically.
Add a Slack notification action (optional): Slack → Send Message → channel: #sales-leads → message: 'New lead: {Name} from {Company}.' Keeps the team aware in real time.
Step 4
When Zapier feels limited (need loops, conditionals, or multi-step branches), Make handles the complex case.
Common Make use case: When a deal in Notion CRM moves to Closed Won, create a customer onboarding project in Notion AND send a welcome email via Mailchimp AND post to #wins Slack channel.
Open Make → Create new scenario.
Module 1: Notion → Watch Database Items → pick the Deals database → filter for Status = Closed Won.
Module 2: Notion → Create Database Item → pick the Onboarding Projects database → map fields from the deal.
Module 3: Mailchimp → Add Subscriber → map email + name from deal.
Module 4: Slack → Create Message → channel #wins → message text from deal info.
Add error handling: right-click each module → Add error handler → email yourself if anything fails. This is what makes Make resilient vs Zapier's silent failures.
Schedule the scenario: every 5-15 minutes is typical. Save and activate.
Step 5
Notion Calendar (formerly Cron, now bundled) is a desktop app that unifies your Google/Outlook calendars + Notion database dates into one view.
Download Notion Calendar (calendar.notion.so or via Notion app menu).
Sign in with your Notion account. Connect Google Calendar (multiple accounts supported) and / or Outlook.
From any Notion database with Date properties, you can drag items into the calendar view. Calendar then shows all your meetings + Notion-scheduled work in one place.
Time-block from Notion: in the database, set a Date with start + end time → drag the item onto the calendar → time block created in your calendar.
This is the highest-leverage calendar workflow for marketers who live in Notion: meetings, content deadlines, and campaign launches in one timeline.
Step 6
Like the Automation Registry from Monday/Zapier ops: a 1-page doc listing every active integration, what it does, who owns it, and what depends on it.
Create a page 'Integration Registry' under SOPs & Playbooks.
Table: Integration Name, Type (Native / Zapier / Make / API), What It Does, Trigger, Action, Owner, Cost per month, Last verified.
Document EVERY integration: Slack-Notion native, Zapier 'form to CRM', Make 'deal won onboarding flow', Notion API custom script, etc.
Without this registry, integrations become tribal knowledge. When they break, nobody knows what depends on what. With it, you can answer 'what runs when a deal closes?' in 30 seconds.
Review quarterly. Decommission integrations that have not fired in 90 days. Re-authenticate expired connections (Zapier / Make connections expire every 90-180 days).
Step 7
Integrations break silently — expired tokens, changed schemas, hit rate limits. A weekly check prevents weeks of broken automation.
Zapier: Zap Activity tab → filter to Errors in last 7 days. Review each failure.
Make: Scenario history → filter to errors → click into each error for stack trace.
Native Notion integrations: Settings → My Connections → check for 'Reconnect needed' warnings.
Schedule the check: Friday afternoon, 15 minutes. Fix failures, re-authenticate where needed.
Most critical: integrations touching customer data (lead capture, customer notifications). A 2-week broken lead-capture Zap = 50 lost leads at typical SMB volume = $5-25K in lost pipeline.
Common mistakes
Paying Zapier $50/mo for what native does for free
What goes wrong: 8 Zaps between Notion and Slack at $40-50/mo when native Notion-Slack does the same job. ~$600/yr wasted + extra latency on every event.
How to avoid: Check Settings → My Connections first. Use native integrations wherever they exist. Reserve Zapier/Make for what native cannot do.
No Integration Registry — tribal knowledge only
What goes wrong: Person who built the integrations leaves. Nobody knows which Zaps exist, what they do, or what depends on them. Integrations break silently and the team only notices when a customer says 'I never got your follow-up.' Lost customer trust + lost pipeline: $10-30K per incident.
How to avoid: Build the Integration Registry. Document every integration with owner, what it does, what it depends on. Update as you add or remove.
Form-to-CRM Zap without de-dupe logic
What goes wrong: Same lead fills the form twice → two duplicate rows in Notion CRM. Sales team contacts them twice. Lead reports 'you guys spammed me.' Lost deal + reputational damage: $5-25K per incident.
How to avoid: Zapier: add a Filter step before the Create action — only create if email does not already exist in Notion. Or use Zapier paths to UPDATE existing rows instead of creating new ones.
Zapier 'silent failures' going unnoticed for weeks
What goes wrong: Zap fails (expired auth, hit rate limit, schema change). Zapier shows it in the Activity log but nobody checks. Two weeks of broken lead capture = 50-100 lost leads = $5-50K in lost pipeline depending on close rate.
How to avoid: Friday weekly check of Zapier Activity. Set up Zapier's 'failure email' notification on critical Zaps so failures auto-alert.
Building Zapier chains that depend on data Notion does not have yet
What goes wrong: Zap triggers on 'Notion row created' but tries to use fields that the user fills in 5 minutes later. Action runs with empty fields → garbage downstream data. Cleanup cost: 2-4 hrs of manual fixes per week = $5-15K/yr.
How to avoid: Trigger on a meaningful state change (e.g., Status = "Approved"), not on row creation. By the time someone changes status, all required fields should be filled.
Notion API integrations built without rate-limit handling
What goes wrong: Custom script hits Notion's 3 requests/second rate limit, fails silently, partially syncs data. Inventory database is half-updated. Reports run on stale data, decisions made on bad information: $10-30K of wrong calls.
How to avoid: Notion API: respect the 3 req/s limit. Build retries with exponential backoff for 429 errors. Log every API call with success/fail. Use the official Notion SDKs which handle this for you.
Recap
Done — what's next
How to build a Notion CRM that works for a small team (and when to stop)
Read the next tutorial
Hand it off
Integrations are where Notion stops being a tool and starts being a backbone. They are also where small mistakes compound silently. A specialist will audit your current integrations, recommend native-where-possible, build the Zaps/Make scenarios with proper de-dupe + error handling, and document the registry. One-shot integration audits + builds run $300-700; ongoing automation ops support runs $400-1,200/mo at $14-16/hr.
See specialist rates
Zapier: easier learning curve, larger app library (7,000+), better support. Best for simple A → B flows. Make: more flexible (loops, branching, error handling), cheaper at scale, steeper learning curve. Best for multi-step flows with conditional logic. Many teams use Zapier for simple Zaps and Make for the complex ones.
Native Notion integrations: free (included in any paid Notion plan). Zapier: $20-69/mo for typical marketing teams (volume + multi-step Zaps push price up). Make: $9-30/mo for similar scope. Custom Notion API: $0 in tool cost, but developer time at $50-200/hr.
3 requests per second per integration. This is the hard cap for custom API integrations. For most workflows this is fine; for high-volume syncs (e.g., importing 10,000 records), you need to batch and respect the limit or you will hit 429 errors.
Not natively. Tools like Whalesync, Unito, and Bidirectional Connector for Notion + HubSpot offer bidirectional sync as a paid service ($30-100/mo). For unidirectional (HubSpot → Notion for reporting), Zapier or Make work fine. True bidirectional CRM sync is harder than it looks — accept latency and de-dupe issues, or stay unidirectional.
Three patterns: (1) trigger on specific status changes, not 'row updated' (status only changes intentionally), (2) add a 'last synced timestamp' property and only sync if updated more recently than this, (3) flag synced rows with a 'created by automation' property and skip those in the trigger filter.
Notion
Notion as CRM works at small scale and stops working at medium scale. This walks the right build pattern, the rollups that make it useful, and the honest signals that tell you it is time to move to HubSpot or Pipedrive.
Notion
Notion AI is bundled into every paid plan in 2026 — but using it well is a craft. This walks the marketing use cases where it actually saves hours, and the ones where it just generates polished slop.
Notion
Notion looks easy. Running a real ops system in Notion is not. This walks the honest signals that you have crossed the line from 'DIY is fine' to 'this is costing more than help would.'