# How to connect Notion to Grok Bot (no API keys)

> Connect Notion to Grok Bot with ClawLink in one click — 45 tools your AI agent can call from chat via hosted OAuth. No API keys, no manual setup.

Web version: https://claw-link.dev/grokbot/notion

Grok Bot runs on its own cloud computer, so most Notion guides send you to register an OAuth app and paste keys into a sandbox that resets. ClawLink gives Grok Bot a more practical Notion setup: it runs one CLI command, you approve once in the browser, and Grok Bot can call real Notion actions from chat with no auth, token refresh, or tool wiring to build yourself.

**Start here — paste this into Grok Bot to set up ClawLink:**

> Set up ClawLink for me and tell me when it's ready.
> 1. Pair this machine. It prints an approval link, so show me the link and stop, don't wait: `npx -y @useclawlink/cli login`
> 2. I'll approve it in my browser, then reply "approved".
> 3. When I say approved, connect the app: `npx -y @useclawlink/cli connect notion`
> 4. Then run `npx -y @useclawlink/cli whoami` and tell me whether ClawLink is ready.

## Setup

It takes three steps to connect Grok Bot to Notion.

1. **Pair from the terminal** — ask Grok Bot to run `npx -y @useclawlink/cli login` and approve the link it prints.
2. **Connect Notion** — `npx -y @useclawlink/cli connect notion`, then approve in the browser.
3. **Use it from chat** — ask Grok Bot in plain English.

**The same CLI works from any agent with shell access:**

```bash
npx -y @useclawlink/cli login          # sign in via browser — no API key to paste
npx -y @useclawlink/cli connect notion  # connect Notion (browser OAuth)
npx -y @useclawlink/cli actions notion  # list available actions
npx -y @useclawlink/cli run notion <action> --input '<json>'  # execute (add --confirm for writes)
```

### Install by command

The prompt above does all of this. By hand, it is two commands Grok Bot runs in its own terminal, and one browser approval:

```bash
npx -y @useclawlink/cli login          # prints an approval link, approve it in your browser
npx -y @useclawlink/cli connect notion
```

Pair once and it sticks: the key is written to ~/.clawlink/credentials.json inside Grok Bot's sandbox, so it survives between sessions. Prefer native tools over shell commands? Add `https://claw-link.dev/api/mcp` as a custom connector at grok.com/connectors and approve the ClawLink sign-in. Same account, no CLI.

Verify the connection by asking Grok Bot:

> Create it in Notion for me, then confirm the important fields before you finish.

### Using a different agent?

The CLI above is not specific to Grok Bot. Claude Code, Cursor, Codex, or any agent that can run a shell command pairs with the same ClawLink account the same way:

```bash
npx -y @useclawlink/cli login
```

