Webhooks
Webhooks allow you to receive real-time notifications about events in the Taptalent platform. Instead of polling the API for updates, you can configure a webhook URL to automatically receive notifications when specific events occur.What Are Webhooks
Webhooks are HTTP callbacks that send event data to your application when something happens in TapTalent. This enables real-time, event-driven integrations without the need to continuously poll the API.When to Use Webhooks
- High-volume integrations: Receive updates immediately without polling
- Real-time synchronization: Keep your systems in sync with TapTalent
- Event-driven workflows: Trigger actions in your system based on TapTalent events
Webhooks vs Polling
- Webhooks: TapTalent sends data to your endpoint when events occur (recommended)
- Polling: Your application periodically checks for updates (less efficient)
Webhook URL Configuration
Webhook URLs can only be configured through the TapTalent dashboard. This ensures proper authentication and access control. The webhook URL is configured at the company level and applies to all API key operations for that company.Webhook URL configuration is not available via the Partner API. You must configure your webhook URL through the TapTalent dashboard interface.
Admin Restriction
Only users with the following roles can configure webhook URLs:- Company Admin
- Admin
- Super Admin
Webhook Setup Process
Step 1: Create a Webhook Endpoint
Create an HTTP endpoint in your application that can receive POST requests:Step 2: Configure Webhook URL
Webhook URLs must be configured through the TapTalent dashboard. Follow these steps:- Log in to your Taptalent Dashboard
- Navigate to Account Settings > Developers > API Key Management
- Scroll to the Webhook Configuration section
- Enter your webhook URL (must be HTTPS)
- Click Save Webhook URL
The webhook URL is configured at the company level. Once set, it will be used for all webhook events related to your company’s API operations.
Step 3: Verify Your Endpoint
Ensure your webhook endpoint:- Is publicly accessible (not behind a firewall)
- Uses HTTPS (required for security)
- Responds quickly (within 5 seconds)
- Returns a 2xx status code to acknowledge receipt
Webhook Events
TapTalent sends webhook events for various operations. All webhook payloads follow a consistent structure.Webhook Payload Structure
Webhook Headers
All webhook requests include the following headers:Content-Type: application/jsonX-Webhook-Event: The event type (e.g.,resume.bulk_upload_parse.started)X-Webhook-Timestamp: ISO 8601 timestamp of when the event occurred
Supported Event Types
Resume Events
resume.bulk_upload_parse.started
Triggered when a bulk resume upload batch starts processing.
resume.bulk_upload_parse.failed
Triggered when a bulk resume upload batch fails.
More event types will be added as new features are released. Check back for updates.
Security Considerations
HTTPS Required
Webhook endpoints must use HTTPS. TapTalent will not send webhooks to HTTP endpoints.Webhook Verification
Currently, webhooks are identified by:- The
X-Webhook-Eventheader containing the event type - The
X-Webhook-Timestampheader with the event timestamp - The
companyIdin the payload matching your company
Webhook signature verification will be available in a future release. This section will be updated with verification details.
Best Practices
- Use HTTPS: Always use HTTPS for webhook endpoints
- Verify Company ID: Verify the
companyIdin the payload matches your company - Idempotency: Make your webhook handler idempotent to handle duplicate deliveries
- Quick Response: Respond quickly (within 5 seconds) to avoid timeouts
- Error Handling: Log errors and handle them gracefully
- Rate Limiting: Implement rate limiting on your webhook endpoint
Retry Policy
TapTalent implements automatic retries for failed webhook deliveries:- Initial attempt: Immediate
- Retry 1: After 200ms (exponential backoff)
- Retry 2: After 400ms
- Retry 3: After 800ms
Handling Retries
Your webhook endpoint should:- Return a 2xx status code to acknowledge successful receipt
- Return a non-2xx status code if there’s an error (will trigger retry)
- Be idempotent to handle duplicate deliveries from retries
- Process webhooks asynchronously to respond quickly
Testing Webhooks
Webhook Receiver Endpoint
TapTalent provides a test webhook receiver endpoint for testing:POST /v1/partner/webhook-receiver
This endpoint logs webhook payloads and can be used for testing webhook delivery.
Example Request:
Company-Level Configuration
The webhook URL is configured at the company level and applies to all API key operations for that company. Only one webhook URL can be configured per company.Troubleshooting
Webhook URL Not Saving
- Verify you have administrator permissions
- Check that the URL is valid and uses HTTPS
- Ensure the URL is publicly accessible
Webhook Not Receiving Events
- Verify your webhook URL is correctly configured
- Check that your endpoint is publicly accessible
- Ensure your endpoint responds with 2xx status codes
- Check server logs for incoming requests
- Verify HTTPS is properly configured
Webhook Delivery Failures
- Check your endpoint logs for errors
- Verify your endpoint responds within 5 seconds
- Ensure your endpoint returns proper HTTP status codes
- Check network connectivity and firewall rules
Next Steps
- Configure your webhook URL in the dashboard
- Review Candidates API to see webhook events in action
- Check Integration Notes for best practices