Notion logo

Notion Integrations

Knowledge management · 30 Triggers · 7 Actions

Automate work across your stack

Put Notion at the center of your automated work

React to pages, data sources, databases, comments, files, and views and automate Notion content.

  • ✓Visual Workflow builder
  • ✓Schema-aware field mapping
  • ✓Retries and failure recovery
  • ✓Run audit and observability
  • ✓Reusable connected accounts
  • ✓Triggers, Actions, filters, and Paths

Connect your stack

Pair Notion with another app

Choose an app with published templates, or create a Workflow manually.

Apps with published templates

Notion logoNotion + FastHook + your tools

Ready-made Notion Workflows

Browse all templates →

Stripe · Notion

Create Notion review pages for failed Stripe payments

Keep a review page in Notion for each failed Stripe PaymentIntent attempt. Select an accessible parent with Browse; the new child page records PaymentIntent ID, attempted amount in Stripe minor units, currency, event Unix seconds, live mode and Event ID, followed by three follow-up prompts. Each failed attempt creates its own page, including repeat failures for the same PaymentIntent. Check current status in Stripe before taking action: a later retry may already have succeeded. Amounts are not converted; 2900 EUR means 29.00 EUR, while 2900 JPY means 2900 JPY. Includes a fictional English Würzburg workshop example with German characters. Earlier failures are not imported and later success does not update or close the page. Customer contacts, card details, client secrets, raw errors and metadata are excluded. Pages inherit parent access. Creates child pages, not database items or invoice dunning schedules. This workflow does not retry payments, issue refunds or contact customers. Test in Stripe sandbox first. Manual reruns can duplicate pages.

  1. 1. Stripe · Payment Intent Payment Failed
  2. 2. Notion · Create the failed payment review page
View template →Use template

Stripe · Notion

Create Notion review pages for new Stripe refunds

Track each new Stripe refund in a Notion child page under a parent selected with Browse. Records the refund ID, individual refund amount in Stripe minor units, currency, status at creation, event time, live mode and event ID, followed by three review prompts. Two partial refunds create separate pages with their individual amounts, not the payment's cumulative refunded total. A refund.created event can be pending; creation does not confirm that the customer has received the money. Check current status in Stripe. Interpret minor units using the currency: 1000 EUR means 10.00 EUR, while 1000 JPY means 1000 JPY. Includes a fictional English Düsseldorf workshop example with German characters. Uses child pages, not database items. Earlier refunds and later status changes are not imported or synchronized. Customer contacts, card details, refund instructions, reasons and metadata are excluded. Pages inherit parent access. Logs refunds without issuing refunds or sending messages. Test in Stripe sandbox first. Manual reruns can duplicate pages.

  1. 1. Stripe · Refund Created
  2. 2. Notion · Create the refund review page
View template →Use template

Stripe · Notion

Create Notion review pages for successful Stripe payments

Keep a Notion payment review page for each successful Stripe PaymentIntent, including payments without an invoice. Browse to a parent page; each child page records PaymentIntent ID, Amount received (Stripe minor units), Currency, Event created (Unix seconds), Live mode and Event ID, followed by a Payment review section and three reconciliation prompts. Listens only for payment_intent.succeeded; failed, pending and canceled payments do not create pages. Uses amount_received rather than the requested amount: 4900 EUR minor units means 49.00 EUR, while 4900 JPY means 4900 JPY. Check the currency before interpreting amounts. Includes its own fictional English Stuttgart workshop example with German characters. These are child pages, not database items. Existing payments and later refunds, disputes, invoice changes and bank payouts are not imported or synchronized. Success does not prove settlement in your bank or net revenue. Customer contacts, card details, client secrets and metadata are excluded. Pages inherit parent access. The template does not charge customers, issue refunds, fulfill orders or send messages. Test in Stripe sandbox first; Live mode false identifies test data. Manual reruns can duplicate pages.

  1. 1. Stripe · Payment Intent Succeeded
  2. 2. Notion · Create the payment review page
