In Flashduty On-call
- In the Flashduty console, go to Integration Center → Change Events
- Select Expo EAS and enter an integration name
- To assign changes to specific channels, add rules under the integration’s Routes that match labels such as
project,platform, orkind - Click Save and copy the generated Push URL
Configure Expo EAS
1
Create a webhook for builds
In the project directory (EAS CLI installed and logged in), run:The command asks for a signing secret of at least 16 characters. Flashduty authenticates with the integration key in the push URL and does not verify
expo-signature, so any value of that length works.The push URL carries the key in its path (.../event/push/change/expo-eas/<integration_key>), not in a ?integration_key= query string, because EAS drops the query string of a webhook URL when it delivers. Paste the push URL exactly as Flashduty shows it.2
Create a webhook for submissions
To sync EAS Submit results as well, run the command again with the Both events use the same push URL; Flashduty tells builds and submissions apart from the payload.
SUBMIT event:3
Verify
Webhooks are configured per project: create them in each project you want to sync, and list them with
eas webhook:list. EAS has no test delivery: run eas build or eas submit, and the change appears in the Flashduty change list when it ends.What one change is
Status mapping
The EAS documentation lists only these three end states. Any other value makes the delivery return InvalidParameter and records no change.
Change content
Labels for routing and filtering the change list:
FAQ
Why is there no running state for a build?
Why is there no running state for a build?
EAS webhooks fire only when a build or submission ends and do not report queued or running states. The change appears with its final status when it ends.
Does an EAS retry record the change twice?
Does an EAS retry record the change twice?
No. EAS retries with exponential back-off after a response outside 200–399, with the same content, and Flashduty deduplicates on the end time, so the change is recorded once.
Do I need to verify expo-signature?
Do I need to verify expo-signature?
No. Flashduty authenticates with the integration key in the push URL path and does not verify
expo-signature. EAS requires a secret of at least 16 characters when you create the webhook; any value works.The delivery returns an InvalidParameter error?
The delivery returns an InvalidParameter error?
id is missing: the payload is incomplete; make sure it comes from an EAS webhookunknown status: a status value that is not mapped yet; contact us to add itdelivery is neither a build nor a submission: the payload has neither a build page URL (buildDetailsPageUrl) nor a submission page URL (submissionDetailsPageUrl)invalid completedAtorinvalid updatedAt: a timestamp field is malformed