This feature is currently in beta and requires the
parallel-beta:
webhook-2025-08-12
header when using the Task API. Overview
Webhooks allow you to receive real-time notifications when your Parallel Task Runs complete, eliminating the need for constant polling—especially for long-running or research-intensive tasks. Our webhooks follow standard webhook conventions to ensure security and interoperability. You can view and manage the secret keys used to sign webhook calls in Settings → Webhooks.Setup
1. Record your webhook secret
Go to Settings → Webhooks to view your account webhook secret.2. Configure Webhook in Task Run Request
To register a webhook for a task run, include a webhook parameter in your task run creation request:Webhook Parameters
Parameter | Type | Required | Description |
---|---|---|---|
url | string | Yes | Your webhook endpoint URL. Can be any domain. |
event_types | array[string] | Yes | Currently only ["task_run.status"] is supported. |
Webhook Events
Task Run Status
We currently supporttask_run.status
event on task run completions.
When a task run finishes, either with a success or a failure, we will send a
POST
request to your configured webhook endpoint.
Response Format
Request Headers
Your webhook endpoint will receive requests with these headers:webhook-id
: Unique identifier for each webhook eventwebhook-timestamp
: Unix timestamp in secondswebhook-signature
: One or more versioned signatures, e.g.v1,<base64 signature> v1,<base64 signature>
webhook-signature
header can include multiple entries separated by spaces; you should check each entry
until you find one which matches the signature generated by your webhook secret.
Under normal circumstances there will only be one signature in the webhook-signature
header, but there may be multiple if you rotate your webhook secret without immediately
expiring the old secrets.
Webhook Payload Structure
Each webhook payload contains the following fields:timestamp
: ISO 8601 timestamp of when the event occurredtype
: Event type (currently onlytask_run.status
is supported)data
: Event-specific payload. For the ‘task_run.status’ event, it is the complete Task Run object
Example Payloads
The following examples demonstrate the payload structure for completed and failed task runs:Success
Failure
Security & Reliability
HMAC Signature Verification
Webhook requests are signed using HMAC-SHA256 with standard Base64 (RFC 4648) encoding with padding. The signature header is formatted asv1,<base64 signature>
where <base64 signature>
is computed over the payload below.
<webhook-id>
: The value of thewebhook-id
header<webhook-timestamp>
: The value of thewebhook-timestamp
header<payload>
: The exact JSON body of the webhook request
webhook-signature
header uses space-delimited signatures; check each signature until one matches.
Here’s how ou may verify the signature:
Retry Policy
Webhook delivery uses the following retry configuration:- Initial delay: 5 seconds
- Backoff strategy: Exponential backoff (doubles per failed request)
- Maximum retries: Multiple attempts over 48 hours