Webhooks let you receive real-time notifications when events happen in TalentLynk. Instead of polling the API for updates, you configure an endpoint and TalentLynk will send an HTTP POST request to it whenever a subscribed event occurs.
Currently supported events:
transcript.created— Sent when a call transcript is completed and ready to view.
How it works
When a subscribed event occurs, TalentLynk sends a POST request to your configured URL with the following envelope:
{
"event": "transcript.created",
"timestamp": "2026-03-26T14:32:00.000Z",
"data": {
// Event-specific payload
}
}If your endpoint doesn't respond with a 2xx status code, TalentLynk will retry up to 3 times with increasing delays. After all retries are exhausted, the delivery is marked as failed and logged.
Payload: transcript.created
The data field for transcript.created contains the same transcript object returned by the Get Transcript API endpoint, including messageId, status, utterances, conversation, duration, confidence, languageCode, recruiter, and timestamps.
Example payload:
{
"event": "transcript.created",
"timestamp": "2026-03-26T14:32:00.000Z",
"data": {
"messageId": "6601abc123def4567890abcd",
"status": "completed",
"utterances": [
{ "speaker": "A", "text": "Hi, thanks for calling." },
{ "speaker": "B", "text": "Hello, I'm calling about the role." }
],
"conversation": "A: Hi, thanks for calling.\nB: Hello, I'm calling about the role.",
"duration": 245.5,
"confidence": 0.94,
"languageCode": "en",
"recruiter": "A",
"error": null,
"createdAt": "2026-03-26T14:00:00.000Z",
"triggeredAt": "2026-03-26T14:01:12.000Z"
}
}For full details on each field, refer to the transcript section in Accessing the TalentLynk API.
Requirements for your endpoint
Must use HTTPS (HTTP is not supported).
Must be publicly accessible (private networks, localhost, and IP addresses are rejected).
Should respond within 10 seconds (requests time out after this).
Should return a
2xxstatus code to acknowledge receipt.
Authentication
It's strongly recommended to configure TalentLynk to authenticate webhook deliveries so your endpoint can verify the request is genuine. Two authentication methods are supported:
Method | Description |
Bearer token | TalentLynk sends an |
Custom header | TalentLynk sends a custom header of your choosing (e.g., |
Adding a webhook
Navigate to Settings → Integrations → Webhooks.
Click Add Webhook.
Fill in the required fields:
URL — The HTTPS endpoint where you want to receive events. Must be a publicly accessible URL (IP addresses and HTTP URLs are not accepted).
Events — Select which events to subscribe to (currently
transcript.created).Authentication — Optionally choose Bearer Token or Custom Header and provide your credentials.
Description — An optional label to help you identify this webhook (e.g., "CRM sync" or "Slack notifications").
Click Save.
⚠️ You can currently add a maximum of 2 webhook subscriptions per account.
Testing a webhook
After adding a webhook, you should test it to make sure your endpoint receives requests correctly.
Find your webhook in the list and click Test.
TalentLynk will send a test payload to your endpoint:
{
"event": "webhook.test",
"timestamp": "2026-03-26T14:35:00.000Z",
"data": {
"message": "This is a test webhook from TalentLynk."
}
}The result is shown immediately:
Success — Your endpoint responded with a
2xxstatus. You'll see the HTTP status code and response time.Failure — Something went wrong. The error message will tell you what happened (e.g., connection timeout, HTTP 404, DNS failure).
Test deliveries also appear in the delivery logs with the event webhook.test, so you can review them later.
Editing a webhook
Find your webhook in the list and click Edit.
You can change the URL, events, authentication, description, or toggle the webhook on/off using the Active switch.
Click Save.
Setting a webhook to inactive pauses all deliveries without deleting the subscription. You can reactivate it at any time.
Delivery logs
Delivery logs show you the history of every webhook delivery attempt, including successes, failures, and retries.
Find your webhook in the list and click View Logs.
The log shows the most recent 50 deliveries, newest first.
Each log entry includes:
Field | Description |
Status | Whether the delivery succeeded or failed. |
Event | The event type (e.g., |
HTTP Status | The response status code from your endpoint, or "Network Error" if the request couldn't connect. |
Attempt | Which attempt this was (1, 2, or 3). Failed deliveries are retried automatically. |
Duration | How long the round-trip took. |
Error | The error message, if the delivery failed. |
Identifiers | Related entity IDs (e.g., the message ID) so you can trace a delivery back to the source event. |
Time | When the delivery attempt was made. |
Delivery logs are retained for 90 days and then automatically cleaned up.
Retry behaviour
When a delivery fails, TalentLynk retries automatically:
Attempt | Delay |
1st | Immediate |
2nd | ~2 seconds after the first failure |
3rd | ~4 seconds after the second failure |
Retries only happen for server errors (5xx) and network failures. Client errors (4xx) are not retried, as they typically indicate a misconfiguration on the receiving end.
If all 3 attempts fail, the delivery is marked as failed in the logs. TalentLynk does not retry beyond 3 attempts.


