Features

Webhooks Integration

Add the TestingBot Webhooks integration to receive Webhook URL requests with the status of your tests. Rather than polling for updates through the TestingBot API, you can instantly receive updates as they become available.

Configure

To configure a Webhook, please log in to the TestingBot member area, then navigate to the Integrations Page.

  • Click the Webhooks integration
  • Click the Add Webhook button
  • Enter your URL which will receive the POST requests (in JSON format)
  • Select whether you want to receive a Webhook for all tests, or only for the failed tests
  • Click Save to complete the configuration.
  • Your webhook now appears in the overview page, where you can edit or delete the webhook.

Once these steps are completed, you will start receiving Webhook requests to the URL you specified. Requests may come with a delay of up to 120 seconds. If for some reason your Webhook endpoint does not respond with a 2xx response code, we will automatically retry the request, up to 5 times.

Webhook Payload

Your Webhook URL will receive a POST request in JSON format with the following payload:

Data Field Format Description
id STRING The unique id of the test. Usually this will be a WebDriver SessionId, or Playwright/Puppeteer unique id.
creation_time DATETIME The date-time value, in YYYY-MM-DDTHH:mm:ssZ format, at which the test launched.
completion_time DATETIME The date-time value, in YYYY-MM-DDTHH:mm:ssZ format, at which the test was completed.
user_id STRING The id of the user who launched the test.
team_id STRING The id of the team for which this test was run.
status ENUM The status of the test, which can be one of the following values:
  • PASSED
  • FAILED
  • UNKNOWN
name STRING The name of the test, if it was passed through the capabilities or set by API.
browser_name STRING The name of the browser on which this test ran. In case of a mobile app test, this might be NULL.
device_name STRING The name of the device on which this test ran. Might be NULL when this test ran on a Desktop environment.
browser_version STRING The version of the browser on which this test ran. In case of a mobile app test, this might be NULL or the device's version.
platform STRING The OS on which this test ran.
duration_sec INTEGER How long the test took to complete, the duration is in seconds.
build STRING The build this test belongs to, if it was passed through the capabilities or set by API.
tags ARRAY Array of strings that were added for this test, if it was passed through the capabilities or set by API.
errors ARRAY Array of error objects that were reported for this test. Empty if no errors were reported. The error objects are structured like this:
Copy code
errors = [
  {
	message: "The error message",
	test_name: "The name of the sub test, if any. For example a Flow name when testing with Maestro"
  }
]