Productivity

Notion

A Notion integration connects a Notion public connection to Mobius through OAuth so loops can search, read, create, and update Notion pages, databases, blocks, and comments, then react when Notion sends change events.

Use Notion when run output should land in a workspace knowledge base or when a loop needs to read structured database entries before taking action.

Capability map

CapabilityValue
Provider IDnotion
Auth kindoauth2_user
Connect flowNotion OAuth public connection
ActionsYes
EventsYes
Webhook deliveryYes
Event samplesNo
Live statusNo

Connect Notion

SurfaceSupport
AppOpen Govern > Integrations, choose Notion, and click Continue with Notion.
CLIThe mobius CLI does not connect Notion integrations yet. Use the app or API.
APICall POST /v1/projects/{project}/integrations/providers/notion/connect with {}, then send the browser to the returned redirect_url.

Set the Notion OAuth redirect URI to:

{NOTION_APP_BASE_URL}/v1/provider/notion/callback

NOTION_APP_BASE_URL defaults to API_BASE_URL, then APP_BASE_URL. In production this should be the API origin, for example https://api.mobiusops.ai. After the Notion consent screen, Mobius stores the OAuth access and refresh tokens for the project.

Share each Notion page or database with the connection during the Notion authorization flow. Mobius can only read and write objects the authorized connection can access.

Receive Notion events

Mobius receives Notion events through the provider webhook endpoint. Notion does not expose subscription creation through the OAuth token, so you create the subscription in Notion and paste the Mobius URL.

  1. In Mobius, connect Notion with OAuth.
  2. Copy the Webhook endpoints URL from the Notion integration page.
  3. In the Notion developer portal, open your connection and click Webhooks.
  4. Create a subscription with the Mobius URL and select the event types your loops need.
  5. When Notion sends the verification callback, Mobius stores the verification token for signature validation and shows it on the integration page.
  6. In Notion, click Verify, paste the verification token from Mobius, and confirm the subscription.

Your Notion subscription now delivers signed callbacks to Mobius. Aggregated events such as page.content_updated can take up to a minute to arrive. Treat the verification token as a signing secret. If it leaks, delete and recreate the Notion webhook subscription.

Actions

notion.block.append
notion.comment.create
notion.database.query
notion.page.create
notion.page.get
notion.page.update
notion.search

Use notion.search to resolve page and database IDs before writing. Use notion.database.query when a run needs a filtered set of records.

Events

Mobius emits these Notion events:

notion.comment.created
notion.comment.deleted
notion.comment.updated
notion.data_source.content_updated
notion.data_source.created
notion.data_source.deleted
notion.data_source.moved
notion.data_source.schema_updated
notion.data_source.undeleted
notion.database.content_updated
notion.database.created
notion.database.deleted
notion.database.moved
notion.database.schema_updated
notion.database.undeleted
notion.page.content_updated
notion.page.created
notion.page.deleted
notion.page.locked
notion.page.moved
notion.page.properties_updated
notion.page.undeleted
notion.page.unlocked

Notion webhook payloads are lightweight signals. Use the entity ID from the event payload with notion.page.get, notion.database.query, or another Notion action when a loop needs the latest content.

Next