Webhook Health
How Yeethook monitors webhooks and what happens when something breaks.
Yeethook monitors every webhook on both the Apple side and the Slack side. When something breaks, you see it in the dashboard and can fix it with one click.
Apple Webhook Health
For apps using Quick Start, Yeethook tracks the App Store Connect webhook it created. The health check compares what Apple has with what Yeethook expects, and returns one of these statuses:
- Healthy. The webhook exists, is enabled, and the URL matches. Everything is working.
- Deleted. Apple no longer has a webhook with this ID. This can happen if someone removes it from App Store Connect manually.
- Disabled. The webhook exists but is turned off. Apple may disable a webhook after repeated delivery failures.
- URL mismatch. The webhook exists and is enabled, but the URL doesn't match what Yeethook expects. This can happen if someone edits the webhook URL in App Store Connect.
- Unknown. Yeethook couldn't reach the App Store Connect API to check. This is usually a temporary issue.
ASN V2 Health
If your app has App Store Server Notification event types configured, Yeethook also checks the Server Notifications V2 URL separately. This is a per-app URL that Apple uses for subscription and in-app purchase events.
ASN V2 statuses:
- Healthy. The URL is set and matches the expected Yeethook endpoint.
- URL mismatch. The URL is set but points somewhere else.
- URL cleared. The URL field is empty. Subscription events won't be delivered.
- Not configured. No ASN event types are selected for this app, so there's nothing to check.
- Unknown. Yeethook couldn't reach the API to verify.
Slack Channel Health
Yeethook validates Slack channels when you connect them. If a Slack channel becomes permanently invalid (the webhook URL is revoked, the channel is deleted, or the Slack app is uninstalled), Yeethook auto-deactivates the connection. This prevents a pile of failed deliveries and keeps your event pipeline clean.
You can reactivate a connection after fixing the underlying issue (reinstalling the Slack app, creating a new webhook URL, etc.).
Repair actions
When a health check surfaces a problem, you can fix it from the dashboard. The available repair actions depend on the issue:
- Recreate. For deleted webhooks. Yeethook creates a new Apple webhook with the same configuration (URL, secret, event types) and updates the stored webhook ID.
- Re-enable. For disabled webhooks. Yeethook sends an update to Apple to turn the webhook back on.
- Fix URL. For URL mismatches on the ASC webhook. Yeethook updates the Apple webhook URL to match the expected Yeethook endpoint.
- Fix ASN V2 URL. For URL mismatches or cleared URLs on the Server Notifications endpoint. Yeethook reconfigures the ASN V2 URL in App Store Connect.
All repair actions require a valid p8 key, since Yeethook needs to authenticate with the App Store Connect API to make changes.
Checking health from the dashboard
Open any app in the dashboard and you'll see its webhook health status. If something is wrong, the status tells you what happened and offers the appropriate repair action. You can also trigger a fresh health check to get the latest state from Apple.
For Manual Setup apps (no p8 key), health monitoring is not available. Yeethook can't check Apple's side without API access. You manage those webhooks directly in App Store Connect.