Webhooks are how K3X talks to other tools in real time. In K3X they are built around agents: each agent can receive a webhook to start a run, and an agent step can push a webhook out to any URL.
Every agent has its own secure webhook URL in the form https://api.k3x.ai/webhooks/agents/<id>. Anything that can send an HTTP POST with a JSON body can use it: Make, Zapier, n8n, a form provider, Stripe, a script.
Open the Agents tab and create an agent, or open an existing one.
In the agent's Goal, describe what should happen when data arrives, for example "When a demo request comes in by webhook, find or create the company by website, add the person, create a deal in Demo Booked and assign the owner."
Add Webhook as a trigger.
Open the Webhook tab on the agent and copy the URL.
Paste the URL into the other tool and send a test POST.
Check the agent's Activity tab for the run.
The agent reads the payload fields by name. If your JSON has "email", "company" and "notes", you can refer to them that way in the goal and steps. Keep keys simple and consistent, and send Content-Type: application/json.
A sample payload:
{"source": "website-form", "name": "Jane Doe", "email": "[email protected]", "company": "Acme Roofing", "website": "acmeroofing.com", "notes": "Wants a demo next week"}
Treat the URL like a password. Do not post it in public channels or commit it to a public repository. The Webhook column in the Agents list shows which agents have the webhook switched on.
To tell the rest of your stack what K3X did, add a step to the agent that posts to a URL, for example "Send a webhook to https://hook.example.com/k3x with the company name, website, deal stage and a one-line summary." The agent delivers a JSON payload with those fields when it reaches that step.
The agent's Deliveries tab lists every outbound delivery with its status, so you can see what was sent and whether the receiving tool accepted it.
Data created elsewhere should appear in K3X: inbound. Form submission, booked meeting, payment, new row in a sheet.
Something K3X did should appear elsewhere: outbound. Post a Slack message, append a row, update a legacy CRM.
Both: one agent can receive, act and push back the result.
The K3X API and MCP tools call companies leads and people contacts. You will see those words in tool names such as create_lead and in outbound payloads. They mean the same records you see in the Companies and People tabs.
No run in Activity: the request did not arrive. Check the URL, the method (POST) and that the sending scenario or Zap is switched on.
Run failed: the request arrived but the agent could not complete a step. Open the run in Activity; the error names the step. Usually a field name in the goal does not match a key in the payload.
Outbound not received: check the Deliveries tab for the status, then confirm the destination URL is public HTTPS and the receiver is active.
Receiving a webhook is free. The run it starts spends AI credits from your pool like any other agent run.
Connect K3X with Make.com
Connect K3X with Zapier
Connect K3X with n8n
Which integrations does K3X support?