Deployment webhooks
Enable Webhook under Automatic runs on a Test Plan. The form generates a Webhook URL automatically. Use Copy webhook URL, save the plan, and keep it Active. Call that URL after your deployment succeeds. Treat the complete URL as a secret.
Payload
Send a POST with Content-Type: application/json:
{
"message": "Production deploy 8f4a21d",
"overrideBaseUrl": "https://preview.example.com"
}message is required, non-empty, and limited to 500 characters. It supplies deployment context for Run notifications. overrideBaseUrl is optional, limited to 2000 characters, and affects only that execution. It must be an HTTP(S) URL with a valid domain hostname; omitting the scheme defaults to HTTPS. Localhost and IP addresses are not accepted.
Response
A valid request returns 202 Accepted:
{
"accepted": true,
"triggerRunId": "<workflow task identifier>"
}Acceptance is not the final result
This confirms that workflow dispatch was accepted. It is not a completed test result or a saved Run ID. The worker still resolves the plan, targets, and credits; an unavailable plan, empty coverage, or insufficient credits can prevent a new Run. Repeated requests can start separate executions, so retry deliberately.
An invalid or unavailable token, disabled Webhook option, Inactive plan, or deleted plan/project returns 404. Invalid JSON or payload returns 400. After acceptance, review Runs for the resulting execution and its evidence. The message is passed as notification source context; do not rely on it being a stored field in Run detail.
Environment overrides
Use overrideBaseUrl for preview or branch deployments where the URL changes. The plan still uses its project's Test Accounts and case configuration, so prepare those for the target environment.
See GitHub Actions, GitLab CI, or cURL for request examples.
