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
- Open
Workspace settings→Connectors. - In the Notion section, click
Connect Notion. - You are redirected to Notion OAuth picker.
- Pick which pages and databases to grant access to (Notion lets you scope per item).
- Click
Allow access. - You are redirected back to REVETOOL with the connection active.
Add more pages later
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.
- In the Pages section, browse the pages REVETOOL has access to.
- Check the boxes for the pages you want to import.
- Click
Import as specs. Pages become specs with markdown content + Notion URL link back. - Optional: click
Import as backloginstead — 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.
- In the Databases section, pick the database (e.g., your "Backlog" database).
- REVETOOL fetches rows and lets you check the ones to import.
- Click
Import as backlog. Each row becomes a ticket with title, status, priority and Notion URL. - Optional:
Import as specsif 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
Step 4 — Re-sync periodically
REVETOOL does not auto-poll Notion (yet). You re-sync manually when you want fresh content:
- Open
Connectors. - Click
Re-syncnext to Notion. - REVETOOL fetches latest content for all imported items.
- Changes appear in the activity history.
Webhook coming Sprint G
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.