notion-flows: Your Notion Pages Are Your Automation Code
Source: Dev.to
The Idea That Broke My Brain a Little
What if your automation logic lived inside Notion—not as a diagram, not as a config file, but as a plain‑English page you just… edit?
- No redeploy.
- No YAML.
- No drag‑and‑drop node editors.
How It Works
- Open a Notion page.
- Write what you want in plain English.
- Run
notion-flows run. - Claude reads your page and executes it against your Notion databases.
That’s notion‑flows.
What It Does
notion-flows is a TypeScript CLI that treats Notion pages as executable business logic.
- You create a registry page in Notion.
- Each child page under that registry is a flow—a plain‑English description of an automation.
- The CLI discovers those pages, sends them to Claude (using Notion MCP tools), and Claude executes the instructions step‑by‑step.
Three Example Flows (Included Out of the Box)
🔥 Follow Up Cold Leads
This flow finds leads who haven't been contacted in 7 or more days
and drafts personalized follow‑up messages.
(Add the remaining example flows here, each with a brief description and a code block if needed.)
Conditions
- Check Contacts DB for
Status = "Lead"orStatus = "Prospect". - Filter where
Last Contactedis 7+ days ago. - If
Deal Value> $2,000, tag as hot.
Actions
- Draft a warm, professional follow‑up for each contact.
- Update the Next Action field with the draft message.
- Update Last Contacted to today.
📝 Content Idea Generator
Prompt
Generate 5 high‑value content ideas for a TypeScript consulting business
targeting early‑stage startups, add them to the Content Pipeline database,
and write a full first draft for the highest ROI idea.
📊 Weekly CEO Brief
Prompt
Generate a weekly executive brief by reading all databases,
then append it to this page.
The Agentic Loop
The core of notion‑flows is a Claude agentic loop that uses Notion MCP tools.
while (toolCallCount) {
// ...agent logic...
}
// Prints DB IDs → paste them into .env
npx tsx src/cli.ts run
The setup command scaffolds your entire workspace:
- Creates the ⚡ notion‑flows registry page.
- Creates Contacts, Content Pipeline, and Revenue databases with full property schemas.
- Seeds all three example flow pages.
Why This Matters
Most automation tools force you to learn a new interface (canvas, DSL, config syntax). notion‑flows flips that: the interface is a Notion page, which you already know.
- Share flows with non‑technical teammates.
- Edit logic directly in Notion; re‑run the CLI.
- No PRs, no deployments.
The Notion page is the code.
What’s Next
- Scheduled triggers –
trigger: schedule: 0 9 * * 1syntax is parsed; just needs a cron runner. - Multi‑workspace support – share flows between orgs.
- Flow versioning – Notion’s page history already serves as a git log.
Built for the Notion dev.to challenge. Source code on GitHub.