View template →Use template

Stripe · Notion

Create Notion review pages for canceled Stripe subscriptions

Open a Notion cancellation review page when a Stripe subscription actually ends. Choose a parent page through Browse; each child page records Subscription ID, final status, currency, event Unix seconds, live mode and Event ID, followed by an editable Cancellation review section and three offboarding prompts. This gives an owner a place to check outstanding obligations and record a decision before changing access. The trigger listens only for customer.subscription.deleted. Setting cancel_at_period_end schedules cancellation and emits an update; the page is created when the subscription ends. Includes its own fictional English Frankfurt ended-trial example. Ended trials and paid subscriptions are included without assuming voluntary churn or lost revenue. The event timestamp identifies the termination notification, not an earlier cancellation request. Review current Stripe details and your retention policy before acting. Multiple prices are supported without inferring MRR from the first item. This creates child pages, not database items or updates to onboarding pages. Existing cancellations and later changes are not imported or synchronized. Customer contacts, cancellation feedback and comments, payment details and metadata are excluded. Pages inherit parent access. The workflow does not cancel subscriptions, issue refunds, revoke access or contact customers. Test in Stripe sandbox first; Live mode false marks test data. Manual reruns can duplicate pages.

  1. 1. Stripe · Customer Subscription Deleted
  2. 2. Notion · Create the subscription offboarding review page
View template →Use template

Stripe · Notion

Create Notion onboarding pages for new Stripe subscriptions

Create a dedicated Notion onboarding page when a Stripe subscription is created. Connect Stripe and Notion, then browse to a parent page your Notion integration can access. Each child page contains Subscription ID, status at creation, currency, event Unix seconds, live mode and Event ID, plus editable Onboarding notes and three prepared review prompts. This gives an onboarding owner a place to record an agreed plan before provisioning access. Listens only for customer.subscription.created and includes its own fictional English Leipzig studio trial example. Trials and incomplete subscriptions also produce pages: creation is not proof of payment or entitlement. Review current subscription status in Stripe and apply your access policy before granting anything. Subscriptions may have multiple prices; no first-item total or MRR is inferred. This is a creation snapshot, not a synchronized subscriber database. Existing subscriptions, renewals, later changes and cancellations are not imported or synchronized. Customer contacts, private descriptions, payment details and metadata are not copied. Pages inherit parent access. The workflow does not create subscriptions, charge customers, send messages or grant access. Test in Stripe sandbox first; Live mode false identifies test events. Manual reruns can create duplicate pages.

  1. 1. Stripe · Customer Subscription Created
  2. 2. Notion · Create the subscription onboarding page
View template →Use template

Stripe · Notion

Create Notion pages for paid Stripe invoices

Keep a Notion child page for each new invoice.paid event from Stripe. Connect Stripe and Notion, then browse to an accessible parent page. Each page title contains the invoice number and Stripe invoice ID; its prepared content records Invoice ID, Amount paid in Stripe minor units, Currency, Event created in Unix seconds, Live mode and Event ID, followed by Reconciliation notes. This gives your team a place to review an invoice event and add internal notes. Includes a fictional English Frankfurt workshop example. Only events received after activation are processed; existing invoices, later edits and refunds are not imported or synchronized. Amounts stay in original minor units: 1900 EUR means 19.00 EUR, while 1900 JPY means 1900 JPY. Zero-value invoices are supported. Invoice Paid can also mean customer balance or a payment recorded outside Stripe; it does not prove a new card charge or bank payout. Customer contact information, billing addresses, card details, invoice PDFs, hosted invoice URLs and metadata are not copied. Pages inherit access from the selected Notion parent. This creates child pages, not database rows or a full accounting ledger. Test with a fictional Stripe sandbox invoice first. Manual reruns can create another page.

  1. 1. Stripe · Invoice Paid
  2. 2. Notion · Create the paid invoice review page
View template →Use template

Slack · Notion

Save Slack notes as Notion pages

