Connect Notion to AltoRank

Notion authenticates with a internal integration token + database id that you create and can revoke yourself. Connecting it makes Notion an available destination — it does not give AltoRank permission to publish. That still takes a person approving the draft.

What you will need

Integration token
From an internal integration you create
Database ID
The 32-character id in the database URL

Setup

  1. 1 Create the credential in Notion

    Go to notion.so/my-integrations → New integration, then share the database with it. AltoRank never asks for your Notion login: you create a scoped credential there and paste it here, so revoking our access later is one click on your side and does not change how you sign in.

  2. 2 Add the connection in AltoRank

    In your workspace, open Integrations, choose Notion, and fill in integration token, database id. The connection is tested before it saves, so a wrong value fails here rather than silently at publish time.

  3. 3 Approve an article

    Nothing publishes on connection. Open a draft, read the fact-check verdict, and approve it. Only then does AltoRank call Notion. You can also turn on automatic publishing for the workspace, which ships after a hold you can veto; either way there is no agent route around the approval.

What approving does in Notion

On approve
Creates a page in the database, with the body converted from HTML to Notion blocks: paragraphs, headings and list items.
On unpublish
Archives the page.

Fields Notion receives

The connector writes to these names exactly. They have to exist on the destination before the first publish.

Name
receives the title (the database’s title property)
Slug
receives the slug (a text property)

Worth knowing

  • Creating the integration is not enough: you also have to share the specific database with it from the database’s own menu, or every write returns a permission error.
  • The database needs a text property called Slug next to its Name title. The write fails if it is missing.
  • The conversion keeps paragraphs, h1 to h3 and list items as plain text and stops at Notion’s limit of 100 blocks per request, so a long article is truncated and inline links and bold are dropped. Notion is a staging destination, not a publishing one.

The adapter behind this page is apps/web/lib/cms/notion.ts . If this page and that file disagree, the file is right and the page has a bug.

Common questions

Does AltoRank publish to Notion automatically?

Only after a person approves the specific draft. Connecting Notion removes the copy-and-paste step; it does not hand over the decision. The publish path requires an approval recorded under a person, by click or by the rule they set, and the MCP server exposes no publish tool, so this holds even when an AI agent is driving the product.

What Notion credentials does AltoRank need?

Integration token, Database ID. Internal integration token + database ID. Nothing else, and never your Notion account password.

Can I publish to Notion as a draft instead of live?

Not from AltoRank: the review happens here, before anything is sent, so approving is the act of publishing. On approve, Creates a page in the database, with the body converted from HTML to Notion blocks: paragraphs, headings and list items. If you want a staging destination, connect Notion as well and approve there first. Unpublishing is available afterwards: Archives the page.

Can I revoke access without breaking my site?

Yes. The credential is created in Notion and revoked there, independently of your login. Revoking it stops AltoRank publishing and changes nothing else. Articles already published stay where they are: they are ordinary content on your platform, not embeds pointed at us.

Can I use Notion on the self-hosted version?

Yes. Self-hosting is the same product under an open-source licence with no feature gates, so every connector works and your credentials never leave your own infrastructure. The adapter is apps/web/lib/cms/notion.ts in the repository.

Be the site the assistant names.

Add a domain and the first draft is written while you watch. Every publish is your decision, a click on the draft or a rule you set and can hold, and you can read the source or self-host it free.

Add a domain, it sets up your workspace