ShowOnce
Generated workflows can search and send email through n8n's Gmail node, e.g. searching unread invoices and extracting amounts from messages.
Generated workflows can read and append rows in Google Sheets through n8n's Google Sheets node, e.g. appending an extracted value as a new spreadsheet row.
Turns a recorded browser task into a real, editable n8n workflow: it reads the recording (action log plus screenshots), returns a validated plan of steps, variables and a suggested trigger, and the result is created in n8n through its API or exported as importable workflow JSON with nodes, connections and triggers (manual, schedule, webhook or new email).
Generated workflows can send Telegram messages through n8n's Telegram node, e.g. notifying when a task has completed.
ShowOnce
Do a task once in your browser. Get an n8n workflow that does it forever.
Illustration with made-up sites.
No nodes to drag. No expressions to learn. Just show it.
Quickstart · How it works · Choosing the AI · Privacy · Roadmap
Building automations is still a job for people who already know automation tools. Everyone else does the same boring browser task every day: copy an amount from an email, paste it into a sheet, send a message.
ShowOnce watches you do it one time and turns the recording into a real, editable n8n workflow. It doesn't replay your clicks. It understands what you were trying to do and uses proper API nodes (Gmail, Google Sheets, HTTP, Telegram…), so the result is fast and doesn't break when a website changes its layout.
You, once ShowOnce n8n, forever
┌──────────────────────┐ ┌────────────────────────────┐ ┌──────────────────────────────┐
│ open Gmail │ │ "search unread invoices, │ │ ⏰ Weekdays 9:00 │
│ search "fatura" │ ─► │ extract the amount, │ ─► │ → Gmail: search │
│ copy R$ 189,90 │ │ append a row, │ │ → Code: extract amount │
│ paste into Sheets │ │ notify on Telegram" │ │ → Sheets: append row │
│ message on Telegram │ │ │ │ → Telegram: notify │
└──────────────────────┘ └────────────────────────────┘ └──────────────────────────────┘Features
🎬 Record by doing. A Chrome extension captures clicks, typing, navigation and copy/paste, plus screenshots.
🧠 Intent, not macros. A vision model figures out the task and maps it to API nodes.
🎛️ You stay in control. Before anything is created, review the steps, choose which values change every run, and pick the trigger (manual, schedule, webhook, or new email).
⚡ One click to n8n. Creates the workflow through the n8n API, or download the JSON and import it.
🔌 Bring your own model. Claude (default), OpenAI, Gemini, any OpenAI-compatible API, or a local model via Ollama.
🔑 Or no API key at all. Let the AI assistant you already use do it over MCP, or paste the prompt into any chat AI.
🔒 Private by design. Runs in your browser. Passwords, card numbers and tokens are never recorded.
📦 Nothing to run. Everything happens inside the extension. No server, no
npm install.
Related MCP server: n8n Workflow Builder
Quickstart
You need Chrome (or any Chromium browser). That's all.
1. Get the extension
Download the ZIP and unzip it (or git clone this repo). Open chrome://extensions, turn on Developer mode, click Load unpacked and pick the extension/ folder.
2. Set up (once, in the popup)
Click the ShowOnce icon. The Set up checklist opens by itself:
Pick the AI that reads your recording. No key? Choose Any AI chat and you copy a prompt into ChatGPT, Claude or Gemini. Have a key? Paste it; Get a key opens the right page.
Connect n8n (optional): type its address, click Get an API key, paste, Connect. No n8n yet? The popup offers n8n cloud or a one-line Docker command, and Download JSON works without any n8n.
3. Show it once
● Record → do your task → ■ Stop → ✨ Turn it into a workflow. Review, then Create in n8n or Download JSON.
How it works
flowchart LR
A[Chrome extension<br/>records actions + screenshots] -->|log + screenshots| C[Vision model<br/>Claude / GPT / Gemini / local]
C -->|intent plan JSON| A
A -->|you review:<br/>variables + trigger| B[Builder<br/>inside the extension]
B -->|workflow JSON| D[n8n API or a file]Record. The extension logs each action with the element's label and takes a screenshot right after it.
Understand. The model receives the action log and up to 20 screenshots and returns a plan: steps from a small, fixed vocabulary (
gmail.search,sheets.append,http.request,transform, …), the values that look like variables, and a suggested trigger.Review. You confirm what changes between runs and when it should run.
Build. A deterministic builder turns the plan into n8n nodes and connections. The model never writes raw n8n JSON, which keeps the output valid.
When something has no API, it becomes a clearly marked manual step with instructions instead of a fragile click-replay.
Supported steps
Step | n8n node |
Search / send email | Gmail |
Read / append rows | Google Sheets |
Call any API | HTTP Request |
Send a message | Telegram |
Extract, clean, reshape data | Code |
Anything else | Marked manual step + note |
Adding a step type is one function in extension/core/builder.js and one line in the prompt. PRs welcome!
Choosing the AI
Pick it in the popup under Set up. You can change it any time.
Option | Needs | Notes |
Any AI chat | Nothing | You copy a prompt and paste the answer. No screenshots, so best for simpler tasks. |
Claude | API key | Strong at reading UIs and producing valid structured output. |
Gemini | API key | Good and usually cheaper. |
OpenAI or compatible | API key | Change the address for any compatible API. |
Ollama | Ollama running locally | Free and offline; less accurate on complex pages. Start it with |
Your AI assistant (MCP) | Node.js 20+ | Claude Code, Claude Desktop, Cursor… reads the recording, screenshots included. See below. |
Your AI assistant, over MCP
The only mode that needs something outside the extension: a small helper your assistant starts by itself.
Add ShowOnce to the assistant. In Claude Code:
claude mcp add --scope user showonce -- npx -y github:subnautixx/showonce mcpIn other clients, add this to their MCP config:
{ "mcpServers": { "showonce": { "command": "npx", "args": ["-y", "github:subnautixx/showonce", "mcp"] } } }In the popup, pick My AI assistant, over MCP under Set up.
Record your task and click ✨ Turn it into a workflow. The popup says it is waiting for your assistant.
Ask the assistant: "turn my ShowOnce recording into a workflow".
Open the popup again: the plan is there to review.
Privacy
Nothing runs outside your browser, except the AI you pick and your own n8n.
API keys stay in the extension's local storage on this computer. Each key is only sent to the service it belongs to.
Password fields, card fields (
autocomplete="cc-*"), one-time codes and fields named liketoken,secret,cpf,cvv… are replaced with[REDACTED]in the page, before anything is stored.Recordings stay in the extension's local storage until you clear them. Only the AI you choose sees them, and with Ollama nothing leaves your machine.
Screenshots can still show what's on screen. Avoid recording pages with sensitive information, or use a local model.
The MCP helper listens on
127.0.0.1only and refuses requests from websites.
Roadmap
Launch GIF and more example recordings
Chrome Web Store listing
More step types: Slack, Notion, Airtable, WhatsApp, Discord
Browser-runner node for steps without an API (Playwright)
Record across desktop apps, not only the browser
"Show it twice": learn variables by diffing two recordings
Export to Make / Zapier / plain code
Firefox support
Development
npm test # no dependencies to install
npm run demo # helper server with a canned plan
npm start # helper server with the provider from server/.envProject layout:
extension/ Chrome extension (Manifest V3): recorder, popup, review UI
core/ everything shared with the helper: no node: imports
prompt.js what the model is told
plan.js plan validation
builder.js plan → n8n workflow
providers/ Claude, OpenAI, Gemini, Ollama
n8n.js connect to n8n and create workflows
server/ Optional zero-dependency Node helper (MCP mode)
src/handoff.js the recording waits for a plan from the assistant
src/mcp.js MCP server for AI assistants
src/cli.js `npx github:subnautixx/showonce [start|mcp|demo]`License
MIT. Not affiliated with n8n GmbH.
This server cannot be deployed
Maintenance
Related MCP Connectors
Write, run and check natural-language browser tests of your web app from your AI assistant.
Record demos of your web app from one sentence and turn its product map into help articles and more.
Turn screen recordings into step-by-step guides, SOPs and user docs with screenshots.
Make how-to videos, social clips and help articles from Claude or ChatGPT, and run your help center.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage n8n automation workflows through natural language commands, including creating, executing, monitoring, and organizing workflows with full CRUD operations and execution management.56 npm2MIT
- FlicenseNot gradedqualityCmaintenanceConverts natural language descriptions into validated, production-ready n8n workflows with automatic error fixing and architecture recommendations.16 npm22-
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to access comprehensive n8n node documentation, properties, operations, workflow templates, and community nodes, allowing them to design, build, and validate n8n workflows through natural language.83,221 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables an AI agent to operate a web app, record a deterministic session, and compile an editable project into a polished MP4 with zooms, cuts, captions, callouts, and reproducible renders.MIT