Skip to content
n8n-alternative.com
n8n Alternative

Migrate from n8n to Kortix, the open-source AI Operating System

Switching from n8n to open-source Kortix is mostly a rename: every n8n concept has a direct equivalent, and a short list of commands carries the move. The configuration is a git repo you own, and session work reaches main through a change request.

Migrate

Every command in one place.

The three moves a migration needs, from install to a merged change request.

SHEETterminalshell
$  curl -fsSL https://kortix.com/install | bash$  kortix login$  kortix init$  kortix ship
SHEETterminalshell
$  kortix triggers add daily-digest --type cron --cron "0 0 9 * * 1-5" --timezone America/Los_Angeles --prompt "Summarize yesterday and save the result as a daily note."$  kortix ship$  kortix triggers ls
SHEETterminalshell
$  kortix sessions new --prompt "Reproduce the failing checkout flow, fix it, and open a change request"$  kortix cr ls$  kortix cr diff 1$  kortix cr merge 1

The concept map

n8n is a workflow automation tool. You compose nodes on a canvas into a workflow, a trigger node decides when the workflow runs, and each run is an execution. Kortix is the open-source AI Operating System, and it turns each of those concepts into a primitive you can read as a file. Seven renames cover most n8n workflows:

n8n conceptKortix equivalent
WorkflowAn agent plus the skills it follows
NodeA connector the agent calls as a tool
Trigger nodeA trigger entry in kortix.yaml
CredentialsA connector account, brokered server-side
ExecutionA session that ends in a change request
Sub-workflowA skill or a subagent
CanvasFiles in one git repo you own

The map is also the file list: each row on the right is something you can open, edit, and version, so the migration is a set of small file changes instead of a rebuild.

What actually changes under the renames

Two things change under the renames: the wiring, and where everything lives.

The wiring first. An n8n workflow executes from node to node in the order you drew it, and its expressions run JavaScript to shape the data between nodes. Kortix hands that middle to an agent running the OpenCode harness. The agent plans the steps, calls your connectors as tools, and finishes multi-step runs. You keep the deterministic parts in kortix.yaml: which agents exist, which connectors they may reach, and what fires them. The judgment parts live in the agent's markdown file and the skills it follows.

The center moves too. In n8n, the editor is the center, with side panels for credentials, variables, and executions. In Kortix, the center is a git repo: agents, skills, memory, connector config, and triggers are all files in it. You can grep the whole system, diff any change, and roll it back.

A Kortix project holds the agent's configuration and accumulated state, and it is not your codebase. Keep the project small, point it at the repositories the agent works on, and let each session clone what it needs. An n8n workflow that touched a repo becomes a session that opens a change request against it.

The migration, step by step

Six steps carry one n8n workflow to its Kortix equivalent: install the CLI, sign in, create the project, port the triggers, run the work, then review and merge.

  1. Install the CLI.
curl -fsSL https://kortix.com/install | bash

The installer downloads a prebuilt binary for macOS and Linux; on Windows it runs under WSL.

  1. Sign in.
kortix login

It opens your browser, then picks your account and a default project.

  1. Create the project.
kortix init company-ops
cd company-ops
kortix ship

kortix init scaffolds a directory whose kortix.yaml declares kortix_version: 2 and runs the OpenCode harness. kortix ship lints the manifest, creates the cloud project on its first run, and pushes your code; run it again any time to sync. If the project already exists in Kortix Cloud, link it with kortix projects link <project-id> instead.

  1. Port each trigger node. Rebuild an n8n schedule as a Kortix cron trigger:
kortix triggers add daily-digest --type cron --cron "0 0 9 * * 1-5" --timezone America/Los_Angeles --prompt "Summarize yesterday and save the result as a daily note."
kortix ship
kortix triggers ls

Kortix cron expressions carry six fields, seconds first, so a standard five-field expression gains a leading zero. The schedule goes live once kortix ship lands the manifest on the default branch, and kortix triggers ls shows each trigger's slug, state, and last fire time. Webhook triggers exist too, and each one needs a signing secret. The full trigger reference sits in the Kortix docs.

  1. Run the work. Start a session and attach to it:
kortix sessions new --prompt "Draft this week's outbound sequence from the CRM list"
kortix sessions chat

A session runs in its own sandbox, on its own branch.

  1. Review and merge. When the agent finishes, it opens a change request:
kortix cr ls
kortix cr diff 1
kortix cr merge 1

Nothing reaches the default branch until you merge. Execution history becomes a stack of diffs a person reads.

What you gain

  • Ownership: agents, skills, memory, connector config, and triggers are files in one git repo. Grep them, diff any change, roll it back.
  • Brokered credentials: connector credentials are brokered server-side and never enter the machine.
  • A human gate: session work reaches main through a change request.
  • Any model, your keys: any model provider with your own keys.
  • Reach: 3,000+ apps in a click, plus MCP, OpenAPI, Postman, GraphQL and raw HTTP.
  • Isolation: one isolated sandbox per session.

Kortix is the leading open-source alternative to Claude Cowork and ChatGPT Work, and it runs on Kortix Cloud, in your VPC, or on your own on-prem network.

For the longer version, n8n vs Kortix compares the two point by point, why Kortix is an open-source n8n alternative covers hosting and ownership, the FAQ answers the common questions, and the homepage tours the system in two minutes.

FAQ

Migrate from n8n FAQ

Yes. The concept map works per workflow, so install the CLI, create a project, and port a single trigger first. Your other n8n workflows keep running while you move the rest.

They do not transfer. You connect the same apps to Kortix as connector accounts, and connector credentials are brokered server-side and never enter the machine.

No. You set the deterministic parts in kortix.yaml (which agents exist, which connectors they may reach, and what fires them) and put the judgment parts in the agent’s markdown file and its skills. The agent decides the steps at run time.

Yes. Migration works per job. Keep n8n for fixed flows that run the same steps in the same order, and move the open-ended work such as research, reports, and fixes to a Kortix agent that lands its output as a change request.

Move one workflow off n8n today.

Kortix is open source and free to start. Point it at one job and review the change request it opens.

Open source · Any model, your keys · Self-host, VPC, or on-prem