Home
Contact Us

What I Learned Debugging Claude and Notion in Slack for a Morning | How to Connect Claude Tag to Notion

We asked Claude to archive completed tasks in our team’s Notion database. It should have taken five minutes. Instead, it took a morning — because “connecting an AI tool to Notion” turned out to be several separate systems that all had to agree, and each one failed with the exact same generic error.

A network block silently rejected every call to Notion’s API — no credential error, because the request never arrived. Once fixed, we found that enabling a connector org-wide doesn’t grant anyone access — each person still has to authenticate individually. Then we mixed up two entirely different connection methods (personal OAuth vs. a manual integration token), which both throw the same “invalid token” error when used wrong.

The real culprit took longest to find: a technically valid token, scoped to the wrong Notion workspace. It passed every check and still couldn’t see our data.

By late morning, we had one correctly-scoped token, tested directly against Notion’s API before handing it to Claude. It worked on the first try.

Here’s what we wish we’d known going in.

How to Connect Claude Tag to Notion

1. Enable the Notion connector at the org level.
Path: Organization Settings → Connectors → Browse Connectors → Notion → “Add to your team.”
Requires: Owner or Admin role.
Result: Notion becomes available as an option. No one has access yet.

2. Generate a Notion integration token.
Path: app.notion.com → Developers → Connections → New connection. Set Authentication method to “Access token.” Under “Installable in,” select your team’s workspace explicitly. If the workspace dropdown is empty, the logged-in account is not an owner of that workspace — have an actual workspace owner create the connection instead. Click “Create connection” and copy the generated secret immediately — it is shown once only.

3. Verify the token independently before using it anywhere.
Run, as a single line with no breaks:

curl https://api.notion.com/v1/users/me -H "Authorization: Bearer YOUR_TOKEN" -H "Notion-Version: 2022-06-28"

Check the response for "workspace_name" — confirm it matches your team’s workspace, not a personal one. A 200 response with the wrong workspace name still means it won’t work for your actual data.

4. Add the connector in Claude Tag and connect it — two ways to get here.

Either path lands you on the same screen: “Connect Notion,” with “Recommended” and “Advanced” tabs, and a field labeled “Claude’s integration secret.” Paste the token you verified in Step 3 into that field. This field expects a Notion integration token (ntn_... or secret_...) — not an Anthropic API key and not a personal OAuth login. Mixing these up is the single most common failure point, and it produces the same generic “invalid token” error regardless of which wrong credential was used.

Then click Connect. Don’t route the token through intermediate chat windows or documents first — each hop risks introducing invisible corruption (line breaks, smart quotes) that causes a valid token to fail silently.

5. Share the specific page or database with the integration.
In Notion, open the target page → “…” menu → Connections → add your integration by name. This step is easy to overlook, but it’s not optional — a Notion integration cannot see any content that hasn’t been explicitly shared with it, no matter how valid or correctly-scoped the token is.

6. Test in a completely fresh session.
A new Slack thread (top-level message, not a reply), a new claude.ai chat, or a new terminal session — not a continuation of one that predates the fix. Connector changes frequently don’t apply retroactively to sessions already in progress.

Quick diagnostic checklist if it’s still not working:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *