Skip to main content
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.
n8n connects to Kerux with its own built-in nodes, no community node needed:
  • 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.
Up to 100 people at once: { "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.
What arrives (a positive reply, from Kerux’s code):
Events carry the contact’s id, not its email. To get the contact’s details, add an HTTP Request node: 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.
A callback URL resumes exactly one contact at one step and is signed, so it can’t be guessed or reused for another contact.

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

A field is missing or too long; linkedin_url is required. The answer lists the field.
The trigger requires a signature and the request wasn’t signed with its secret. Sign it, or turn Require a signature off.
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.
Related: Trigger URLs and forms, Webhooks, Webhook steps, API.