Skip to content

Integration · Automation

n8n workflow automation, self-hosted or on n8n Cloud

We build n8n workflows that connect your forms, inbox, CRM and AI steps, on n8n Cloud or on a server you own. Every workflow ships with an error workflow, scoped credentials and a runbook, so a failed run reaches a person with its input instead of disappearing.

n8n

Automation

In our build stackA tool we build with. Not a partnership, certification or reseller status.

Access

Authentication and least-privilege scopes

Per-service credentials in n8n’s encrypted credential store: OAuth where the service offers it, otherwise an API key or header token

  • crm: contacts read + write
  • mail: one label read, one sender
  • sheets: one file only
  • webhook: shared-secret header

Self-hosted, the credential store is encrypted with an instance key. We set it, keep it in your secrets manager and share it with every worker; lose it and every credential must be re-entered.

Objects

What we read and what we write

  • Webhook trigger (production URL)

    Read: YesWrite: No

    Form posts and app events; requests without the shared secret are dropped.

  • Execution record

    Read: YesWrite: Yes

    Input and per-node output of each run, pruned on a set schedule.

  • Credentials

    Read: YesWrite: No

    Referenced by nodes, never copied into workflow JSON or exports.

  • Error Trigger payload

    Read: YesWrite: No

    Execution id, failing node, error message and a link to the run.

  • Records in your CRM, sheet or helpdesk

    Read: YesWrite: Yes

    Upserted on a key taken from the source item, so a replay updates instead of duplicating.

  • Workflow JSON export

    Read: YesWrite: Yes

    Committed to your repository after each change.

Data flow

System of record and write-back

Your systems stay the systems of record. n8n moves data between them and keeps only what a run needs: the trigger payload, node output and the execution log.

  1. Trigger: a webhook, an inbound email, a schedule or an app event.
  2. Validate: required fields and duplicates are checked before any write.
  3. AI step: a model extracts or classifies; rules and a confidence threshold check the result.
  4. Write-back: records are created or updated in your CRM, sheet or helpdesk.
  5. Error path: a failure runs the error workflow, which alerts a named person with the run link.
n8n data flow (illustration)
  • Web form
  • Shared inbox
  • Nightly schedule
n8n: your server or n8n Cloud
  • CRM
  • Helpdesk
  • Error alert

Worked example

n8n in a build

An n8n-style run: a form webhook is validated and classified, the CRM write retries, and the error workflow is ready to alert the owner with the run link.
Sample data
WebhookForm submitDone
ValidateRequired fieldsDone
ClassifyAI step + thresholdDone
CRM upsertRetry 2 of 3Retrying
Error TriggerError workflowNeeds approval
Alert ownerRun link + inputIdle
Replay queueInput keptIdle
The CRM upsert is retrying. If it still fails, the error workflow alerts the owner with the run link and keeps the input for replay.

Sample workflows

What teams build with n8n

  • Pattern 01

    Lead intake with AI triage

    A form or inbox message is checked, classified by intent and urgency, written to the CRM and routed to the right person. Low-confidence items wait in a review queue instead of entering the CRM.

  • Pattern 02

    Invoice and document capture

    Attachments from a shared mailbox are extracted into fields, matched against your records and posted for approval. Nothing is booked until a person signs off.

  • Pattern 03

    Nightly sync with a reconciliation note

    A schedule pulls changed records from one system, upserts them into another and posts a short summary of created, updated and skipped items where your team reads it.

Failure handling

What breaks, and what the build does about it

  • A downstream API times out or rate-limits

    The node retries with growing waits. When the retries run out, the error workflow posts the failing node, the error and a link to the execution.

  • The trigger itself fails, for example an expired token

    Trigger errors also reach the error workflow. The alert names the trigger and the cause even though no execution started.

  • A run succeeds but the data is wrong

    Validation runs before every write; failing items are parked with their input for a person to correct and replay.

Fit · n8n

When it is the wrong choice

Saying no early is cheaper than rebuilding later.
  • A two-step link between two popular apps at low volume. A hosted tool such as Zapier is quicker to set up and nobody has to run a server.
  • Logic that is mostly custom code, such as heavy transforms or a strict latency budget. A small service in Python or TypeScript is easier to test.
  • Nobody on your side can own a server and n8n Cloud is not an option. An unmaintained self-hosted instance is a security risk, not a saving.

Alternatives worth pricing

  • Make

    Visual scenarios with routers and built-in error handlers, hosted for you and budgeted in operations.

  • Zapier

    The quickest route for low-volume, linear app-to-app steps.

  • Custom code

    High volume, tight latency or logic that is easier to test as code.

Limits

Limits and common errors

Vendor limits change; each line cites the vendor page and the date we checked it.
  • An error workflow must start with the Error Trigger node. A failure in the main workflow’s trigger arrives without an execution id or URL.

    Source: Error handling (opens in a new tab) · n8n Docs · accessed

  • n8n encrypts credentials with a key it generates on first launch unless N8N_ENCRYPTION_KEY is set. In queue mode every worker needs that same key.

    Source: Set a custom encryption key (opens in a new tab) · n8n Docs · accessed

  • Webhook payloads are capped at 16 MiB by default (N8N_PAYLOAD_SIZE_MAX), and changing the cap needs a restart.

    Source: Endpoints environment variables (opens in a new tab) · n8n Docs · accessed

  • Queue mode uses Redis as the broker and recommends PostgreSQL; a distributed setup on SQLite is not supported.

    Source: Queue mode (opens in a new tab) · n8n Docs · accessed

Security

Security notes

  • Production webhooks check a shared secret or signature before the workflow runs.
  • Each credential covers one service with the narrowest permission it needs, and exports never contain secrets.
  • Execution data is pruned on a schedule you approve, so stored payloads with personal data do not pile up.

FAQ

Frequently asked questions

Should we self-host n8n or use n8n Cloud?

Use n8n Cloud when you want no server to run and your data may be processed by n8n’s hosted service. Self-host when data has to stay in your own network, or when you need custom nodes and full control of execution logs. Self-hosting adds patching, backups and monitoring, covered in the runbook.

What happens when an n8n workflow fails in the middle of the night?

The error workflow runs. It sends the failing step, the error message and a link to the execution to whoever is on call, and the input is kept for replay. Nothing retries silently forever, and nothing is dropped without an alert.

Can n8n call OpenAI, Claude or a model we host ourselves?

Yes. n8n has nodes for the common model APIs and can call any HTTP endpoint, including a model inside your network. Prompt and model settings live in one place per workflow, so switching models is one reviewed edit.

Can n8n keep up as our volume grows?

A single instance covers most business workflows. When volume grows, queue mode hands executions to separate workers backed by Redis and Postgres, so the editor and webhooks stay responsive. We test with sample data at your expected peak before go-live.

Can our own team edit the workflows after handover?

Yes; the canvas is readable by non-developers. We mark which nodes are safe to change (message text, recipients, thresholds) and which need a developer (credentials, write steps).

Next step

Have a workflow in mind? Let’s scope it together.

Book a free 30-minute strategy call. Bring one process you want to automate and we will talk through scope, integrations and a sensible first step.

Free 30-minute call · no commitment

Send an RFP or security questionnaire