Save Slack messages containing [Notes] as Notion child pages for your team knowledge base. Connect Slack and Notion, choose the Slack channel to watch, then browse to a parent page accessible to the Notion connection. The [Notes] keyword is prefilled and matched anywhere without case sensitivity. Bot messages are ignored. Each page includes the message text, author ID, message timestamp, a clickable source channel link and a Follow-up section. The page title is Slack note plus the message timestamp. Use short notes up to 2000 characters, including the marker, to fit the Notion text-block limit. Slack mentions and formatting are preserved as source text rather than converted. Includes its own fictional English Leipzig workshop note. Add FastHook to the source Slack channel before activation. Leaving Channels empty watches every channel accessible to the connection. Matching human thread replies also create pages; edits, deletions and historical messages are not synchronized. Files and thread history are not copied. This creates child pages, not database rows. Message text becomes visible to people with access to the selected parent page. Manual reruns can create duplicates.

  1. 1. Slack · New Keyword Mention
  2. 2. Notion · Save the Slack note
View template →Use template

GitHub · Notion

Create Notion pages for published GitHub releases

Keep a release journal in Notion: create a child page when a GitHub release is published. Each page includes the release tag and optional title, repository, author, publication time, pre-release flag, clickable GitHub link, and Review notes and Follow-up sections. Connect the FastHook GitHub App and Notion, browse to the repository to track, then choose an accessible parent Notion page. The Actions filter is prefilled with published. Both stable releases and published pre-releases are included. Draft releases, edits and deleted releases do not create pages. Includes an independent fictional English release example. Release notes, assets and source code are not copied. Only new publication events after activation are processed; existing releases are not imported. This creates child pages, not database rows or deployment verification, and does not synchronize later changes. Page details become visible to people with access to the selected parent. Manual workflow reruns or unpublishing and republishing a release can create duplicates.

  1. 1. GitHub · Release
  2. 2. Notion · Create a release journal page
View template →Use template

GitHub · Notion

Create Notion review pages for new GitHub pull requests

Create a Notion review page when a GitHub pull request is opened. Each child page includes the PR title and number, repository, author, source and target branches, a clickable GitHub link, and Review notes and Follow-up sections. Connect the FastHook GitHub App and Notion, browse to the repository to track, then choose an accessible parent Notion page. The Actions filter is prefilled with opened. Draft PRs are included. Edits, new commits, reviews, closed and reopened PRs do not create another page. Includes an independent fictional English example with German characters. Only new webhook events received after activation are processed; existing PRs are not imported. This is one-way child page creation, not database rows, reviewer assignment or status synchronization. PR bodies, code changes, comments and attachments are not copied. Page details become visible to people with access to the selected Notion parent. Manual workflow reruns can create duplicates.

  1. 1. GitHub · Pull Request
  2. 2. Notion · Create a Notion pull request review page
View template →Use template

HubSpot · Notion

Create Notion follow-up pages for new HubSpot contacts

Create a Notion follow-up page when a new contact is created in HubSpot. Connect HubSpot and Notion, then browse to an accessible parent page. Each child page includes the contact ID, a direct link to its HubSpot record and editable Overview, Notes and Follow-up sections. Uses the visual page content editor. Only contact.creation events received after activation are processed; existing contacts, later edits, merges and deletions are not imported or synchronized. Creation webhooks provide record IDs, not the full contact profile, so names and email addresses are not copied. Opening the CRM link requires existing HubSpot access. Includes its own fictional contact-created example. Access follows the selected Notion parent; choose one appropriate for CRM notes. This creates child pages, not database rows, and does not contact the person or change CRM permissions. Test with a fictional contact first.

  1. 1. HubSpot · Contact Creation
  2. 2. Notion · Create a CRM follow-up page
View template →Use template

Stripe · Notion

Create Notion onboarding pages for new Stripe customers

