You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Just say "Build me a CRM dashboard" — the AI designs databases, arranges 10 view types, wires Relations/Formulas/Rollups, lays out dashboard widgets, and fills in sample data. Supports 5 AI providers and leverages nearly every feature of the Notion API 2026-03-11.
Gen-Eval Quality Loop
Generate → validate → repair (up to 3 retries) plus an LLM quality judge that re-generates on fail (evaluator-optimizer). A tool-calling agent loop also exists as an optional path — not the default chat flow.
11 Tools + 48 Skills
Tool Registry with LLM function calling. 12 Tier-1 + 36 Tier-2 domain-specific skills generate the perfect template for any request.
5 AI Providers
Copilot SDK (GPT-4.1, free) / Claude / Gemini / Groq / OpenAI — Strategy Pattern auto-detects whichever API key you set.
10 View Types + Dashboards
Table, Board, Calendar, Timeline, Gallery, List, Chart, Form, Dashboard, Pivot — auto-placed widgets with filter/sort bindings.
Notion Workers Integration
Auto-scaffold and deploy Sync/Tool/Webhook TypeScript workers. Register AI natively via External Agents API.
Real-time Chat UI
React 19 + WebSocket streaming shows every creation step live. Multi-turn conversations for iterative refinement.
Blueprint Auto-Correction
Gen-Eval structural validation (up to 3 rounds) + 13 PostProcessor auto-fixes. Automatic rollback on failure.
git clone https://github.com/JaylenAI/Notion_Forge.git
cd Notion_Forge
cp .env.example .env
2. Set Up .env
# Required (just these two)NOTION_API_KEY=ntn_xxxxxxxxxxxx# https://notion.so/my-integrationsNOTION_PARENT_PAGE_ID=xxxxx# Parent page ID where templates are created# AI Provider — set any one and it auto-detects (priority: Copilot > Claude > Gemini > Groq)COPILOT_ENABLED=true# Free with GitHub Copilot subscriptionANTHROPIC_API_KEY=# Claude (paid, highest quality)GEMINI_API_KEY=# Gemini (free, 20 req/day)GROQ_API_KEY=# Groq (free, fast)
3. Run
Docker (recommended)
docker compose up --build
Local (uv + npm)
# Terminal 1: Backendcd backend && uv sync && uv run uvicorn app.main:app --port 9500 --reload
# Terminal 2: Frontendcd frontend && npm install && npm run dev
Security Notice: NotionForge is a local-only self-hosted tool. The API has no built-in authentication — do not expose it directly to the public internet. If external access is needed, add an authentication layer via a reverse proxy (e.g., nginx).
# Dev setup
git clone https://github.com/JaylenAI/Notion_Forge.git
cd Notion_Forge
# Backendcd backend && uv sync
uv run pytest tests/ -v # Run tests
uv run ruff check .&& uv run ruff format .# Lint + format# Frontendcd ../frontend && npm install
npm run dev
Extension Points
Extension
How
New AI Provider
Implement BaseProvider in app/agent/providers/ -> register in router.py
New Tool
Implement BaseTool in app/agent/tools/ -> register in registry.py
New Skill
Create directory + SKILL.md pattern file in app/skills/
New Block Type
Add builder function to app/notion/block_builder.py
New View Type
Add view creation method to app/notion/view_ops.py
Notes & Limitations
AI output is non-deterministic. The same prompt won't produce byte-identical templates each time. NotionForge guarantees structural quality (required blocks, valid DBs, rollup/formula wiring) via golden examples + validation, not pixel-identical reproduction.
Single worker only. Task store, OAuth state, rate-limit counters, and metrics are in-memory per process. Run with --workers 1; multi-worker/horizontal scaling is not supported (see SECURITY.md).
Generated templates are yours. You own what you create; you may use/sell them subject to Notion's Terms of Service. NotionForge claims no ownership over generated output.
Top-tier visual polish is out of scope. Output reaches functional paid-tier quality (multi-DB, relations, rollups, sample data); bespoke graphics/branding are left to the user.