Incoming Webhooks
An incoming webhook is a secret address. Another tool posts data to it. Konektor reads the post and adds a lead, or updates a lead that already exists.
Use it with Zapier, Make, n8n, a form builder, or a CRM. You do not need an API key.
For the other direction, where Konektor sends events to your tool, read Webhooks. For step-by-step guides, read Zapier, Make, and n8n.
Requirements
- You are the workspace owner.
- The plan includes the API: Pro, Enterprise, or a Custom plan that turns it on. Trial and Starter do not include incoming webhooks.
- The workspace has fewer incoming webhooks than the plan allows: 20 on Pro and Custom, and 50 on Enterprise.
Create an incoming webhook
- Open API & Webhooks.
- In Incoming webhooks, select Add incoming webhook.
- Enter a name that tells you which tool sends the leads, then select Create.
- Copy the address. It looks like
https://konektor.id/api/hooks/in/....
Anyone who has the address can add leads. Keep it private. To read it again, open the menu of the webhook and select Show address. Only the owner can do this.
Send a test post and choose the fields
Konektor does not know the shape of your data until it sees one post.
- Select Set up on the webhook, then select Wait for a test post.
- Send one test post from your tool to the address. Use real-looking data.
- Konektor keeps this post as an example and lists its fields. This post does not make a lead.
- For each lead field, choose the field of your post that fills it.
- Set the defaults and the match field (see below), then select Save.
The editor waits for 2 minutes. If no post arrives, select the button again. A new test post replaces the old example.
Choose at least a name, a phone number, or an email.
Lead fields
| Lead field | What it fills |
|---|---|
| Name | The first word becomes the first name. The rest becomes the last name. |
| Phone | The phone number. Up to 20 characters. |
| The email address. It must be a valid address. | |
| Status | A lead status such as new or qualified. An unknown value is ignored, and the default applies. |
| Source | A lead source such as website or ads. An unknown value is ignored, and the default applies. |
| Value | The estimated value. A number, or text with digits only. |
| Notes | Free text. Up to 5000 characters. |
| Reference from the other tool | An ID from the other tool. Up to 150 characters. |
| UTM source, medium, campaign, term, content | Campaign tags. Up to 200 characters each. |
A path points to a field inside the post. Use dots to go deeper: contact.email. Use a number for a list item: items.0.sku. Konektor shows the paths of your test post, so you only choose from a list.
If a post has no name, Konektor uses the email name or the phone number as the first name.
Defaults and existing leads
Source for a new lead and Status for a new lead apply when the post does not carry them. They never change a lead that already exists.
Find an existing lead by decides what happens when a post arrives:
| Match | Result |
|---|---|
| Nothing | Every post makes a new lead. |
| Reference from the other tool | A lead with the same reference is updated. |
| Phone | A lead with the same phone number is updated. |
| A lead with the same email is updated. |
If no lead matches, Konektor makes a new one. If you map a reference and set no match, a post with a reference that already exists updates that lead, so a retry does not make a double.
An update changes only the fields that you mapped. A lead created or changed this way also sends your outgoing lead.created and lead.updated webhooks, with source set to inbound_webhook.
What the address accepts
| Item | Rule |
|---|---|
| Method | POST |
| Body | JSON (application/json) or form data (application/x-www-form-urlencoded). |
| Size | Up to 64 KB. |
| Speed | Up to 60 posts per minute from one IP address. |
Answers
| Status | Meaning |
|---|---|
202 with "lead_id" | The lead was made or updated. "action" is created or updated. |
202 with "captured": true | The post was kept as the test example. No lead was made. |
202 with "mapped": false | The webhook has no field setup yet. No lead was made. |
404 | The address is wrong, off, deleted, or not available on the plan. All of these give the same answer. |
409 | The post matches a lead that already exists and cannot be added again. |
413 | The body is larger than 64 KB. |
415 | The body is not JSON or form data. |
422 | The post has no name, phone, or email, or a value that a lead cannot hold. |
429 | The daily lead limit of the workspace is full, or the address was called too often. |
503 | Konektor could not save the post now. Send it again. |
The webhook card shows the time of the last post, how many posts arrived, and the reason of the last failure.
Change or stop an address
- Use the switch to turn an address off. It answers
404until you turn it on again. - Select Make a new address if the address leaked. The old address stops at once. Paste the new address in your tool.
- Delete the webhook to remove it. This cannot be undone.
Manage from Claude and the Agent API
Claude and AI agents can list, create, edit, and delete incoming webhooks after you agree, and can read the field list of the test post. They never see the values of the test post. See Agent API and Claude connector.
Need More Help?
Our team is ready to help you maximize ad tracking and business attribution.
Wulan answers your questions and sends tutorial videos. Session scheduling is available through Wulan if you still need it.
© 2026 Konektor. All rights reserved.
