Webhook Configuration
Configure webhook endpoints in your JobHive dashboard:- Navigate to Settings → Webhooks
- Add your endpoint URL (must be HTTPS)
- Select which events to receive
- Save your webhook secret for verification
Event Types
JobHive sends webhooks for the following events:interview.scheduled
interview.scheduled
Triggered when a new interview is scheduled
interview.started
interview.started
Triggered when candidate joins and interview begins
interview.completed
interview.completed
Triggered when interview is finished
interview.cancelled
interview.cancelled
Triggered when interview is cancelled
results.analyzed
results.analyzed
Triggered when AI analysis is complete (a few seconds after interview.completed)
candidate.no_show
candidate.no_show
Triggered when candidate doesn’t join within 15 minutes of scheduled time
Webhook Payload Structure
All webhooks follow this consistent structure:Webhook Security
Signature Verification
JobHive signs each webhook with your webhook secret. Verify the signature to ensure authenticity:- Node.js
- Python
Headers
JobHive includes these headers with every webhook:Retry Logic
JobHive automatically retries failed webhook deliveries:- Retry Schedule: 1min, 5min, 30min, 2hr, 12hr, 24hr
- Failure Conditions: Non-2xx response, timeout (>10s), connection error
- Max Attempts: 6 total attempts over ~37 hours
- Exponential Backoff: Delays increase between attempts
Testing Webhooks
Development with ngrok
Use ngrok to test webhooks locally:Test Events
Trigger test events from your JobHive dashboard:- Go to Settings → Webhooks
- Select your webhook endpoint
- Click Send Test Event
- Choose event type and send
Example Implementation
- Express.js
- Flask
Webhook Management
List Webhook Endpoints
Create Webhook Endpoint
View Webhook Deliveries
Monitor webhook delivery status and retry attempts in your JobHive dashboard under Settings → Webhooks → Delivery Logs.Webhook endpoints must be HTTPS in production. HTTP endpoints are only allowed for development with
localhost URLs.