> For the complete documentation index, see [llms.txt](https://docs.riff.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.riff.ai/archive/integrations-legacy-saas-connectors/native-integrations/notion.md).

# Notion

Connect **Notion** to Riff to view and edit selected pages, create sub-pages, and let agents read/write structured content. Riff handles the OAuth, stores tokens securely, and wires Notion into your apps, automations, and agents.

### What you can build (fast)

* **Knowledge ops dashboards:** status of documentation, open edits, owner SLAs.
* **Content pipelines:** intake → review → publish, with AI clean-ups and checklists.
* **Daily/weekly summaries:** post “what changed in Notion” to Slack or email.

<table data-view="cards"><thead><tr><th align="center"></th><th></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td align="center"><strong>Editorial Ops Dashboard</strong></td><td>Build a dashboard that reads Notion databases (Articles, Owners, Status, Deadlines) and charts throughput, cycle time, and overdue items. Trigger daily at 09:00 and via Refresh.</td><td></td></tr><tr><td align="center"><strong>Content Intake → Review</strong></td><td>Watch a “Submissions” database, validate required fields, assign an editor, and move items to “In Review,” leaving an AI-suggested checklist as a comment.</td><td></td></tr><tr><td align="center"><strong>Meeting Notes to Notion</strong></td><td>Ingest a transcript (upload or integration), extract decisions/action items, create a dated page under “Meetings,” and tag owners and due dates.</td><td></td></tr></tbody></table>

{% columns %}
{% column valign="middle" %}

<p align="center"><a href="https://riff.new/home?prompt-template=Build%20an%20Editorial%20Ops%20Dashboard%20that%20reads%20Notion%20databases%20%28Articles%2C%20Owners%2C%20Status%2C%20Deadlines%29%2C%20charts%20throughput%2C%20cycle%20time%2C%20and%20overdue%20items%2C%20and%20outputs%20a%20dated%20CSV.%20Trigger%20daily%20at%2009%3A00%20and%20via%20a%20Refresh%20button" class="button primary">Riff this App</a></p>
{% endcolumn %}

{% column %}

<p align="center"><a href="https://riff.new/home?prompt-template=Create%20a%20Content%20Intake%20-%3E%20Review%20automation%20that%20watches%20a%20Notion%20%27Submissions%27%20database%2C%20validates%20required%20fields%2C%20assigns%20an%20editor%2C%20moves%20items%20to%20%27In%20Review%27%2C%20and%20leaves%20an%20AI%20checklist%20comment.%20Trigger%20on%20new%20submission%20and%20on%20button" class="button primary">Riff this App</a></p>
{% endcolumn %}

{% column %}

<p align="center"><a href="https://riff.new/home?prompt-template=Create%20a%20Meeting%20Notes%20to%20Notion%20agent%20that%20ingests%20a%20transcript%2C%20extracts%20decisions%20and%20action%20items%2C%20creates%20a%20dated%20page%20under%20%27Meetings%27%2C%20and%20tags%20owners%20and%20due%20dates.%20Trigger%20on%20file%20upload%20and%20on%20button" class="button primary">Riff this App</a></p>
{% endcolumn %}
{% endcolumns %}

### Prerequisites

* Notion workspace where you can install an integration and select pages for access.
* A Riff workspace (sign-in at useriff.ai).

### Connect Notion to Riff (two easy ways)

**Let the agent drive**\
When a task needs Notion, the agent prompts you to connect. Click the link, approve scopes once, done. The agent runs a quick test and uses it in your build plan automatically.

**Add proactively**\
In your workspace, go **+ More → Integrations → Notion**, authorise, and you’re ready. Riff manages tokens, scopes, and basic checks for you.

> Tip: If an OAuth popup is blocked in the embedded preview, open your app in a new browser tab and retry the connect step.

<details>

<summary>Permissions (scopes) Riff requests in Notion</summary>

| Category            | Scope summary                                      |
| ------------------- | -------------------------------------------------- |
| Pages (view)        | View pages you select                              |
| Pages (edit)        | Edit pages you select                              |
| Content creation    | Create new content/sub-pages within selected pages |
| Workspace directory | View workspace users (names, avatars, emails)      |

{% hint style="info" %}
Riff uses OAuth; tokens are stored securely and handled by the Integrations system (no hard-coding secrets in code).
{% endhint %}

</details>

### How Riff wires Notion for you (under the hood)

* Sets up OAuth and stores tokens securely in **Secrets/Integrations**.
* Adds minimal scopes, verifies them, and runs a simple test action.
* Exposes Notion as a service inside tasks, automations, and agents (no boilerplate).

### Security notes

* Tokens are managed by Riff’s Integrations system; you don’t paste keys into code.
* Frontend code never sees secrets; all actions run server-side.
* Keep scopes tight; Riff requests only what’s needed and validates them.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.riff.ai/archive/integrations-legacy-saas-connectors/native-integrations/notion.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
