Where your beta community already lives
Plenty of indie developers, open-source projects, and game studios run their beta programs on Discord. Testers join the server from a TestFlight public link, ask in #beta whether the new build is out, and report bugs in a thread. The team is on the same server.
App Store Connect does not know any of that. When a build finishes processing, clears beta review, or a tester sends feedback from the TestFlight app, the update stays in App Store Connect, and someone has to copy it over by hand.
What Yeethook posts to Discord
Yeethook receives Apple's App Store Connect webhooks and posts each event to a Discord channel as a rich embed, with a severity color and field rows you can scan:
- Build processing — A build finished processing or failed validation, with the build number and version.
- TestFlight beta review — An external build was approved or rejected for testing, so you can announce it the moment testers can install it.
- Screenshot feedback — The tester's screenshot, comment, device model, and OS version.
- Crash reports — Crash details from the tester's device, with a link to the full event in Yeethook.
- App Review status — Waiting for review, in review, approved, rejected.
With a p8 key connected, Yeethook fills in the details Apple leaves out of the webhook payload. Without one you still get a formatted message with the app, event type, and a link to App Store Connect.
Mentions are always disabled. A tester who types @everyone in their feedback cannot ping your whole server.
How to Set It Up
- Create a Discord webhook in your channel settings under Integrations, then Webhooks, and copy the URL. See how to create a Discord webhook.
- Sign up at yeethook.com and upload your p8 key, or choose Manual Setup.
- Add your app and pick the TestFlight, build, and review events you want.
- Paste the webhook URL under the Discord tab when adding a channel, and link it to your app.
The next time a build clears beta review, it shows up in Discord.
A channel layout for beta communities
Keep public announcements separate from tester data:
| Discord channel | Visibility | Events |
|---|---|---|
#beta-builds | Public to testers | Build processed, external beta approved |
#tester-feedback | Team only | Screenshot feedback, crash reports |
#releases | Team only | App Review status |
Feedback and crash messages include tester emails, so keep them out of public channels. Each channel is its own Discord webhook, and Yeethook routes by app and event type. Slack and Discord channels can be mixed if part of your team works in Slack. See event routing for more layouts.
Reliability
Discord channels get the same delivery handling as Slack. Rate-limited messages are retried. If a webhook is deleted in Discord, Yeethook deactivates that channel instead of piling up failed deliveries, and a circuit breaker pauses a channel after repeated failures. Discord webhook URLs are encrypted at rest. See Discord webhook security.
Pricing
Slack and Discord channels count toward the same limit. The free plan covers one app, one channel, and 100 events per month, with enrichment included. The layout above uses three channels, which fits the Team plan at $15/month. Scale and Fleet have unlimited channels. See pricing for details.