Import from Notion

Import your Notion pages and documentation into Contextium. Connect once and import entire page hierarchies in minutes.

Import your Notion documentation into Contextium to make it accessible in your workspace.

Prerequisites:

  • A Notion account with admin access to the workspace you want to import from
  • A Contextium account with an active workspace

Step 1: Create a Notion integration

First, create an internal integration in Notion so Contextium can read your pages.

  1. Go to Notion Integrations
  2. Click + New integration
  3. Fill in the details:
    • Name: Contextium (or any name you prefer)
    • Associated workspace: Select your workspace
  4. Under Capabilities, ensure these are enabled:
    • Read content — required
    • Read comments — optional
    • Leave Update content and Insert content off
  5. Click Submit

Copy your connection key

After creating the integration:

  1. You'll see a page with Internal Integration Token
  2. Click Show to reveal the token
  3. Click Copy to copy it to your clipboard
  4. Keep this token secure — treat it like a password

The token looks like this: secret_abc123xyz789...

Keep it safe: Don't share the token publicly or commit it to version control. Anyone with it can read your Notion pages.


Step 2: Connect Notion to Contextium

  1. Log in to Contextium
  2. Navigate to SettingsConnections
  3. Find the Notion section and click Connect Notion
  4. Paste your token into the API Token field
  5. Click Save or Connect

You should see a green checkmark confirming Notion is connected.

To verify: go to Context Libraries, click Import, and check that From Notion is available as an option (not greyed out). If it still shows "Connect →", the token may not have saved — check that you copied the full token (starting with secret_) and try again.


Step 3: Share pages with your integration

This is the most commonly missed step.

By default, your Notion integration cannot see any pages. You must explicitly share each page you want to import.

For each page (or parent page) you want to import:

  1. Open the page in Notion
  2. Click the Share button (top right)
  3. Click Invite
  4. Search for your integration name (e.g., "Contextium")
  5. Select it from the dropdown and click Invite

Tip: If you share a parent page, the integration automatically gains access to all its subpages. So sharing your top-level "Engineering Docs" page gives access to every page nested inside it.

To check which pages your integration can access, go to Notion Integrations, click your integration, and scroll to the Pages list.


Step 4: Import pages into Contextium

  1. In Contextium, go to Context Libraries
  2. Click the Import dropdown button
  3. Select From Notion
  4. The import modal opens — you should see a green banner confirming your Notion connection is active

Paste the page URL and start

  1. In Notion, open the page you want to import and copy the URL from your browser's address bar
  2. Paste it into the Notion Page URL field in Contextium
  3. Click Start Import

Valid URL formats:

  • https://www.notion.so/Page-Name-abc123def456
  • https://www.notion.so/workspace/Page-Name-abc123def456

Use the web app URL — desktop app links (starting with notion://) are not supported.

The import may take a few minutes depending on how many pages you're importing. When it finishes, you'll see a confirmation with counts for files and images imported, plus a View Context Library button to open the result.


How imported content is structured

Contextium imports Notion pages with a flat structure — all pages become files at the root level, with no nested folders.

Your Notion hierarchy:

Product Documentation (root)
  ├─ Getting Started
  ├─ Features
  │  ├─ Authentication
  │  └─ Search
  └─ API Reference

Becomes in Contextium:

Context Library: "Notion Import"
├─ index.md (Product Documentation - root page)
├─ getting-started.md
├─ features.md
├─ authentication.md
├─ search.md
└─ api-reference.md

All files are at the root level, in one flat list. This makes everything immediately searchable and easy for your AI tools to find.

File names are based on page titles (lowercase, hyphens, .md extension). The root page becomes index.md. Each import creates a new context library — so if you import twice, you'll get "Notion Import" and "Notion Import (1)".


What gets imported

Supported:

  • Text: paragraphs, headings, bulleted and numbered lists, quotes, code blocks, callouts
  • Media: images (re-uploaded to Contextium), image captions
  • Formatting: bold, italic, inline code, strikethrough, links, dividers
  • Structure: all subpages and their contents

Not imported:

  • Databases (shown as placeholder text)
  • Synced blocks (imported as regular content, not synced)
  • Some embeds (converted to links)
  • Comments and page history

Not synced: Contextium imports a snapshot of your pages at the time of import. Changes you make in Notion afterwards won't appear automatically — re-import the page to pick up updates.


Managing your connection

To update your token: Go to SettingsConnections, click Disconnect next to Notion, then reconnect with your new token.

To remove the integration: Go to SettingsConnections, find Notion, and click Disconnect. This removes the stored token from Contextium. You can reconnect any time.

To revoke access entirely from Notion's side: Go to Notion Integrations, click your integration, and click Delete integration at the bottom of the page.


Troubleshooting

"Notion integration not connected"

The import modal is asking you to connect Notion first. Go to SettingsConnections and check whether Notion shows as connected. If not, add your token (see Step 2). If it does show connected, try disconnecting and reconnecting, then hard-refresh your browser (Cmd+Shift+R / Ctrl+Shift+R).

"No token provided"

The token isn't saving correctly, or your session has expired. Log out and back in, go to SettingsConnections, disconnect Notion, reconnect with your token, and try again.

"Page not found" or "Access denied"

Your integration doesn't have permission to read that page. Open the page in Notion, click ShareInvite, add your integration, wait 30 seconds, and try importing again. You can confirm access by checking the Pages list in your integration at notion.so/my-integrations.

Import stuck at "Importing..."

Large imports (100+ pages) can take up to 10 minutes. Wait a little longer, then check Context Libraries to see if a new library appeared. If you're still stuck after 10 minutes, try refreshing and importing a smaller section first. Contact support if the issue continues.

Images not showing

Images are downloaded from Notion and re-uploaded to Contextium during import. If the upload failed, you'll see broken image links. Try re-importing the page. Make sure the images in Notion are not restricted to specific users.

Invalid URL

Use a URL copied from your browser when the page is open in the Notion web app. The URL should include the page ID at the end (the abc123... hash). Desktop app links and the Notion homepage URL are not valid.

Content looks different from Notion

Some Notion formatting doesn't translate directly to Markdown. Callout icons may be simplified, some colours are converted to semantic styles, and tables may appear differently. These differences are expected.