Create a customer onboarding page in Notion when a new Stripe customer is created. Connect Stripe and Notion, then browse to an accessible parent page. Each child page title includes the customer name, email and Stripe customer ID, followed by Onboarding, Notes and Follow-up sections ready for your team. Customer ID identifies the page even when name or email is missing. Includes its own fictional English sandbox example with German characters. Only customer.created events after activation are processed; historical customers and later edits are not imported or synchronized. Creating a customer does not confirm a payment or subscription. No payment details, addresses, tax IDs, descriptions or metadata are copied. Access follows the selected Notion parent, so choose one appropriate for customer contact information. This creates child pages, not database rows. Test with a fictional Stripe sandbox customer first.

  1. 1. Stripe · Customer Created
  2. 2. Notion · Create customer onboarding page
View template →Use template

Gmail · Notion

Create Notion notes for matching Gmail emails

Capture important emails as Notion notes. New inbox messages matching the prefilled Gmail search subject:"[Notes]" create a child page with the subject, a clickable Gmail conversation link and Summary, Notes and Follow-up sections. Connect Gmail and Notion, review the search query, then browse to an accessible parent Notion page. Includes its own fictional English project email with German characters. Only newly received matching inbox messages are processed; historical messages and later label changes are not imported. Each matching message creates a page, including replies that still match the search. This is one-way note creation, not email synchronization or a database-row import. Email bodies, sender addresses and attachments are not copied. The Gmail link requires access to the connected mailbox; select that account if you use several Google accounts. Page access follows the selected Notion parent. The template does not reply, forward, label or delete emails.

  1. 1. Gmail · New Email Matching Search
  2. 2. Notion · Create email notes page
View template →Use template

Google Sheets · Notion

Create Notion project pages from new Google Sheets rows

Turn a spreadsheet project intake list into Notion project pages. Put Project in row 1 and append one complete project name per row. Each child page uses that name and includes a clickable source spreadsheet link plus Overview, Tasks and Notes sections. Connect Google Sheets and Notion, browse to the spreadsheet and worksheet, then choose an accessible parent Notion page. Activate and allow the first poll to establish a baseline before adding rows. Only newly appended rows are processed; existing rows and later edits are not imported or synchronized. Keep the Project header unchanged and do not delete or reorder rows while active. A non-empty Project value is required. Separate rows create separate pages even when project names match. Includes its own fictional English project example with German characters. Only the project name and source link are copied, not other columns or attachments. This creates child pages rather than database rows and does not write page links back to the sheet. Page access follows the selected Notion parent.

  1. 1. Google Sheets · New Row Added
  2. 2. Notion · Create project brief
View template →Use template

Google Drive · Notion

Create Notion review pages for new Google Drive files

Build a document review library in Notion whenever a new file is created in Google Drive. Each child page includes the file name, a clickable Drive link and Review, Notes and Action items sections. Connect Google Drive and Notion, browse to the folder to watch, then select an accessible parent Notion page. Leaving the folder empty watches the connected Drive. Only direct children of the selected folder are monitored; subfolders are not scanned. Detection uses creation time: moving an older file into the folder is not guaranteed to create a page. Polling may include files created roughly one minute before setup; older files, later edits and deletions are not synchronized. Includes its own fictional English document example with German characters. File contents, descriptions and permissions are not copied or changed. The Drive link still requires existing file access. Page access follows the selected Notion parent. This creates child pages, not database rows.

  1. 1. Google Drive · New Files
  2. 2. Notion · Create document review page
View template →Use template

Google Calendar · Notion

Create Notion meeting notes for new Google Calendar events

Prepare a Notion meeting-notes page whenever a new Google Calendar event is created. Each child page includes the event title, a clickable calendar link and Agenda, Notes and Action items sections. Connect Google Calendar and Notion, choose a calendar, then browse to an accessible parent Notion page. The primary calendar is preselected. Activate and let the first poll establish a baseline before creating events. Only events created afterwards are processed; existing events, later edits and cancellations are not synchronized. Timed and all-day events are supported. Use the calendar link for the current time and schedule; no potentially stale time is copied into the page. Includes a fictional English workshop example with German characters. Event descriptions, attendee lists, locations and attachments are not copied. Page access follows the selected Notion parent. This creates child pages, not database rows.

  1. 1. Google Calendar · New Event
  2. 2. Notion · Create a meeting-notes page
