Before you start
- An HTTPS endpoint on a public address that accepts a JSON POST and replies within 10 seconds.
- A campaign on its last wizard step, or a template you want to carry the URL.
Steps
1
Open the advanced field
On the Authorise and launch step, under Name this campaign, click Advanced: send results to a webhook. A Webhook URL field appears.
2
Enter the URL
Paste the address, for example
https://your-siem-or-lms.example.com/hook?key=.... It must start with https:// and resolve to a public address. A private or internal address is refused silently and nothing is sent.3
Launch
Record the authorisation and click Launch. The URL is saved with the campaign, and with any template made from it. See Authorise and launch.
When it fires
The payload
The body is one JSON object. Fields marked optional are left out when there is nothing to send.defenseVerdict
campaignSummary
Counts are per person, with retries collapsed. They move as more calls finish, so keep the latest event per campaign rather than adding events up.
Example
What happens next
Your endpoint receives one event per answered call as the campaign runs. Reply with any 2xx status. There is nothing to acknowledge beyond that.Problems
Nothing arrives
Nothing arrives
Check the URL starts with
https:// and points at a public address. Check your endpoint answers within 10 seconds. Only calls that ended Failed or Passed fire.A call fired once and never again
A call fired once and never again
That is by design. Each call fires once. A detector verdict that lands later is carried in the next event’s
campaignSummary.Someone could post fake results to my endpoint
Someone could post fake results to my endpoint
Yes, because the request is not signed. Put a secret in the URL, restrict by source, and treat the data as a trigger to look at the console, not as the record itself.