Prerequisites
The connector should already be set up, with a Connector Profile and a Linked Account. See Getting Started on the Expo connector page.Register the webhook endpoint with EAS
Expo delivers events to the StackOne Native Webhook URL once you register a webhook on your app. Expo does not provide a web UI for this, so you register it with the EAS CLI (or the connector’s Create Webhook action). Each webhook covers a single app and a single event type, so repeat the registration for every app and event type you want delivered.
Retrieve the Native Webhook URL from StackOne
The Native Webhook URL is generated once an account has been linked. You will paste this into the EAS webhook you create.
- Open the linked account in StackOne.
- Copy the value from Native Webhook URL.
Create the webhook with the EAS CLI
Run the EAS CLI from your project and follow the prompts, or pass the values as flags.
- Run
eas webhook:create. - Choose the event type when prompted, or pass
--event BUILDor--event SUBMIT. - Provide the Native Webhook URL when prompted, or pass it with
--url. - Provide a signing secret of at least 16 characters when prompted, or pass it with
--secret. Keep this secret — it is used to verify delivery signatures. - Repeat for each app and for each event type (
BUILDandSUBMIT) you want delivered.
Register with the Create Webhook action (alternative)
Instead of the CLI, you can register the same webhook through the connector’s Create Webhook action. Call it once per app and event type, passing the app ID, the Native Webhook URL, the event type, and a signing secret.
Review existing webhooks
Use the EAS CLI to review or change webhooks you have already created.
- List webhooks with
eas webhook:list. - Update a webhook with
eas webhook:update --id WEBHOOK_ID. - Remove a webhook with
eas webhook:delete.
Add your Expo account name to this connection
Inbound events are matched to this account by the account name Expo includes on every delivery. Set it on the connection so events route to the right place.
Set the Expo account name
Edit this connection in StackOne and fill the Expo Account Name field with your Expo account or organization name (the same value returned by the List Accounts action).
Available webhook events
The following Expo events can be delivered. Only the event types you register a webhook for are delivered — Expo sends nothing for event types you have not subscribed to.
Build and submit events
Events fired by the EAS build and store-submission lifecycle.
- Build (
BUILD) — Fired when an EAS build finishes, errors, or is canceled - Submit (
SUBMIT) — Fired when an EAS store submission finishes, errors, or is canceled
Delivery format
Details of how Expo signs and retries webhook deliveries.
Verify the signature
Expo signs each delivery so you can confirm it came from Expo.
- Each request carries an
expo-signatureheader — a hex-encoded HMAC-SHA1 digest of the request body, keyed by the signing secret you set when creating the webhook.
Review the retry behavior
Failed deliveries are retried automatically.
- If your endpoint responds with a status code outside the 200–399 range, Expo retries delivery a few more times with exponential back-off.