Webhooks

Send application and stage change events to your endpoint with delivery logs and retries.

Push application and stage change events from Hirekal to a URL you control. Configure webhooks per job in the console - each job can have its own endpoint, triggers, and delivery history. See also Integrations.

Webhook integration and delivery logs in job settings

How it works

When something happens on a job that you subscribed to, Hirekal sends a JSON payload to your URL right away and saves the result in Webhook Deliveries. If your server does not respond successfully, Hirekal retries automatically. You can also retry failed sends yourself from the console.

Candidate submits or stage changes
        ↓
Hirekal sends JSON to your URL
        ↓
Result saved in Webhook Deliveries
        ↓
Failed? Retry automatically (up to 3 more times)

Open Settings on a published job - see Job settings. Use Webhook Integration to configure the endpoint and Webhook Deliveries to review sends and retries.

Event types

EventWhen it firesWhat you receive
New ApplicationA candidate submits an application on this jobJob summary, application contact fields, optional full answers and transcripts
Stage ChangeAn application moves to a different pipeline stageJob summary, application summary, previous stage, current stage

Stage-change webhooks do not fire when the stage is unchanged. When you Save or Enable an endpoint, Hirekal sends a test POST so you can confirm your server is reachable.

Toggle each event independently in Trigger Events on the webhook settings page.

Setup

Open webhook settings

Job detail → Settings → Webhook Integration.

Register endpoint

HTTPS URL, webhook secret, then Save. Hirekal validates the URL live.

Select events & payload

Turn on New Application and/or Stage Change. Choose payload detail level.

Enable delivery

Enable the endpoint. Failed test connections block enable until fixed.

Where to configure

Webhooks are scoped to one job. Open the job in the console, go to Settings, then:

SectionWhat it is for
Webhook IntegrationEndpoint URL, secret, trigger toggles, payload options, enable/disable
Webhook DeliveriesHistory of every send, filters, manual retry for failures

Register your endpoint

  1. Enter your Webhook URL - must be a valid http:// or https:// URL (use HTTPS in production).
  2. Hirekal generates a Webhook Secret automatically. It is sent on every delivery as the header X-Hirekal-Signature (a shared secret your server compares - not a signed hash of the body).
  3. Choose Trigger Events and Payload Options (below).
  4. Click Save. Hirekal sends a test POST to the URL before saving. If the endpoint is unreachable or returns an error, the URL is rejected and your previous configuration stays in place.

Trigger events and payload

Trigger Events

ToggleFires when
New ApplicationCandidate completes and submits the apply flow
Stage ChangeRecruiter or hiring manager moves the application to another stage

Payload Options

ToggleWhat it does
Include payload detailsOn New Application events, adds field values, question answers, video URLs, transcripts, and speech metrics in the same send. When off, the payload stays slimmer (job + application summary only). Stage-change payloads stay compact either way.

Use Sample payload in the console to preview JSON for each event type before you go live.

Enable and test

After saving an endpoint, click Enable to start sending events. Enable runs another test connection — if your server rejects the test (wrong secret, 401, timeout), enable is blocked until the endpoint is fixed.

You can Disable delivery without deleting the URL, or Delete to reset webhook configuration (delivery history is kept).

When webhooks fire

Webhooks are real-time — Hirekal sends as soon as the event happens, as long as the trigger is on and the endpoint is Enabled.

EventFires instantly when…
New ApplicationA candidate submits their application
Stage ChangeSomeone moves an application to a different stage in the candidate drawer (see Collaboration)

Turn on Include payload details if you want the New Application JSON to also include answers, video links, transcripts, and speech metrics in that same send.

Request format

Each delivery is an HTTP POST with:

ItemDetail
Content-Typeapplication/json
User-AgentHirekal-Webhook/1.0
X-Hirekal-SignatureYour webhook secret, when configured
BodyJSON - event type, timestamp, job, application, and event-specific fields

New Application payloads include candidate contact data, apply link query params (for tracking), and - when payload details are on - field values, question answers, media URLs, transcripts, and communication metrics.

Stage Change payloads include job and application summaries plus previous and current stage.

Return any 2xx status quickly. Do heavy processing on your server after you respond - do not block the HTTP response.

Retries and delivery logs

Automatic retries

If a send fails - your server returns an error, is unreachable, or does not respond in time - Hirekal retries automatically:

After failed attemptWait before next try
130 seconds
260 seconds
390 seconds

That is one initial send plus up to three retries (four attempts total). After that, the delivery is marked Failed in Webhook Deliveries. Each attempt waits up to 15 seconds for a response by default.

Webhook Deliveries

Open Settings → Webhook Deliveries on the job to see every send:

What you seeMeaning
SentYour endpoint returned a successful response
FailedAll automatic retries were used and the send still did not succeed
SkippedThe webhook was disabled or the URL changed before this send finished — it will not retry

Filter by date, event type (New Application, Stage Change), and status. Each row shows the HTTP response, response time, and a snippet of what your server returned - useful when debugging URL, secret, or timeout issues.

To try again after a failure, select one or more Failed rows and click Retry webhook. Hirekal sends the payload again using your current endpoint settings.

Security

  • Use HTTPS endpoints in production.
  • Compare incoming X-Hirekal-Signature to the secret shown in Webhook Integration before trusting the body.
  • Return 2xx promptly; run long-running ATS or warehouse work in the background on your side.
  • Treat webhook URLs and secrets like API credentials - save a new endpoint if you need to rotate a compromised secret.

On this page