All docs
Integrations

Connecting Notion

OAuth flow, import pages as specs and databases as backlog. Re-sync any time with idempotent UPSERT.

5 min read

Notion is REVETOOL's specs and backlog source of truth. Connect once and you can import pages as specs, databases as backlog, or both. Re-sync any time — UPSERT is idempotent on title.

Step 1 — OAuth connection

  1. Open Workspace settingsConnectors.
  2. In the Notion section, click Connect Notion.
  3. You are redirected to Notion OAuth picker.
  4. Pick which pages and databases to grant access to (Notion lets you scope per item).
  5. Click Allow access.
  6. You are redirected back to REVETOOL with the connection active.

Add more pages later

Need to grant access to more pages? Click Add more pages on the Notion section. This re-launches the OAuth picker without disconnecting your existing access.

Step 2 — Import pages as specs

Once connected, REVETOOL displays two lists side-by-side: Pages and Databases.

  1. In the Pages section, browse the pages REVETOOL has access to.
  2. Check the boxes for the pages you want to import.
  3. Click Import as specs. Pages become specs with markdown content + Notion URL link back.
  4. Optional: click Import as backlog instead — each page becomes a backlog ticket.

Step 3 — Import databases as backlog

Notion databases (where each row is a structured item) are natural fits for backlog tickets.

  1. In the Databases section, pick the database (e.g., your "Backlog" database).
  2. REVETOOL fetches rows and lets you check the ones to import.
  3. Click Import as backlog. Each row becomes a ticket with title, status, priority and Notion URL.
  4. Optional: Import as specs if your database stores specs instead.

4 import cases

  • Page → Spec — a Notion page becomes a REVETOOL spec.
  • Page → Backlog — a Notion page becomes a backlog ticket.
  • Database → Backlog — Notion DB rows become backlog tickets.
  • Database → Spec — Notion DB rows become specs.

UPSERT idempotent

Re-import the same page or row? REVETOOL detects the existing item via (project_id, title) and updates instead of duplicating. The audit trail captures the update with a system event.

Soft delete behavior

Deleted specs and tickets are soft-deleted (archived) for 30 days. If you re-import a previously deleted item, it is restored from the archive.

Step 4 — Re-sync periodically

REVETOOL does not auto-poll Notion (yet). You re-sync manually when you want fresh content:

  1. Open Connectors.
  2. Click Re-sync next to Notion.
  3. REVETOOL fetches latest content for all imported items.
  4. Changes appear in the activity history.

Webhook coming Sprint G

Notion file_updated webhooks are on the roadmap. Once available, REVETOOL will auto-sync changes within seconds. For now, manual re-sync.

Troubleshooting

I don't see my page in the picker

Notion OAuth is granular. You need to explicitly grant access to each page or database during the OAuth flow. Click Add more pages to grant additional access without re-authenticating from scratch.

Import fails with "encrypted token corrupted"

This was a known bug fixed in May 2026 (Supabase JS Buffer serialization issue). If you hit it, disconnect Notion and reconnect — token is re-encrypted properly.

Ready to try REVETOOL on your stack?

Book a 30-minute demo or join the waitlist for early access.