Configuration

Learn about the User Feedback Widget configuration options.

The User Feedback Widget offers many customization options, and if the available options are insufficient, you can use your own UI.

An image showing the main customization options for the User Feedback Widget

The following options can be configured for the integration in feedbackIntegration({}) or passed in the FeedbackForm component props:

KeyTypeDefaultDescription
showBrandingbooleantrueDisplays the Sentry logo inside of the form.
showNamebooleantrueDisplays the name field on the feedback form.
showEmailbooleantrueDisplays the email field on the feedback form.
enableScreenshotbooleanfalseAllows the user to send a screenshot attachment with their feedback.
isNameRequiredbooleanfalseRequires the name field on the feedback form to be filled in.
isEmailRequiredbooleanfalseRequires the email field on the feedback form to be filled in.
shouldValidateEmailbooleantrueIf set the email is validated with the following regular expression /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/
useSentryUserRecord<string, string>{ email: 'email', name: 'username'}Sets the default values for the email and name fields.

All the text that you see in the Feedback widget can be customized.

The following options can be configured for the integration in feedbackIntegration({}) or passed in the FeedbackForm component props:

KeyDefaultDescription
formTitle"Report a Bug"The title at the top of the feedback form.
submitButtonLabel"Send Bug Report"The label of the submit button used in the feedback form.
cancelButtonLabel"Cancel"The label of cancel buttons used in the feedback form.
addScreenshotButtonLabel"Add a screenshot"The label of the button to add a screenshot to the form.
removeScreenshotButtonLabel"Remove screenshot"The label of the button to remove the screenshot from the form.
nameLabel"Name"The label of the name input field.
namePlaceholder"Your Name"The placeholder for the name input field.
emailLabel"Email"The label of the email input field.
emailPlaceholder"your.email@example.org"The placeholder for the email input field.
isRequiredLabel"(required)"The label shown next to an input field that is required.
messageLabel"Description"The label for the feedback description input field.
messagePlaceholder"What's the bug? What did you expect?"The placeholder for the feedback description input field.
successMessageText"Thank you for your report!"The message displayed after a successful feedback submission.
errorTitle"Error"The title of the error message dialog.
formError"Please fill out all required fields."Form validation error message.
emailError"Please enter a valid email address."Email validation error mesage.
genericError"Unable to send feedback due to an unexpected error."The generic error message.

Example of customization:

Copied
feedbackIntegration({
  buttonLabel: "Feedback",
  submitButtonLabel: "Send Feedback",
  formTitle: "Send Feedback",
});

You can customize placement of the feedback components on the widget, as well as the fonts and colors.

The example below shows how to customize the submit button background color and border radius with the feedbackIntegration.

Copied
import * as Sentry from "@sentry/react-native";

Sentry.feedbackIntegration({
  styles: {
    submitButton: {
      backgroundColor: "#6a1b9a",
      borderRadius: 5,
    },
  },
});

Sentry.showFeedbackForm();

The same can be achived by passing the styles prop to the FeedbackForm component:

Copied
import { FeedbackForm } from "@sentry/react-native";

<FeedbackForm
  styles={{
    submitButton: {
      backgroundColor: "#6a1b9a",
      borderRadius: 5,
    },
  }}
/>;

The following styles are available for customisation.

StyleTypeDescription
containerViewStyleThe form container style.
titleTextStyleThe title text style.
labelTextStyleThe label text style (name, email).
inputTextStyleThe input field text style (name, email).
textAreaTextStyleThe message text style.
submitButtonViewStyleThe submit button style.
submitTextTextStyleThe submit button text style.
cancelButtonViewStyleThe cancel button style.
cancelTextTextStyleThe cancel button text style.
screenshotButtonViewStylethe screenshot button style.
screenshotTextTextStyleThe screenshot button text style.
titleContainerViewStyleThe title container style.
sentryLogoImageStyleThe Sentry branding logo style.
modalBackgroundViewStyleThe Modal backround style applicable when using the showFeedbackForm method.

The following callbacks can be configured for the integration in feedbackIntegration({}) or passed in the FeedbackForm component props:

CallbackParametersDefault behaviorDescription
onFormOpenCallback when form is opened.
onFormCloseThe form is unmounted.Callback when form is closed and not submitted.
onAddScreenshotattachFile: (filename: string, data: Uint8Array) => voidCallback when a screenshot is added.
onSubmitSuccessdata: FeedbackFormDataCallback when feedback is successfully submitted.
onSubmitErrorerror: ErrorCallback when feedback is unsuccessfully submitted.
onFormSubmittedThe form is unmounted.Callback when the feedback form is submitted successfully, and the SuccessMessage is complete, or dismissed.
Was this helpful?
Help improve this content
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").