Integrations
Send Leads By Webhook
Push leads from another platform into Repen.
What You Need
Before testing, make sure you have:
- the Repen webhook URL
- the matching API key or secret
- a sample lead payload
- access to the source platform that will send the webhook
Authentication Options
Use one of these:
x-api-key: <secret>Authorization: Bearer <secret>
If the request is missing the API key or bearer token, Repen will not accept the webhook.
Minimum Payload Requirement
Your payload must include a phone number.
Recommended Fields
For a better test, also send:
- source
- first name
- last name
- notes or custom fields if you use them downstream
Example Requests
curl -X POST "https://your-api-base/v1/leads/webhooks/<orgslug>/<webhookId>" \
-H "Content-Type: application/json" \
-H "x-api-key: <your-secret>" \
-d '{
"source": "webhook",
"phone": "+15551234567",
"firstName": "Jamie",
"lastName": "Lee",
"email": "jamie@example.com"
}'
await fetch("https://your-api-base/v1/leads/webhooks/<orgslug>/<webhookId>", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": "<your-secret>"
},
body: JSON.stringify({
source: "webhook",
phone: "+15551234567",
firstName: "Jamie",
lastName: "Lee",
email: "jamie@example.com"
})
})
Best Test Process
Copy the webhook URL from Repen
Use the exact URL generated for the workspace and endpoint you want.
Copy the secret
Make sure you are using the secret that belongs to that exact endpoint.
Send one clean test lead
Keep the first test simple so troubleshooting is easier.
Open All Leads
Find the lead inside the correct Repen workspace.
Confirm routing works
If campaigns are already configured, make sure the lead reaches the expected model or workflow.
Common Mistakes
- sending the request without the auth header
- testing with no phone number
- sending to the wrong workspace
- assuming the source system is firing when no event was actually triggered
Use a unique test lead name the first time you connect a source. It makes verification much faster.