Skip to main content

TalentLynk Webhooks

How to configure webhooks in TalentLynk to receive real-time notifications when certain events happen.

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 2xx status 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 Authorization: Bearer <your-token> header with each request.

Custom header

TalentLynk sends a custom header of your choosing (e.g., X-Webhook-Secret: my-secret-value).


Adding a webhook

  1. Navigate to Settings → Integrations → Webhooks.

  2. Click Add Webhook.

  3. 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").

  4. 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.

  1. Find your webhook in the list and click Test.

  2. 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."
}
}
  1. The result is shown immediately:

    • Success — Your endpoint responded with a 2xx status. 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

  1. Find your webhook in the list and click Edit.

  2. You can change the URL, events, authentication, description, or toggle the webhook on/off using the Active switch.

  3. 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.

  1. Find your webhook in the list and click View Logs.

  2. 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., transcript.created or webhook.test).

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.

Did this answer your question?