beta_feedback_screenshot_submission_created

Learn about the BETA_FEEDBACK_SCREENSHOT_SUBMISSION_CREATED webhook event. Fired when a TestFlight tester submits screenshot feedback.

App Store ConnectTestFlight
beta_feedback_screenshot_submission_created

The BETA_FEEDBACK_SCREENSHOT_SUBMISSION_CREATED event fires when a TestFlight tester submits a screenshot with feedback through the TestFlight app. This captures visual bug reports and UI issues that testers encounter during beta testing.


When does it fire?


This event triggers whenever a tester takes a screenshot in the TestFlight app and chooses to share it as feedback. Testers can annotate the screenshot and add comments describing the issue they observed.


Payload highlights


The base payload includes a timestamp and the feedback submission ID, and nothing else. With p8 enrichment, Yeethook pulls the screenshot image, tester details, device information, and any comments the tester attached.


How Yeethook helps


Screenshot feedback is often the most actionable type of beta feedback because testers show you exactly what they see. Yeethook delivers these directly to Slack or Discord with the screenshot attached, so your design and development teams can see issues without logging into App Store Connect.


Common use cases


  • Receive visual bug reports directly in your team's channel
  • See annotated screenshots showing UI issues on real devices
  • Get tester comments alongside the screenshots for full context
  • Track screenshot feedback volume to gauge beta test engagement

Example payload

Identical in shape to the crash submission event — only data.type and the instance type differ. The image is not in the payload, and the submission ID is the only handle Apple gives you on it.

{
  "data": {
    "type": "betaFeedbackScreenshotSubmissionCreated",
    "id": "4a9eacca-e53f-4006-85db-aa18c515663a",
    "version": 1,
    "attributes": {
      "timestamp": "2026-09-12T01:29:36.16Z"
    },
    "relationships": {
      "instance": {
        "data": {
          "type": "betaFeedbackScreenshotSubmissions",
          "id": "AD8JvKbr0BK0Cj9OnM6WO6I"
        },
        "links": {
          "self": "https://api.appstoreconnect.apple.com/v1/betaFeedbackScreenshotSubmissions/AD8JvKbr0BK0Cj9OnM6WO6I"
        }
      }
    }
  }
}

What it looks like in Slack

Info

Screenshot from Daniel Okafor on iPhone 15 (iPhone15,4) (18.5)

Email
daniel@example.com
Device
iPhone 15 (iPhone15,4)
Locale
sv-SE

Enrichment with p8 key

With a p8 key, Yeethook enriches this event with the screenshot image, tester name, email, device model, OS version, screen size, and tester comments.

Questions about beta_feedback_screenshot_submission_created

Why does screenshot feedback show no build number when crash feedback does?

The two use different field sets. Yeethook can recover a build from the text of a crash log, but a screenshot submission exposes no equivalent, so the message carries Email, Device and Locale only.

Is the screenshot itself attached to the message?

The webhook carries no image. With a p8 key Yeethook resolves the submission through the App Store Connect API and posts the screenshot along with any comment the tester typed; without one you get "Screenshot from a tester" and no fields.

Why is the Locale row missing on some messages?

Yeethook adds a row only when Apple returns a value for it, and locale is absent on submissions where the device did not report one. The same applies to Device, which is why some screenshot messages show an email address and nothing else.

Can I tell which build the tester was running?

Not from this event. The payload names only the feedback submission, and Yeethook enriches it with the tester rather than the build, so grouping screenshot feedback by build means querying the submission yourself.

Get this event in Slack or Discord

Connect Yeethook to receive beta_feedback_screenshot_submission_created notifications in your team's Slack or Discord channels.

Get Started Free