Skip to content
Feedback

Collect feedback on macOS

Open a native feedback composer with an optional capture of the host app window.

Open the feedback composer

Enable .messenger, identify the customer, and register a host window as described in Configuration. Connect a Feedback or Report a problem button to the native composer.

Feedback with screenshot
@MainActor
func openFeedback() {
    BTX.messenger.presentFeedbackReport(includeScreenshot: true)
}

includeScreenshot defaults to true. The SDK captures the presenting app window, rather than the entire desktop. The screenshot is a removable local draft attachment and uploads only when the customer sends the report.

01

Offer feedback without a screenshot

Set includeScreenshot to false when the current window can contain sensitive content or a screenshot would not help your team.

Text feedback
@MainActor
func openTextFeedback() {
    BTX.messenger.presentFeedbackReport(includeScreenshot: false)
}

Customers can review their message and attachments before sending. The report creates a conversation your team can reply to.

Send closes the composer and shows progress. Confirmation means the report and its images were saved on the device for delivery. If the network is unavailable, the SDK retries while the app is active and after relaunch. Reports remain tied to the customer who submitted them. Image-preparation or local-save failures show an error and reopen the draft for correction.

02

Receive replies

Support and feedback replies use the same customer messages surface and optional APNs notifications.

The macOS integration uses explicit feedback actions. iOS shake gestures, screenshot-triggered prompts, and video capture do not apply to this Mac flow.