User Feedback

User feedback lets your users report problems directly from your application. Moneat stores feedback from Sentry-compatible SDKs and OTLP events in the same feedback inbox, alongside related error and replay data.

Submitting feedback

Sentry-compatible SDKs

Use the Sentry SDK feedback API to capture feedback from users:

JavaScript
Sentry.captureFeedback({
  message: "The checkout button doesn't work",
  email: "[email protected]",
  name: "Jane",
});

Feedback can optionally be linked to an error event or a session replay by including the associated event ID or replay ID.

OTLP events

Send OpenTelemetry Events as LogRecords to the feedback OTLP endpoint:

Shell
curl https://api.moneat.io/v1/feedback/otlp \
  -H "Authorization: Bearer $MONEAT_OTLP_API_KEY" \
  -H "Content-Type: application/json" \
  --data @feedback-otlp.json

feedback-otlp.json:

JSON
{
  "resourceLogs": [
    {
      "resource": {
        "attributes": [
          {"key": "service.name", "value": {"stringValue": "checkout-api"}},
          {"key": "service.version", "value": {"stringValue": "2026.06.06"}},
          {"key": "deployment.environment.name", "value": {"stringValue": "production"}},
          {"key": "telemetry.sdk.language", "value": {"stringValue": "javascript"}}
        ]
      },
      "scopeLogs": [
        {
          "logRecords": [
            {
              "timeUnixNano": "1780776000000000000",
              "eventName": "moneat.user_feedback",
              "body": {"stringValue": "The checkout button does not work"},
              "attributes": [
                {"key": "moneat.feedback.contact_email", "value": {"stringValue": "[email protected]"}},
                {"key": "moneat.feedback.name", "value": {"stringValue": "Jane"}},
                {"key": "url.full", "value": {"stringValue": "https://app.example.com/checkout"}},
                {"key": "moneat.feedback.associated_event_id", "value": {"stringValue": "event-id"}},
                {"key": "moneat.feedback.replay_id", "value": {"stringValue": "replay-id"}},
                {"key": "feature", "value": {"stringValue": "checkout"}}
              ]
            }
          ]
        }
      ]
    }
  ]
}

The endpoint also accepts OTLP protobuf with Content-Type: application/x-protobuf. Moneat stores records whose eventName is moneat.user_feedback; when eventName is absent, it falls back to the event.name attribute.

Datadog browser custom actions are not automatically mapped to feedback entries today. Use the Sentry-compatible SDK path or the OTLP feedback endpoint when you need user-submitted feedback in the feedback inbox.

Viewing feedback

Navigate to Feedback in the sidebar. The list view shows:

  • Total, unresolved, resolved, and archived counts
  • Search and status filtering
  • Bulk actions (resolve, archive)

Click a feedback entry to see the full message, submitter details (name, email, URL), source metadata, environment and SDK metadata, tags, and links to any associated error or replay.

Status management

Each feedback entry has a status: unresolved, resolved, or archived. Update the status from the detail page or in bulk from the list view.