Skip to main content

CLI for n8n workflow automation

Project description

n8nc

CLI for n8n workflow automation. Sync workflows with Git, author them locally, and manage remote instances from the terminal.

Quick start

# Install (pick one)
cargo install n8nc              # From source
pip install n8nc                # Via pip
uvx n8nc --help                 # Run without installing

# Set up a repo
n8nc init --instance prod --url https://your-instance.app.n8n.cloud
n8nc auth add prod --token <api_key>

# Pull and track workflows
n8nc pull --all --instance prod
n8nc status

Installation

From crates.io

cargo install n8nc

From PyPI

pip install n8nc
# or run without installing:
uvx n8nc ls --instance prod

From GitHub releases

Pre-built binaries for Linux (x64, arm64), macOS (x64, arm64), and Windows (x64) on the releases page.

What it does

n8nc is three things:

  • Git sync for n8n workflows you want to track locally
  • Local authoring for draft workflows and structured node edits
  • Development CLI for listing, pulling, pushing, triggering, and inspecting executions

Every command supports --json for agent and script integration.

Commands

n8nc init                          Set up a workflow repo
n8nc doctor                        Check repo, auth, and API health

n8nc auth add|test|list|remove     Manage API tokens
n8nc auth session add|test|remove  Manage browser-session auth

n8nc ls                            List remote workflows
n8nc get <id-or-name>              Fetch and print a workflow
n8nc pull <id-or-name>             Pull a workflow into the repo
n8nc pull --all [--active]         Pull all workflows
n8nc push <file>                   Push a tracked workflow back
n8nc activate <id-or-name>         Activate a workflow
n8nc deactivate <id-or-name>       Deactivate a workflow

n8nc runs ls                       List recent executions
n8nc runs get <id> [--details]     Inspect one execution
n8nc runs watch                    Watch executions live

n8nc workflow new <name>           Create a local draft
n8nc workflow create <file>        Publish a draft to n8n
n8nc workflow execute <id-or-name> Execute via configured backend
n8nc workflow show <file>          Inspect a local workflow
n8nc workflow rm <target>          Remove a workflow

n8nc node ls|add|set|rename|rm     Edit nodes in local workflows
n8nc conn add|rm                   Edit connections
n8nc expr set                      Set expressions on nodes
n8nc credential ls|schema|set      Discover and assign credentials

n8nc status [--refresh]            Show local sync state
n8nc diff <file> [--refresh]       Show local changes
n8nc trigger <url>                 Call a webhook URL
n8nc fmt [--check]                 Format workflow files
n8nc validate                      Validate workflow files

Repo model

n8nc init creates:

.
├── n8n.toml           # Instance config
├── workflows/         # Tracked and draft workflow files
└── .n8n/cache/        # Base snapshots for local diff

Tracked workflows are stored as canonical JSON with a metadata sidecar:

workflows/<slug>--<id>.workflow.json
workflows/<slug>--<id>.meta.json

The sidecar binds each file to the instance it came from and records a hash used for safe push (lease check).

Auth

Tokens are resolved in order:

  1. N8NC_TOKEN_<ALIAS> env var
  2. OS keychain entry from n8nc auth add

Optional browser-session auth (for credential inventory fallback):

  1. N8NC_SESSION_COOKIE_<ALIAS> + N8NC_BROWSER_ID_<ALIAS> env vars
  2. OS keychain entries from n8nc auth session add

Workflow execution

trigger calls webhook URLs directly. For non-webhook workflows, configure an external backend in n8n.toml:

[instances.prod.execute]
backend = "command"
program = "uvx"
args = ["your-runner", "execute_workflow", "{workflow_id}", "{instance_alias}"]
stdin_json = true

Then run:

n8nc workflow execute "Nightly Digest" --instance prod --input '{"dryRun":true}'