`login` opens the same browser approval and stores a credential locally. Once Notion is connected in the dashboard, that agent calls the same 45 Notion tools over MCP. Full setup for MCP clients and shell agents: [connect apps to any AI agent](https://claw-link.dev/learn/connect-apps-to-any-ai-agent).

## Notion MCP for Grok Bot

Looking for a Notion MCP server for Grok Bot? ClawLink connects Notion to Grok Bot and exposes 45 Notion tools your agent can call over [MCP](https://claw-link.dev/learn/what-is-an-mcp-server), with [hosted auth](https://claw-link.dev/learn/oauth-for-ai-agents) and nothing to run or maintain yourself. Using a different agent? The [OpenClaw Notion integration](https://claw-link.dev/openclaw/notion) and the [Hermes Notion integration](https://claw-link.dev/hermes/notion) connect the same ClawLink account the same way.

## What the Grok Bot Notion integration can do

45 Notion tools are ready for Grok Bot once the account is connected. The 30 below are the ones people reach for most; your agent can call all 45.

### 30 of 45 Notion tools for Grok Bot

| Tool | What it does |
|---|---|
| **Create comment** `notion_create_comment` | Create a comment on a Notion page or discussion |
| **Create database** `notion_create_database` | Create a new Notion database |
| **Duplicate page** `notion_duplicate_page` | Duplicate a Notion page |
| **Query database** `notion_query_database` | Query a Notion database |
| **Retrieve page** `notion_retrieve_page` | Retrieve a Notion page by ID |
| **Update block** `notion_update_block` | Update a Notion block |
| **Update page** `notion_update_page` | Update properties on a Notion page |
| **Fetch all block contents** `notion_fetch_all_block_contents` | Fetch all child blocks for a given Notion block |
| **Fetch block contents** `notion_fetch_block_contents` | Retrieves a paginated list of direct, first-level child block objects along with contents for a |
| **Fetch block metadata** `notion_fetch_block_metadata` | Fetches metadata for a Notion block (including pages, which are special blocks) using its UUID |
| **Fetch comments** `notion_fetch_comments` | Fetches unresolved comments for a specified Notion block or page ID |
| **Fetch data** `notion_fetch_data` | Fetches Notion items (pages and/or databases) from the Notion workspace, use this to get |
| **Fetch database** `notion_fetch_database` | Fetches a Notion database's structural metadata (properties, title, etc.) via its |
| **Fetch row** `notion_fetch_row` | Retrieves a Notion database row's properties and metadata; use fetch_block_contents for page |
| **Get about user** `notion_get_about_user` | Retrieves detailed information about a specific Notion user, such as their name, avatar, and |
| **Get page markdown** `notion_get_page_markdown` | Retrieve a Notion page's full content rendered as Notion-flavored Markdown in a single API call |
| **Get page property action** `notion_get_page_property_action` | Call this to get a specific property from a Notion page when you have a valid `page_id` and |
| **List data source templates** `notion_list_data_source_templates` | List all templates for a Notion data source |
| **List file uploads** `notion_list_file_uploads` | Retrieve file uploads for the current bot integration, sorted by most recent first |
| **List users** `notion_list_users` | Retrieves a paginated list of users (excluding guests) from the Notion workspace; the number of |
| **Query data source** `notion_query_data_source` | Query a Notion data source |
| **Query database with filter** `notion_query_database_with_filter` | Query a Notion database with server-side filtering, sorting, and pagination |
| **Retrieve comment** `notion_retrieve_comment` | Retrieve a specific comment by its ID |
| **Retrieve database property** `notion_retrieve_database_property` | Retrieve a specific property object of a Notion database |
| **Retrieve file upload** `notion_retrieve_file_upload` | Retrieve details of a Notion File Upload object by its identifier |
| **Search notion page** `notion_search_notion_page` | Searches Notion pages and databases by title |
| **Add multiple page content** `notion_add_multiple_page_content` | Bulk-add content blocks to Notion |
| **Append code blocks** `notion_append_code_blocks` | Append code and technical blocks (code, quote, equation) to a Notion page |
| **Append layout blocks** `notion_append_layout_blocks` | Append layout blocks (divider, TOC, breadcrumb, columns) to a Notion page |
| **Append media blocks** `notion_append_media_blocks` | Append media blocks (image, video, audio, file, pdf, embed, bookmark) to a Notion page |

## Example prompts

**Create Comment**

> Create it in Notion for me, then confirm the important fields before you finish.

**Create Database**

> Create it in Notion for me, then confirm the important fields before you finish.

**Duplicate Page**

> Use Notion to duplicate page and walk me through the result in plain English.

**Query Database**

> Use Notion to query database and walk me through the result in plain English.

## ClawLink vs. building it yourself

The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for Grok Bot. That is fine if you want to build and maintain the integration yourself. Most teams just want Notion working from chat.

| | Manual | ClawLink |
|---|---|---|
| **Connection flow** | Register a Notion app, configure redirect URLs, manage consent details, and reconnect users when auth settings drift. | Users connect Notion through the hosted browser flow and ClawLink keeps the token lifecycle out of your app code. |
| **Ongoing maintenance** | You own refresh logic, permission debugging, environment config, and every provider-specific edge case for Notion. | ClawLink handles the repetitive integration plumbing so your team can focus on the workflow instead of the infrastructure. |
| **Agent usability** | You still need to expose the right Notion actions to the runtime in a format your agent can reliably use. | 45 tools for Notion are already exposed through ClawLink, so the agent can read and act from chat immediately. |

## ClawLink vs. Composio

Composio also exposes Notion to AI agents. It is developer infrastructure: Python and TypeScript SDKs, an MCP server, and a catalog past 1,000 apps, aimed at teams shipping agent products. ClawLink is built for Grok Bot users instead. You install the plugin once, connect Notion in the browser, and the 45 tools above work from chat. There is no SDK, no config file, and no API key handling. Choosing between them? Read the full [Composio alternatives](https://claw-link.dev/hub/composio-alternatives) comparison.

### Grok Bot says it cannot add ClawLink as an MCP server
Grok Bot only attaches MCP servers that are reachable over the public internet, so a local stdio server is refused. You do not need one. Ask Grok Bot to run `npx -y @useclawlink/cli login` in its terminal instead. The CLI is a shell command, not an MCP server. If you would rather have native tools, add `https://claw-link.dev/api/mcp` as a custom connector at grok.com/connectors and approve the ClawLink sign-in.

### Connection succeeds but no tools appear
Reconnect Notion from the dashboard, then start a fresh chat if the runtime still has the old tool catalog loaded.

### "Tool schema not loaded yet" error when calling Notion tools
Notion tool schemas load on demand the first time a tool runs and are cached after that, so this error usually clears on its own: wait a few seconds and retry the same request. If every Notion call keeps failing with it in a fresh chat, reconnect from the dashboard, and contact support if it still persists — that pattern points to a configuration problem on our side, not something you can fix by reconnecting again.

### Notion returns 403 or "permission denied" on one action while others work
Two usual causes. The connected account may not have access to the specific workspace, inbox, store, or project in the request — check that first. If access looks right, the agent may have sent a placeholder value (like "YOUR_ID" or an example id from documentation) instead of a real one: ask it to run a list or search tool first, then retry the action with a real id from those results. Most failures at this stage are one of these two, not ClawLink bugs.

### OAuth finished in the browser but the account is still missing
Try reconnecting Notion and complete the consent flow in the same browser session. Partial OAuth approvals or switching accounts mid-flow can leave the connection incomplete.

### Is there a Grok Bot Notion integration?
Yes. ClawLink is the fastest way to connect Grok Bot to Notion: link your Notion account once in the browser and Grok Bot can call the Notion API through 45 ready-made tools — no custom code or token handling.

### How do I connect Notion to Grok Bot with ClawLink?
Ask Grok Bot to run `npx -y @useclawlink/cli login` in its terminal and approve the link it prints, then `npx -y @useclawlink/cli connect notion` to authorize Notion. Grok Bot calls the tools from the next message, and the pairing persists in its sandbox, so this is a one-time step: no config files or API keys to manage.

### How long does it take to connect Notion to Grok Bot?
About two minutes. Sign in, click Connect next to Notion in the dashboard, authenticate, and Grok Bot can use it from the next chat message.

### Why use ClawLink instead of wiring Notion up myself?
The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for Grok Bot. That is fine if you want to build and maintain the integration yourself. Most teams just want Notion working from chat.

### Grok Bot says it cannot add ClawLink as an MCP server
Grok Bot only attaches MCP servers that are reachable over the public internet, so a local stdio server is refused. You do not need one. Ask Grok Bot to run `npx -y @useclawlink/cli login` in its terminal instead. The CLI is a shell command, not an MCP server. If you would rather have native tools, add `https://claw-link.dev/api/mcp` as a custom connector at grok.com/connectors and approve the ClawLink sign-in.

## Related

- [Trello](https://claw-link.dev/grokbot/trello) — Manage boards, lists, and cards
- [Grok Bot Moco integration](https://claw-link.dev/grokbot/moco) — MOCO is a business management software offering project management, time tracking, and invoicing solutions.
- [ClickUp tools](https://claw-link.dev/grokbot/clickup) — Manage tasks, docs, goals, and sprints
