Webhooks configuration

When a new report is generated you can also receive a webhook with the results. For this you need to have the webhook configured for this topic and for this you can refer to: Create a webhook registration by event topic. A proper example will be given at the end of this section.

Webhook sendout

When a report transitions from the processing to the completed status your configured endpoint will receive a webhook with a signed URL for the report result which you can use to download the file.

This file will last a couple of minutes only and in order to request another signed URL you must use the ListReports endpoint.

This is what the payload of the report webhook looks like:

{
  "topic": "report",
  "timestamp": "2025-04-30T12:34:56Z",
  "report": {
      "id": "c80716a5-62c5-4ba5-b99d-5c2a6fd39317",
      "name": "Daily Campaign Report",
      "last_run": {
        "id": "run-001",
        "status": "completed",
        "result": {
          "url": "https://reports.connectly.ai/abcdef",
          "expires_at": "2025-05-01T12:34:56Z",
          "created_at": "2025-04-30T12:00:00Z"
        }
      },
      "type": "campaign.daily.custom"
    }
}

Example of webhook configuration

curl -L \
  --request POST \
  --url '/v1/businesses/{businessId}/create/webhooks' \
  --header 'X-API-Key: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "topic": "report",
    "address": "https://yourdomain.com/connectly-webhooks",
    "type": "custom"
  }'

Last updated