App error reporting and observability
Monitor Retool apps by connecting with Datadog or Sentry.
Retool supports out-of-the-box error monitoring and reporting on workflows and apps with Datadog or Sentry. Once configured, Retool reports any production errors—including a callstack and descriptive tags—to either provider. For custom app error reporting and integrations with other observability providers, you can create a workflow using Retool Events
Retool does not currently support sending workflow errors to other observability providers with Retool Events.
Errors encountered while editing an app or workflow are not reported.
1. Configure observability provider
- Datadog
- Sentry
To configure Datadog:
- Create a Datadog pipeline to consume logs. Retool streams error logs from service:retool-error-monitor.
- Create a Datadog API key to use in the next step. Note your organization's Datadog Site.
To configure Sentry:
- Create a Sentry project for Retool errors.
- Navigate to the Client Keys (DSN) section of your Sentry project's settings. Copy the DSN key to use in the next step.
2. Connect providers to Retool
Next, configure your Retool organization to connect to your observability provider. You can configure the connection by either:
- Navigating to Settings > Observability.
- Using the Retool API to programmatically configure observability provider connections.
- Datadog
- Sentry
Configure the API key setting with the Datadog API key you created in the previous step. Make sure you specify the correct Datadog Site.
Configure the DSN key setting with the Sentry DSN key you created in the previous step.
Error types
Retool reports the following error types and includes a callstack.
Description | Type | Additional trace contents |
---|---|---|
Resource not found | Query | Missing resource name. |
Error processing query | Query | Query input values, context lines. |
Query with failure response | Query | Query input values. |
JS Code error | Query | Context lines, additional scope values. |
Transformer error | Transformer | Context lines. |
Component error | Component | Context lines. |
Page load error | Server | Module UUID. |
Error tags
Tags can be used to filter, categorize, or route errors to different owners using the following format: tag:value
.
Datadog tag | Sentry tag | Details | Example |
---|---|---|---|
app_name | app_name | The app name. | My App Name |
app_path | app_path | The app path. | Jenny/My App Name |
app_release | app_release | The app release. tag | 0.1.0 |
app_uuid | app_uuid | The app ID. | a031dff4-1d38-11ef-8787-b7ac527da581 |
browser | browser | The browser. | chrome |
browser_version | browser_version | Browser version | 124.0.0 |
embed_uuid | embed_uuid | The embed app import ID (if is_embedded is true ). | 612dc16d-9230-4133-bf22-cfcac703a036 |
env | environment | The environment (always production ). | production |
is_embedded | is_embedded | Whether the app was loaded using an embed URL. | false |
level | level | The log level (always error ). | error |
module_uuid | module_uuid | The module ID (if error originated from module). | 68ec78b2-f20b-11ee-bb14-13ef186a41a6 |
org_sid | org_sid | The organization ID. | org_9848411250f241939b5092af3714b4c5 |
os | os | The operating system. | Mac OS |
playground_query_uuid | playground_query_uuid | The imported query ID (if error originated from a query imported from the Query Library). | 9ba338f8-ef18-4c83-8606-2bf775168ad0 |
plugin_id | plugin_id | The ID for the widget, query, or function that triggered the error | button1 |
release | release | The Retool version. | 3.58.0 |
resource_id | resource_id | The resource ID (if error originated from a query). | 526a6aa4-c237-4711-bc12-4a0c7a5fa276 or resource display name |
source | source | The origin (either runtime or server ). | runtime |
status_code | status_code | The HTTP status code (if error originated from a network query). | 404 |
url | url | The full URL used to access the app, including any string and hash parameters. | https://example.retool.com/app/my-app?_releaseVersion=... |
user | user.email | The email of the user who experienced the error. | jenny@acme.com |
view_mode | view_mode | The view mode (either presentation for apps in view mode or public for embedded apps). | presentation |
Filtering and routing
You can configure observability providers to filter and route errors reported for Retool apps.
- Datadog
- Sentry
Datadog errors are sent as logs. You can filter for all Retool app errors by setting service:retool-error-monitor or any additional tags. Refer to Datadog's error tracking documentation to create rules for Retool app errors using service:retool-error-monitor
.
Sentry can route errors to designated app owners. Refer to Sentry's ownership rules documentation for instructions.