Design

  • Same-instance first -- tracked files are bound to the instance they were pulled from
  • Agent-safe -- every command supports --json with structured envelopes
  • Deterministic -- workflows are canonicalized before storage and hashing
  • Safe push -- refuses to overwrite remote changes since the last pull
  • Sensitive-data aware -- scans for inline secrets on pull, push, and validate
  • Honest execution -- trigger is for webhooks; workflow execute delegates to a configured backend

Spec

Implementation notes and roadmap live in docs/cli-spec.md.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

n8nc-0.0.3.tar.gz (110.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

n8nc-0.0.3-py3-none-win_amd64.whl (3.2 MB view details)

Uploaded Python 3Windows x86-64

n8nc-0.0.3-py3-none-manylinux_2_28_x86_64.whl (3.2 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

n8nc-0.0.3-py3-none-manylinux_2_28_aarch64.whl (3.1 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

n8nc-0.0.3-py3-none-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

n8nc-0.0.3-py3-none-macosx_10_12_x86_64.whl (3.1 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file n8nc-0.0.3.tar.gz.

File metadata

  • Download URL: n8nc-0.0.3.tar.gz
  • Upload date:
  • Size: 110.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for n8nc-0.0.3.tar.gz
Algorithm Hash digest
SHA256 bfc13aa20fcafd9b9d6ec601f39e64953d06a6d9870fc9b486a0d36ff91aabc0
MD5 d5a86e96c0462e5c7122edd01a326eb5
BLAKE2b-256 65dcf5bb9414ed33bc222bf0e40f22d9c89c7c53a1d65b948e31090fc66606c7

See more details on using hashes here.

File details

Details for the file n8nc-0.0.3-py3-none-win_amd64.whl.

File metadata

  • Download URL: n8nc-0.0.3-py3-none-win_amd64.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for n8nc-0.0.3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 a77441b120ffeab2e55f1d59be9e73681b15f57f1af088a6788a1ad492035c02
MD5 f545ae1dc7a9e522b281e2654c2cf9c5
BLAKE2b-256 98ca7618ef094770cd5ff87e12ce46c4de46e73a89fcf1573bd810c854f012d2

See more details on using hashes here.

File details

Details for the file n8nc-0.0.3-py3-none-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: n8nc-0.0.3-py3-none-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: Python 3, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for n8nc-0.0.3-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 211c27c7365c1a46e6e61e3609d9d323c6437b89b55d60a88706e6d5072e3cf8
MD5 943aef519fde31539d055e65990cf4e1
BLAKE2b-256 3550906057446a279c50535b5cf1d9ed743f2cc7107a429bd0d4ef38b9072350

See more details on using hashes here.

File details

Details for the file n8nc-0.0.3-py3-none-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for n8nc-0.0.3-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5ba4cc5165ee68c992f846ab51d982d3abaebe90e4f22af7b0bff2ea0a1e4513
MD5 06e41f76b7d3b75b061a587037c8114c
BLAKE2b-256 5b29887482f506586ba6736101633284ff95c0f8546e2fcd016983ec9702b377

See more details on using hashes here.

File details

Details for the file n8nc-0.0.3-py3-none-macosx_11_0_arm64.whl.

File metadata

  • Download URL: n8nc-0.0.3-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for n8nc-0.0.3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 665a86ea466ec2c6cf8b6206bd1a8e2657b1f1085cdd2770525d5bbcfd4651de
MD5 f1895b7e42881ae5b04a8a595f5eea20
BLAKE2b-256 ba6bca106e7430e072f66571d1d493bcf9f8aa8003c8c40409d602919839ea02

See more details on using hashes here.

File details

Details for the file n8nc-0.0.3-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for n8nc-0.0.3-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c1ed783cd54a95b46fc09d56bb85abf94b4a81df65ccb3b46eff65ab513a21aa
MD5 49fd915e527038a4345b1f091ff3ac8d
BLAKE2b-256 f0f796f69df03d24ed26de9db0d048112a06aa969d4ac1280e289c3ee99d4410

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page