Skip to main content

Webhooks

Have App Store Connect send an app's events to your server as they happen: review state changes, build uploads, TestFlight external build states, and tester feedback. Webhooks are referenced by name or ID.

List​

ascelerate webhooks <bundle-id>

Create​

ascelerate webhooks create <bundle-id> --name "Release bot" --url https://example.com/hook \
--events app-store-version-app-version-state-updated,build-upload-state-updated

--events takes a comma-separated list or all. The event types include:

EventSent when
app-store-version-app-version-state-updatedA version's App Review or release state changes
build-upload-state-updatedA build upload changes state
build-beta-detail-external-build-state-updatedA build's external TestFlight state changes
beta-feedback-crash-submission-createdA tester sends crash feedback
beta-feedback-screenshot-submission-createdA tester sends screenshot feedback

ascelerate webhooks create --help lists every type, including background asset and alternative distribution events.

Apple signs each request with the webhook's secret. Without --secret, create generates a random one and prints it once: store it on your server, since App Store Connect never shows it again. --disabled creates the webhook without turning it on.

Test & debug​

ascelerate webhooks ping <bundle-id> "Release bot"
ascelerate webhooks deliveries <bundle-id> "Release bot"
ascelerate webhooks deliveries <bundle-id> "Release bot" --state failed
ascelerate webhooks redeliver <delivery-id>

ping sends a test event. deliveries lists recent deliveries with the event type, the HTTP status your server answered, and any error (--state succeeded|failed|pending, --limit, --json). After fixing your server, redeliver sends a delivery's event again.

Update & delete​

ascelerate webhooks update <bundle-id> "Release bot" --enabled false
ascelerate webhooks update <bundle-id> "Release bot" --events all --url https://example.com/new-hook
ascelerate webhooks delete <bundle-id> "Release bot"

--events replaces the whole list; --secret sets a new signing secret.