This is the list of event types that we currently send.
For guidance on how to listen to these events, take a look at Svix's guide to consuming webhooks.
The type of action that triggered the webhook
The username of the author of the PR
Whether this pull request was part of a batch
The reason the PR was canceled
Web link to the details about this PR
Whether this event is part of a bisection test run
The PR number
The repository that the webhook event occurred in
3 Items
The current status of the PR
The name of the branch targeted by the merge queue where the event occurred
The branch the pull request or pull request batch was tested on
The SHA of the branch the pull request or pull request batch was tested on
The number of the pull request used to test the pull request or pull request batch
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "canceled",
"author": "string",
"batched": true,
"cancellation_reason": "USER_REQUESTED",
"http_details_url": "http://example.com",
"is_bisection": true,
"pr_number": 0,
"repository": {
"host": "string",
"name": "string",
"owner": "string"
},
"status": "canceled",
"target_branch": "string",
"test_branch": "string",
"test_branch_sha": "string",
"test_pr_number": 0,
"timestamp": "2019-08-24T14:15:22Z",
"type": "pull_request.canceled"
}The type of action that triggered the webhook
The username of the author of the PR
Whether this pull request was part of a batch
The reason the PR failed
Web link to the details about this PR
Whether this event is part of a bisection test run
The PR number
The repository that the webhook event occurred in
3 Items
The current status of the PR
The name of the branch targeted by the merge queue where the event occurred
The branch the pull request or pull request batch was tested on
The SHA of the branch the pull request or pull request batch was tested on
The number of the pull request used to test the pull request or pull request batch
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "failed",
"author": "string",
"batched": true,
"failure_reason": "START_TEST_RUN_INVALID_EVENT",
"http_details_url": "http://example.com",
"is_bisection": true,
"pr_number": 0,
"repository": {
"host": "string",
"name": "string",
"owner": "string"
},
"status": "failed",
"target_branch": "string",
"test_branch": "string",
"test_branch_sha": "string",
"test_pr_number": 0,
"timestamp": "2019-08-24T14:15:22Z",
"type": "pull_request.failed"
}The type of action that triggered the webhook
The username of the author of the PR
Whether this pull request was part of a batch
Web link to the details about this PR
The reason the PR was merged
The PR number
The repository that the webhook event occurred in
3 Items
The current status of the PR
The name of the branch targeted by the merge queue where the event occurred
The branch the pull request or pull request batch was tested on
The SHA of the branch the pull request or pull request batch was tested on
The number of the pull request used to test the pull request or pull request batch
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "merged",
"author": "string",
"batched": true,
"http_details_url": "http://example.com",
"merged_reason": "MERGE_GRAPH_MERGE",
"pr_number": 0,
"repository": {
"host": "string",
"name": "string",
"owner": "string"
},
"status": "merged",
"target_branch": "string",
"test_branch": "string",
"test_branch_sha": "string",
"test_pr_number": 0,
"timestamp": "2019-08-24T14:15:22Z",
"type": "pull_request.merged"
}The type of action that triggered the webhook
The username of the author of the PR
Whether this pull request was part of a batch
The reason the PR is pending failure
Web link to the details about this PR
The PR number
The repository that the webhook event occurred in
3 Items
The current status of the PR
The name of the branch targeted by the merge queue where the event occurred
The branch the pull request or pull request batch was tested on
The SHA of the branch the pull request or pull request batch was tested on
The number of the pull request used to test the pull request or pull request batch
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "pending_failure",
"author": "string",
"batched": true,
"failure_reason": "START_TEST_RUN_INVALID_EVENT",
"http_details_url": "http://example.com",
"pr_number": 0,
"repository": {
"host": "string",
"name": "string",
"owner": "string"
},
"status": "pending_failure",
"target_branch": "string",
"test_branch": "string",
"test_branch_sha": "string",
"test_pr_number": 0,
"timestamp": "2019-08-24T14:15:22Z",
"type": "pull_request.pending_failure"
}The type of action that triggered the webhook
The username of the author of the PR
Web link to the details about this PR
The PR number
The reason the PR was queued
The repository that the webhook event occurred in
3 Items
The current status of the PR
The name of the branch targeted by the merge queue where the event occurred
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "queued",
"author": "string",
"http_details_url": "http://example.com",
"pr_number": 0,
"queued_reason": "MANUAL_PUSH_TO_TARGET_BRANCH",
"repository": {
"host": "string",
"name": "string",
"owner": "string"
},
"status": "queued",
"target_branch": "string",
"timestamp": "2019-08-24T14:15:22Z",
"type": "pull_request.queued"
}The type of action that triggered the webhook
The username of the author of the PR
Web link to the details about this PR
The PR number
The repository that the webhook event occurred in
3 Items
The current status of the PR
The reason the PR was submitted
The name of the branch targeted by the merge queue where the event occurred
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "submitted",
"author": "string",
"http_details_url": "http://example.com",
"pr_number": 0,
"repository": {
"host": "string",
"name": "string",
"owner": "string"
},
"status": "submitted",
"submitted_reason": "USER_REQUESTED",
"target_branch": "string",
"timestamp": "2019-08-24T14:15:22Z",
"type": "pull_request.submitted"
}The type of action that triggered the webhook
The username of the author of the PR
Whether this pull request was part of a batch
Web link to the details about this PR
Whether this event is part of a bisection test run
The PR number
The repository that the webhook event occurred in
3 Items
The current status of the PR
The name of the branch targeted by the merge queue where the event occurred
The branch the pull request or pull request batch was tested on
The SHA of the branch the pull request or pull request batch was tested on
The number of the pull request used to test the pull request or pull request batch
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "testing",
"author": "string",
"batched": true,
"http_details_url": "http://example.com",
"is_bisection": true,
"pr_number": 0,
"repository": {
"host": "string",
"name": "string",
"owner": "string"
},
"status": "testing",
"target_branch": "string",
"test_branch": "string",
"test_branch_sha": "string",
"test_pr_number": 0,
"timestamp": "2019-08-24T14:15:22Z",
"type": "pull_request.testing"
}The type of action that triggered the webhook
The reason the batch was canceled
Whether this event is part of a bisection test run
The PR numbers of the pull requests in the batch
The PR numbers of all pull requests that were tested together in this batch. This may be a superset of pr_numbers if some PRs in the batch failed to merge.
The repository that the webhook event occurred in
3 Items
The current status of the Pull Request batch
The name of the branch targeted by the merge queue where the event occurred
The branch the pull request or pull request batch was tested on
The SHA of the branch the pull request or pull request batch was tested on
The number of the pull request used to test the pull request or pull request batch
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "canceled",
"cancellation_reason": "USER_REQUESTED",
"is_bisection": true,
"pr_numbers": [
0
],
"pr_numbers_in_batch": [
0
],
"repository": {
"host": "string",
"name": "string",
"owner": "string"
},
"status": "canceled",
"target_branch": "string",
"test_branch": "string",
"test_branch_sha": "string",
"test_pr_number": 0,
"timestamp": "2019-08-24T14:15:22Z",
"type": "pull_request_batch.canceled"
}The type of action that triggered the webhook
The reason the batch failed
Whether this event is part of a bisection test run
The PR numbers of the pull requests in the batch
The PR numbers of all pull requests that were tested together in this batch. This may be a superset of pr_numbers if some PRs in the batch failed to merge.
The repository that the webhook event occurred in
3 Items
The current status of the Pull Request batch
The name of the branch targeted by the merge queue where the event occurred
The branch the pull request or pull request batch was tested on
The SHA of the branch the pull request or pull request batch was tested on
The number of the pull request used to test the pull request or pull request batch
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "failed",
"failure_reason": "START_TEST_RUN_INVALID_EVENT",
"is_bisection": true,
"pr_numbers": [
0
],
"pr_numbers_in_batch": [
0
],
"repository": {
"host": "string",
"name": "string",
"owner": "string"
},
"status": "failed",
"target_branch": "string",
"test_branch": "string",
"test_branch_sha": "string",
"test_pr_number": 0,
"timestamp": "2019-08-24T14:15:22Z",
"type": "pull_request_batch.failed"
}The type of action that triggered the webhook
The reason the batch was merged
The PR numbers of the pull requests in the batch
The PR numbers of all pull requests that were tested together in this batch. This may be a superset of pr_numbers if some PRs in the batch failed to merge.
The repository that the webhook event occurred in
3 Items
The current status of the Pull Request batch
The name of the branch targeted by the merge queue where the event occurred
The branch the pull request or pull request batch was tested on
The SHA of the branch the pull request or pull request batch was tested on
The number of the pull request used to test the pull request or pull request batch
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "merged",
"merged_reason": "MERGE_GRAPH_MERGE",
"pr_numbers": [
0
],
"pr_numbers_in_batch": [
0
],
"repository": {
"host": "string",
"name": "string",
"owner": "string"
},
"status": "merged",
"target_branch": "string",
"test_branch": "string",
"test_branch_sha": "string",
"test_pr_number": 0,
"timestamp": "2019-08-24T14:15:22Z",
"type": "pull_request_batch.merged"
}The type of action that triggered the webhook
The reason the batch is pending failure
The PR numbers of the pull requests in the batch
The PR numbers of all pull requests that were tested together in this batch. This may be a superset of pr_numbers if some PRs in the batch failed to merge.
The repository that the webhook event occurred in
3 Items
The current status of the Pull Request batch
The name of the branch targeted by the merge queue where the event occurred
The branch the pull request or pull request batch was tested on
The SHA of the branch the pull request or pull request batch was tested on
The number of the pull request used to test the pull request or pull request batch
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "pending_failure",
"failure_reason": "START_TEST_RUN_INVALID_EVENT",
"pr_numbers": [
0
],
"pr_numbers_in_batch": [
0
],
"repository": {
"host": "string",
"name": "string",
"owner": "string"
},
"status": "pending_failure",
"target_branch": "string",
"test_branch": "string",
"test_branch_sha": "string",
"test_pr_number": 0,
"timestamp": "2019-08-24T14:15:22Z",
"type": "pull_request_batch.pending_failure"
}The type of action that triggered the webhook
The PR numbers of the pull requests in the batch
The PR numbers of all pull requests that were tested together in this batch. This may be a superset of pr_numbers if some PRs in the batch failed to merge.
The reason the batch was queued
The repository that the webhook event occurred in
3 Items
The current status of the Pull Request batch
The name of the branch targeted by the merge queue where the event occurred
The branch the pull request or pull request batch was tested on
The SHA of the branch the pull request or pull request batch was tested on
The number of the pull request used to test the pull request or pull request batch
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "queued",
"pr_numbers": [
0
],
"pr_numbers_in_batch": [
0
],
"queued_reason": "MANUAL_PUSH_TO_TARGET_BRANCH",
"repository": {
"host": "string",
"name": "string",
"owner": "string"
},
"status": "queued",
"target_branch": "string",
"test_branch": "string",
"test_branch_sha": "string",
"test_pr_number": 0,
"timestamp": "2019-08-24T14:15:22Z",
"type": "pull_request_batch.queued"
}The type of action that triggered the webhook
The PR numbers of the pull requests in the batch
The PR numbers of all pull requests that were tested together in this batch. This may be a superset of pr_numbers if some PRs in the batch failed to merge.
The repository that the webhook event occurred in
3 Items
The current status of the Pull Request batch
The reason the batch was submitted
The name of the branch targeted by the merge queue where the event occurred
The branch the pull request or pull request batch was tested on
The SHA of the branch the pull request or pull request batch was tested on
The number of the pull request used to test the pull request or pull request batch
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "submitted",
"pr_numbers": [
0
],
"pr_numbers_in_batch": [
0
],
"repository": {
"host": "string",
"name": "string",
"owner": "string"
},
"status": "submitted",
"submitted_reason": "USER_REQUESTED",
"target_branch": "string",
"test_branch": "string",
"test_branch_sha": "string",
"test_pr_number": 0,
"timestamp": "2019-08-24T14:15:22Z",
"type": "pull_request_batch.submitted"
}The type of action that triggered the webhook
Whether this event is part of a bisection test run
The PR numbers of the pull requests in the batch
The PR numbers of all pull requests that were tested together in this batch. This may be a superset of pr_numbers if some PRs in the batch failed to merge.
The repository that the webhook event occurred in
3 Items
The current status of the Pull Request batch
The name of the branch targeted by the merge queue where the event occurred
The branch the pull request or pull request batch was tested on
The SHA of the branch the pull request or pull request batch was tested on
The number of the pull request used to test the pull request or pull request batch
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "testing",
"is_bisection": true,
"pr_numbers": [
0
],
"pr_numbers_in_batch": [
0
],
"repository": {
"host": "string",
"name": "string",
"owner": "string"
},
"status": "testing",
"target_branch": "string",
"test_branch": "string",
"test_branch_sha": "string",
"test_pr_number": 0,
"timestamp": "2019-08-24T14:15:22Z",
"type": "pull_request_batch.testing"
}Overall confidence score (0-1) for the investigation findings.
ISO 8601 timestamp when the investigation completed.
Array of facts discovered during the investigation with supporting evidence.
The original failure message or error that triggered the investigation.
Unique identifier for this investigation.
Markdown-formatted summary of investigation findings and recommendations.
2 Items
9 Items
{
"confidence": 0.95,
"created_at": "2026-03-27T15:38:28.119Z",
"facts": [
{
"confidence": 0.95,
"content": "The modifications to src/auth/token_validator.ts are likely to have caused the test to become flaky",
"fact_type": "GIT_BLAME"
}
],
"failure_message": "Expected 'foo' to equal 'bar'",
"investigation_id": "584b9c41-f660-4940-881f-42abab23d830",
"markdown_summary": "**Changes to src/auth/token_validator.ts** is the likely caused the test to become flaky. The module was modified in [commit abc123](github.com/trunk-io/flaky-tests/commit/abc123) three days before flakiness began and handles token expiration logic. The failure message references 'token validation error', suggesting the recent changes interact poorly with concurrent token refresh calls.",
"repository": {
"html_url": "https://github.com/trunk-io/flaky-tests",
"id": "1fe5d3b7-81e8-45fa-873b-09b8430f9e97"
},
"test_case": {
"classname": "flaky-tests-subheader.pwtest.ts",
"codeowners": [],
"file_path": "",
"html_url": "https://app.trunk.io/trunk/flaky-tests/test/d6516f41-5ab4-5fdb-9746-f114eeaa8f50/?repo=trunk-io%2Fflaky-tests",
"id": "d6516f41-5ab4-5fdb-9746-f114eeaa8f50",
"name": "flaky tests subheader › flaky tests subheader with repo selected",
"parent": "flaky-tests-subheader.pwtest.ts",
"quarantined": true,
"variant": ""
},
"type": "test_case.investigation_completed"
}Evidence supporting the monitor status change. Structure varies by monitor type.
0 Items
3 Items
2 Items
9 Items
The timestamp of the webhook event.
The type of webhook event.
{
"evidence": {
"failureCount": 1,
"runs": [
{
"conclusion": "SUCCESS",
"id": "f18a4e9a-c4fd-5d0f-b471-88c49d4b1039",
"timestamp": "2026-03-27T15:23:19.765Z"
},
{
"conclusion": "FAILURE",
"id": "5d15ef91-5304-5874-b0db-5ea9ae7fe241",
"timestamp": "2026-03-27T15:19:46.663Z"
}
],
"successCount": 1
},
"monitor": {
"id": "7f13b567-7f31-41e5-8842-ed66c1b79704",
"status": "active",
"type": "pass_on_retry"
},
"repository": {
"html_url": "https://github.com/trunk-io/flaky-tests",
"id": "1fe5d3b7-81e8-45fa-873b-09b8430f9e97"
},
"test_case": {
"classname": "flaky-tests-subheader.pwtest.ts",
"codeowners": [],
"file_path": "",
"html_url": "https://app.trunk.io/trunk/flaky-tests/test/d6516f41-5ab4-5fdb-9746-f114eeaa8f50/?repo=trunk-io%2Fflaky-tests",
"id": "d6516f41-5ab4-5fdb-9746-f114eeaa8f50",
"name": "flaky tests subheader › flaky tests subheader with repo selected",
"parent": "flaky-tests-subheader.pwtest.ts",
"quarantined": true,
"variant": ""
},
"timestamp": "2026-03-27T15:38:28.119Z",
"type": "test_case.monitor_status_changed"
}The quarantining setting that was changed
5 Items
17 Items
The type of webhook event that occurred
{
"quarantine_setting_changed": {
"actor": {
"email": "string",
"full_name": "string"
},
"previous_quarantining_setting": "UNSPECIFIED",
"reason": "string",
"timestamp": "2019-08-24T14:15:22Z",
"updated_quarantining_setting": "ALWAYS_QUARANTINE"
},
"test_case": {
"classname": "string",
"codeowners": [
"string"
],
"failure_rate_last_7d": 0,
"file_path": "string",
"html_url": "http://example.com",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"parent": "string",
"pull_requests_impacted_last_7d": 0,
"quarantined": true,
"repository": {
"html_url": "http://example.com"
},
"status": {
"reason": "string",
"timestamp": "2019-08-24T14:15:22Z",
"value": "healthy"
},
"test_suite": "string",
"ticket": {
"html_url": "http://example.com"
},
"variant": "string"
},
"type": "test_case.quarantining_setting_changed"
}2 Items
17 Items
The type of webhook event that occurred
{
"status_change": {
"current_status": {
"reason": "string",
"timestamp": "2019-08-24T14:15:22Z",
"value": "healthy"
},
"previous_status": "healthy"
},
"test_case": {
"codeowners": [
"string"
],
"failure_rate_last_7d": 0,
"file_path": "string",
"html_url": "http://example.com",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"pull_requests_impacted_last_7d": 0,
"quarantined": true,
"repository": {
"html_url": "http://example.com"
},
"status": {
"reason": "string",
"timestamp": "2019-08-24T14:15:22Z",
"value": "healthy"
},
"test_suite": "string",
"ticket": {
"html_url": "http://example.com"
},
"variant": "string"
},
"type": "test_case.status_changed"
}The new status of the test case.
The previous status of the test case.
2 Items
9 Items
The timestamp of the webhook event.
3 Items
The type of webhook event.
{
"new_status": "FLAKY",
"previous_status": "HEALTHY",
"repository": {
"html_url": "https://github.com/trunk-io/flaky-tests",
"id": "a6ea3bad-a0a4-4366-9223-ac74efccb928"
},
"test_case": {
"classname": "ItsAlwaysSunnyOnEarth.Tests.AlwaysSunnyTest",
"codeowners": [],
"file_path": "",
"html_url": "https://app.trunk.io/trunk/flaky-tests/test/7461c36c-3ae2-5d3c-803b-0bdcfd875ee1/?repo=trunk-io%2Fflaky-tests",
"id": "7461c36c-3ae2-5d3c-803b-0bdcfd875ee1",
"name": "AlwaysSunnyTest.TestWeather_Beijing",
"parent": "ItsAlwaysSunnyOnEarth.Tests.dll",
"quarantined": false,
"variant": ""
},
"timestamp": "2026-03-27T12:28:40.695430+00:00",
"triggered_by": {
"monitor_id": "d6edf0b8-2f2b-4caf-8f36-038668585cf6",
"monitor_status": "active",
"monitor_type": "failure_rate"
},
"type": "v2.test_case.status_changed"
}