Pro plan. n8n works through trigger URLs, webhooks, HTTP steps and listeners (and API keys to read a contact), which are part of Pro and Agency (and the free trial). Anything you already have keeps working on every plan. See Plans and billing.
- HTTP Request node sends people to a campaign’s trigger URL.
- Webhook node receives Kerux events (replies, accepted invitations, meetings).
- A Call & wait step in Kerux calls your n8n workflow and waits for its answer, so n8n can score, enrich or route a contact mid-campaign.
How it connects: Kerux’s trigger URLs, webhooks and callback URLs, with n8n’s HTTP Request node and Webhook node.
1. Send people from n8n to a campaign
1
Copy the trigger URL
In Kerux, open the campaign, click + Add on the Trigger half of the start box and choose Incoming webhook (API). Click Add, then Copy link.
2
Add an HTTP Request node
Method POST, the URL you copied, Send Body on, body content type JSON.
3
Map the fields
linkedin_url is required: Kerux knows people by their LinkedIn profile and never adds the same one twice.{ "leads": [ ... ] }. Kerux answers 202:
custom values become contact fields you can use in messages, for example {{contact.custom.score}}. Turn on Require a signature in Integrations > Developers > Trigger URLs if you sign requests (Standard Webhooks).
2. Receive Kerux events in n8n
1
Add a Webhook node
Method POST. Copy its Production URL (activate the workflow).
2
Add the endpoint in Kerux
In Integrations > Developers, under Webhooks, add that URL and pick the events, for example
reply.positive, linkedin.invitation_accepted and meeting.booked. Click Send test event.GET https://www.usekerux.com/api/v1/leads/{{ $json.data.lead_id }} with the header Authorization: Bearer YOUR_KERUX_API_KEY (create the key in Integrations > Developers, scope leads:read).
Every delivery is signed with Standard Webhooks (webhook-id, webhook-timestamp, webhook-signature headers); check it in a Code node with the endpoint’s whsec_ secret if the workflow does anything important.
3. Let n8n answer a waiting contact (Call & wait)
1
Add a Call & wait step in Kerux
It POSTs the contact to your n8n Webhook node and waits. Put the contact’s callback URL in the body:
"callback_url": "{{wait.callback_url}}", with the fields n8n needs.2
Answer from n8n
At the end of the workflow, an HTTP Request node POSTs JSON to the
callback_url it received, for example { "score": 87, "segment": "agency" }.3
Use the answer
Later steps read
{{steps.<step>.payload.score}} and {{steps.<step>.payload.segment}}. If n8n never answers, the step goes out through timed out at the limit you set.Test with one contact
In the campaign’s Builder, click Test to open Test on one contact. The journey shows the call to n8n and n8n’s answer. For the trigger URL, run the n8n workflow once and check that the person appears in the campaign.Common errors
422 VALIDATION_FAILED from the trigger URL
422 VALIDATION_FAILED from the trigger URL
A field is missing or too long;
linkedin_url is required. The answer lists the field.401 INVALID_SIGNATURE
401 INVALID_SIGNATURE
The trigger requires a signature and the request wasn’t signed with its secret. Sign it, or turn Require a signature off.
n8n gets nothing
n8n gets nothing
The workflow must be active for the Production URL to answer. Use Send test event in Kerux and look at the endpoint’s delivery log in Integrations > Developers.