View template →Use template

GitHub · Notion

Create Notion triage pages for new GitHub issues

Create a Notion triage page when a new GitHub issue is opened. Each child page includes the issue title, repository, author and source link, plus Triage and Notes sections for your team. Connect the FastHook GitHub App and Notion, select a repository, then browse to an accessible parent Notion page. The Actions filter is prefilled with opened, so edits, comments, closed and reopened issues do not create pages. Includes a fictional English example with German characters. Only new events received after activation are processed; existing issues are not imported. This is one-way page creation, not status synchronization. Issue bodies, comments and attachments are not copied. Titles and repository details become visible to everyone with access to the selected Notion parent. This creates child pages, not database rows.

  1. 1. GitHub · Issues
  2. 2. Notion · Create a Notion issue triage page
View template →Use template

Trello · Notion

Create Notion project pages for new Trello cards

Start a project brief in Notion whenever a new card is created on your Trello board. The new page uses the card title and includes Overview, Tasks and Notes headings ready for your team to fill in. Connect Trello and Notion, select a board, and browse to the parent Notion page that the integration can access. Publish and wait for the Trello webhook to connect before creating a card; registration can take up to 15 minutes. Includes a fictional English project example with German characters. Only new card creation after activation is processed; existing cards, copies, moves and later edits are not synchronized. Card descriptions, comments and attachments are not copied. Each distinct new card creates a separate page, even when titles match. Page access follows the selected parent in Notion. This creates child pages, not database rows.

  1. 1. Trello · Create Card
  2. 2. Notion · Create a Notion project brief
View template →Use template
01

React to Notion events

Start a Workflow from selected Notion events and keep broad event catalogs narrowed to the activity your team actually owns.

02

Move data between tools

Map structured fields from Notion into downstream Actions without copying values between apps by hand.

03

Operate with evidence

Use retries, Paths, and Workflow Audit to understand every run and recover safely when a provider call fails.

Start a Workflow

Popular Notion Triggers

Choose from popular event definitions here, or open the technical reference for all 30 current Triggers.

Page Created

Instant Trigger

trigger

Page Content Updated

Instant Trigger

trigger

Page Properties Updated

Instant Trigger

trigger

Data Source Schema Updated

Instant Trigger

trigger

Comment Created

Instant Trigger

trigger

File Upload Completed

Instant Trigger

trigger
View all 30 Triggers in the technical reference →

Continue a Workflow

Popular Notion Actions

Map earlier Workflow data into a popular operation here, or view all 7 current Actions.

Create Page

Connected account

action

Create Data Source Page

Connected account

action

Update Page

Connected account

action

Append Page Content

Connected account

action

Create Comment

Connected account

action

Query Data Source

Connected account

action
View all 7 Actions in the technical reference →

FAQ

Notion automation questions

Open the technical reference →
What can trigger a Notion Workflow?

Notion currently provides 30 Trigger definitions. Popular examples include Page Created, Page Content Updated, Page Properties Updated, Data Source Schema Updated. The technical reference contains the complete current catalog.

What can FastHook do in Notion?

Notion currently provides 7 Actions, including Create Page, Create Data Source Page, Update Page, Append Page Content. Map Trigger and earlier Step data into the selected Action before activation.

How does Notion authentication work?

Connect the Notion workspace through OAuth and explicitly share required pages or data sources with the integration.

Where are Notion scopes and technical details documented?

The Notion technical reference lists authentication, current Trigger and Action definitions, permissions, setup notes, and troubleshooting guidance.

Notion logo

Put Notion at the center of your automated work

Choose a ready-made Notion Workflow, connect your accounts, and test it before activation.

Explore Notion Workflow templates