Troubleshooting
Common issues and how to fix them.
If something isn't working, start here. Below are the most common issues and how to resolve them.
Check the status page first
Before digging into your setup, open the Yeethook status page and look for any ongoing incident. If we're investigating a platform-wide issue, it'll be posted there with a timeline and affected services. If there's an active incident that matches what you're seeing, the fastest path to resolution is waiting for our update rather than changing your configuration.
Events not arriving in Slack or Discord
Check your event log. Go to the Events page and look for recent events. If events appear there but show a "Failed" status, the issue is on the Slack or Discord delivery side. If no events appear at all, the issue is on the Apple webhook side.
Check your plan limits. If you've exceeded your monthly event limit, new events are dropped before they reach the event log. Check the Usage page to see if you're over your limit.
Check channel health. Go to the Channels page and look for degraded or deactivated channels. A deactivated channel means the Slack or Discord webhook URL is no longer valid. Reactivate it with a new webhook URL.
Check webhook health (Quick Start only). Open any app's actions menu and click Health check. If the Apple webhook was deleted, disabled, or has a URL mismatch, use the repair action to fix it. See Webhook health for details.
"Invalid key" or "Insufficient permissions" when uploading a p8 key
- Double-check that the Key ID and Issuer ID match the .p8 file you're uploading. All three must be from the same key.
- Make sure the key has the Admin role in App Store Connect. The App Manager role is not sufficient for webhook management.
- If you lost the .p8 file, revoke the old key in App Store Connect and create a new one.
Webhook health shows "Deleted" or "Disabled"
This means the Apple webhook Yeethook created was removed or turned off in App Store Connect. This can happen if someone manually deletes it, or if Apple disables it after repeated delivery failures.
Run a health check from the app's actions menu and click Repair. Yeethook will recreate or re-enable the webhook. A valid p8 key is required for repair actions.
Webhook health shows "URL mismatch"
The webhook exists in App Store Connect but the URL doesn't match what Yeethook expects. This can happen if someone edits the webhook URL in App Store Connect.
Run a health check and click Repair to update the URL to the correct Yeethook endpoint.
"Invalid webhook URL" when adding a Slack channel
Make sure the URL starts with https://hooks.slack.com/services/. Other URLs are not accepted. If you need to create a new webhook URL, see How do I create a Slack webhook?.
"Invalid webhook URL" when adding a Discord channel
Make sure you copied the webhook URL itself (Copy Webhook URL in Discord), not a channel link or invite link. It should look like https://discord.com/api/webhooks/<id>/<token>. URLs on discordapp.com and the ptb. and canary. subdomains are also accepted. See How do I create a Discord webhook?.
If you pasted a valid Discord URL while the Slack tab was selected, the dialog switches to the Discord tab automatically. Check that the right tab is active before saving.
Channel auto-deactivated
Yeethook auto-deactivates a channel after repeated delivery failures. This usually means:
- Slack: the webhook URL was revoked, the Slack channel was deleted, or the Slack app was uninstalled from your workspace.
- Discord: the webhook was deleted in the channel's Integrations > Webhooks settings, or the Discord channel itself was deleted.
A "gone" response (Slack 403/404/410, Discord 401/404) deactivates the channel immediately. Other errors and timeouts deactivate it after 5 consecutive failures. See Webhook health for details.
Fix the underlying issue (reinstall the Slack app or create a new webhook in Slack or Discord), then reactivate the channel in Yeethook with the new URL.
Discord test event says "rate limited"
Discord limits how often a single webhook can post. Wait a minute and send the test again. During normal delivery you don't need to do anything: rate-limited events are retried automatically and don't count as failures against the channel.
Someone wrote @everyone in TestFlight feedback
Yeethook sends every Discord message with mentions disabled, so @everyone, @here, and role or user mentions in tester comments show up as plain text and never ping anyone. See Is a Discord webhook safe to use?.
Enrichment missing on an event
If an event shows the raw payload but no enriched data:
- No p8 key connected. Enrichment requires a valid API key. Add one from the Apple Keys page.
- Enrichment failed. The API call to Apple may have timed out. Open the event detail panel and click Retry enrichment to try again.
- Event type doesn't support enrichment. Some types (like
TEST,REFUND_DECLINED,REFUND_REVERSED) don't have additional data to fetch from Apple.
App limit, channel limit, or member limit reached
Your plan has a maximum for each resource. The Add button shows your current count and limit. To add more, upgrade your plan from the Billing page. See Usage and limits to check your current usage.
Need more help?
If your issue isn't listed here, first check the status page for ongoing incidents. If nothing there matches, contact us and include your team account name and a description of what you're seeing.