workflow-completed event only when a workflow ends and has no start event, so a change has no Processing state and is recorded directly with its end state: Done, Failed, or Canceled.
In Flashduty On-call
- In the Flashduty console, go to Integration Center → Change Events
- Select CircleCI and enter an integration name
- To assign changes to specific channels, add rules under the integration’s Routes that match labels such as
project,ref, orworkflow - Click Save and copy the generated Push URL
Configure CircleCI
1
Open the project's Webhooks settings
- In the CircleCI web app, open your organization and select Projects. In the target project’s menu, choose Project Settings
- In the sidebar, select Webhooks and click Add Webhook
2
Enter the push URL and event
- Webhook name: a recognizable name, for example
Flashduty - URL: paste the full push URL of the Flashduty integration
- Certificate Validation: keep it enabled
- Secret token: leave it empty. Flashduty authenticates with the
integration_keyin the push URL and does not verifycircleci-signature - Select an event: select
workflow-completed
job-completed as well is harmless: job events do not produce changes and are ignored.3
Send a test
Click Test Ping Event. Flashduty returns success and records no change. Then run a workflow and the change appears in the Flashduty change list.
What one change is
Status mapping
These deliveries return success and record nothing:
job-completed(job-level events)ping(the test event)- any other event type
Change content
Labels for routing and filtering the change list:
FAQ
Why is there no running state for a workflow?
Why is there no running state for a workflow?
CircleCI outbound webhooks report only that a workflow or job has ended and send no start event. The change appears with its final status when the workflow ends.
Does a CircleCI retry record the change twice?
Does a CircleCI retry record the change twice?
No. CircleCI retries later after a non-2xx response with the same content, and Flashduty deduplicates on the workflow end time, so the change is recorded once.
The delivery returns an InvalidParameter error?
The delivery returns an InvalidParameter error?
workflow.id is missing: the payload is incomplete; make sure it comes from a native CircleCI webhookunknown workflow.status: a workflow status that is not mapped yet; contact us to add itinvalid workflow.stopped_atorinvalid happened_at: a timestamp field is malformed