Integration
n8n Integration
Self hosted workflow orchestration for cross system automation, with idempotent steps, error branches, run history and credentials held in your own environment.
- Website lead delivered into a CRM with enrichment and notification
- Payment event triggering fulfilment and accounting updates
- Nightly reconciliation between two systems with a drift report
- Inbound document classified and routed to the right queue
- Multi step onboarding across several platforms
Overview
What this integration involves
n8n is a workflow orchestrator. A workflow starts from a trigger, moves data through nodes, and calls other systems. Self hosted, it runs on infrastructure you control, so the flows, the credentials and the data stay inside your environment.
It is the right tool when a process spans several vendor systems and changes often. It is the wrong tool when the logic is intricate, the volume is high, or the behaviour needs a test suite, and we say which applies.
The engineering discipline is the same as any integration: idempotent actions, explicit error paths, replayable failures and credentials in a secret store.
Surface
Capabilities we use
Triggers
Webhook endpoints, schedules, polling on a source that emits no events, and manual execution for testing. Each trigger can carry an authentication requirement.
Connectors
A large library of nodes for common platforms, plus generic HTTP requests for anything without one. Custom nodes cover an internal API used across many workflows.
Control flow
Branching, switching, looping over items, merging parallel paths, and waiting for a delay or an external resume signal.
Code steps
JavaScript nodes for transformation that would otherwise take a dozen chained nodes, kept small so the workflow stays readable.
Language model steps
Classification, extraction and drafting inside a flow, with the output validated by a following step rather than trusted.
Execution history
Every run recorded with its inputs, outputs, duration and errors, which is what makes a failure explainable after the fact.
Data flow
Step by step
- 01
Trigger fires
A webhook arrives, a schedule elapses, or a poll finds new records. Webhook triggers verify a shared secret or signature before doing anything else.
- 02
Deduplicate
The event identifier is checked against a store of processed identifiers. A repeat exits immediately, because vendor systems retry and a workflow without this step sends twice.
- 03
Fetch and enrich
Related records are read from the systems that own them, so the workflow acts on current data rather than whatever the trigger payload happened to contain.
- 04
Branch on conditions
The flow splits on the real exceptions, not just the standard case, with a default branch that raises rather than silently doing nothing.
- 05
Act idempotently
Each action carries a key derived from the record and the step. Messages, tasks and record writes are keyed so a retried run does not duplicate them.
- 06
Handle failure
An error branch records the payload and the error to a queue for replay, and raises a notification. A run that fails silently is worse than one that never ran.
Architecture
How the pieces connect
- 01Source systemstoTrigger
event. Asynchronous delivery.
- 02TriggertoDedupe store
check
- 03TriggertoWorkflow
Application data exchange
- 04WorkflowtoInternal service
complex logic
- 05WorkflowtoTarget systems
keyed actions
- 06WorkflowtoFailure queue
on error. Asynchronous delivery.
Events
Webhooks we handle
- Inbound webhooks from CRM, commerce and payment platforms, authenticated before processing
- Outbound calls to internal services carrying an idempotency key
- Error notifications to a channel a person actually reads
- Scheduled reconciliation workflows that compare two systems and report drift
Reliability
What makes it hold
Verify before parsing
A webhook trigger checks a shared secret or a signature over the raw body before the workflow does anything. An open webhook URL is an open door.
Deduplicate first
Vendor platforms retry, and some deliver the same event more than once by design. Processed identifiers are stored and checked as the first real step.
Keyed actions
Sends and writes carry a key derived from the record and the step, so a retried execution is a no operation rather than a second message.
Explicit error branches
Every workflow has an error path that records the payload and raises a notification. Default behaviour on failure is silence, which is the wrong default.
Concurrency and rate limits
Workflows hitting rate limited APIs run with a concurrency cap and a backoff, because parallel execution against a limited endpoint produces a burst of failures.
Thin workflows
Business logic lives in a service the workflow calls. Rules buried across forty nodes cannot be tested, reviewed or explained.
Security
How it is secured
- Self hosted on infrastructure you own, so workflow data does not transit a vendor platform.
- Credentials stored in the n8n credential store with scoped access and a documented rotation procedure.
- Webhook endpoints authenticated and rate limited.
- Access to the editor restricted, with changes versioned through exported definitions in version control.
- Personal data minimised in execution history, with a retention policy applied.
- Separate instances or separate credentials for test and production.
Evidence
Where we have built this
- B2B Lead Intake & CRM AutomationA completed integration for an anonymous B2B services client: website lead funnel, quote forms, CRM API ingestion, pipeline and AI automations, Resend email, and n8n orchestration.
- Configurable CRM for Service BusinessesOne configurable CRM with tailored pipelines for lawn care, pest control, real estate, HVAC, nonmedical beauty and wellness services, and auto detailing.
FAQ
Questions people actually ask
When would you write code instead?
When the logic has real complexity, when volume is high enough that per execution overhead matters, or when the behaviour needs an automated test suite. A workflow that has grown to fifty nodes should have been a service.
Can our team edit the workflows?
Yes. That is one of the main reasons to use an orchestrator. We hand over the instance, the definitions and a runbook, and exported definitions are kept in version control so a change can be reviewed and reverted.
Where does it run?
On infrastructure you own, so credentials and data stay inside your environment. That is the difference between self hosted orchestration and a hosted automation service.
What happens when a workflow fails halfway?
Completed steps are idempotent so a replay is safe. The error branch records the payload and the error, and the run can be replayed from the queue once the cause is fixed.
How do you stop duplicate messages?
Two layers. Trigger level deduplication on the event identifier, and keyed actions so a repeated execution cannot send twice.
Is it suitable for high volume?
Up to a point. Per execution overhead is real, and above a certain rate a purpose built consumer is cheaper and more predictable. We size that during design rather than after.
Let’s talk about the system you need.
Tell us where the current process breaks down. We can map the workflow, examine the integration requirements and define a practical scope for the build.
- A mutual NDA is signed before project details are shared.
- Scope is fixed in writing before any build starts.
- You own the source code, the IP and the documentation at delivery.
- Support plans are available and tailored on a discovery or technical call.