Convert an n8n workflow to a Claude routine. Anything it cannot carry over is listed, not guessed.
RoutineOS is an n8n alternative for jobs where a person reads something and decides. It is free (MIT) and needs a paid Claude plan. One command turns your workflow into a routine pack, and a file called MIGRATION.md lists what it could not carry over.
An n8n alternative, side by side
The docs describe n8n with an AI step as a fixed flow you build and maintain. A routine is a Claude agent on a schedule that makes the call, with a Desk and a gate around it.
| Topic | n8n, as the docs describe it | RoutineOS |
|---|---|---|
| Shape | A fixed flow you build and maintain. | A routine. Claude does the reading and judging, and code applies the rules you can edit. |
| Changing itself | You edit the flow. | It proposes setting changes from your keep, drop and reject decisions. Nothing applies until you say yes. |
The docs do not compare approvals, workspace, triggers, hosting or licence, so this page does not either. For those, read n8n's own pages. For RoutineOS: a schedule in UTC at most hourly, no hosting of its own, MIT licence, and a paid Claude plan to run it.
What the converter carries over
The converter is deterministic Python. It reads your workflow and writes a pack plus a report. The same workflow gives the same pack every time.
| In n8n | In RoutineOS |
|---|---|
| Schedule Trigger | The routine's schedule, written as a cron in UTC. |
| AI Agent and LLM chain nodes | A skill stage, with a generated skill file. Chat model, memory, tools and output parser sub-nodes are read too. |
| Nodes for a known app (Gmail, Slack, Sheets and others) | A stage that uses a connector, marked read or write. |
| IF, Switch, Filter, Merge, Loop, Set | A stage that states the condition or the step in words. |
| Code and Function nodes | A stub file that exits with "not translated yet". Your original source is kept beside it. Nothing is ever run. |
| Credentials | Listed by type and name. You reconnect each one yourself. No secret value is copied. |
Expressions such as $json.a.b | Rewritten as "a.b from the previous step". Anything it does not recognise is kept and flagged. |
| Error handling and Wait approval | Failure rules, and an approval gate. |
| Sticky Notes | Text in the pack's readme. |
What gets slower, and what a person finishes
Slower
- Event triggers become a schedule. A webhook, form, chat or manual trigger becomes the default schedule (weekdays at 22:00 UTC) plus the Desk action queue. You can change it.
- App triggers become hourly polls. RoutineOS runs at most once an hour.
- Seconds and minutes become hourly. The converter adds an issue to say so.
- Schedules are UTC. The converter keeps your timezone in the plan and reports it. It does not shift the hours.
- A delay becomes "on the next run".
A person finishes
- Code nodes. Translate the stub, or replace the step with a model stage.
- Flagged expressions. Each becomes an explicit input you confirm.
- Unknown nodes. They become a "Needs a person" stage, visible in the list.
- Vector stores and embeddings. Reported only, because RoutineOS has no vector store.
- Credentials. Reconnect each one on claude.ai yourself.
Convert an n8n workflow with one command
Give it a file or one https link, and a folder that does not exist yet. Or paste the workflow into Claude Code and ask Claude to run it, and it will show you what it plans to write first.
- You get two files
pack.jsonandMIGRATION.md, in the folder you named. The command will not overwrite a folder that is not empty. - Read the exit code0 means nothing needs a person. 1 means the pack was written and the report lists items for a person. 2 means it failed and nothing was written.
- Check, then installValidate the pack, install it, then run it once report-only before you trust it.
When to keep n8n
- Nothing in the job needs a judgment call. A fixed rule runs fine as a fixed flow.
- You need it to react in seconds. A routine runs on a schedule of an hour or more.
- You do not use Claude. A routine runs on a Claude plan.
- You need a settled platform. Claude scheduled tasks are a research preview.
You can also keep n8n for the plumbing and move only the step that reads and decides. See all comparisons, the n8n to routine guide, or start from a template.
Convert your workflow
Read the n8n migrate guide, run the command, and read MIGRATION.md before you turn anything on.