> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://respan.ai/docs/documentation/features/monitoring/monitors/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://respan.ai/_mcp/server. # Monitors & notifications A monitor watches one metric, such as error rate, cost, latency, tokens, or volume, over a rolling window. When the metric crosses your threshold, Respan sends an alert to every destination you picked. To find a sensible threshold first, look at the trend in [Metrics](/docs/documentation/features/monitoring/metrics). ## Create a monitor #### Open Monitors Go to **Observability** › **Monitors** and click **New monitor**, or press **C**. Respan creates an **Untitled monitor** and opens it. To rename it later, open the row's **⋯** menu and choose **Edit title & description**. ![The Monitors list with name, tags, status (Deployed, Deployed v3, or Draft), version, last update, and author for each monitor](/docs/_fern-img/6c27772bfa112d72acea74e29b5f776edd962616137f3f8942b5d21f96878bd1.webp)![The Monitors list with name, tags, status (Deployed, Deployed v3, or Draft), version, last update, and author for each monitor](/docs/_fern-img/291164d7c0305fe6e13ae3546b8625c03b6394f00f686496dec77868e0aba6ff.webp) **Status** shows **Draft** until you deploy, and **Deployed** when the latest version is live. A version number, such as **Deployed v3**, means an older version is live and newer versions aren't deployed yet. #### Set the trigger Under **Trigger**, the **When** row reads as a sentence: *metric* of *source*, *operator*, *threshold*, over *window*. The example below alerts when more than 5% of gpt-5.5 spans fail in a 15-minute window. ![The monitor editor: When Error rate of spans ≥ 5% over 15m, Where Model is gpt-5.5, with Slack and email notifications, and Send test alert and Deploy in the top bar](/docs/_fern-img/dbe66acdf0580270cc8669cd30d425ca4fcd816fec2a815d267a0c8b9bd03ad0.webp)![The monitor editor: When Error rate of spans ≥ 5% over 15m, Where Model is gpt-5.5, with Slack and email notifications, and Send test alert and Deploy in the top bar](/docs/_fern-img/dffef3b05f78454470539ec6f69d13f09dd66a04879a78215cc8638f4583ff44.webp) | Control | Options | | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Metric | **Count**, **Errors** (error count or error rate), **Tokens**, **Cost**, and **Latency** (total, average, or peak, depending on the metric) | | Source | **spans** or **full traces**. Cost monitors always count spans. | | Operator | **≥**, **≤**, **=**, **≠**, or **rises by** / **drops by** a percentage vs the previous window. The percentage operators don't work with peak metrics or error rate. | | Window | 5, 10, 15, or 30 minutes; 1, 4, or 12 hours; 1 or 7 days | Cost thresholds are in dollars, latency in seconds, and error rate in percent. Click **+** next to **Where** to count only matching spans or traces. You can filter by **API key**, **Model**, **Provider**, **Customer ID**, **Prompt**, **Behavior**, **Error issue**, **Error type**, **Fault domain**, or a custom metadata field. #### Choose where alerts go Under **Notifications**, pick a channel on the **Send** row, then its destination. Click **More** to add another destination. ![A notification row's channel menu with Email, Slack, Microsoft Teams, and Webhook](/docs/_fern-img/7701f6ff271eb1928da3c4bb5c8f59a2634b1ec64c264c1a74a205c89d1dcb9f.webp)![A notification row's channel menu with Email, Slack, Microsoft Teams, and Webhook](/docs/_fern-img/bbfdeaa50ec0161f1cc19838ee892de6e9855ef3f6ebed608533603a5da789da.webp) | Channel | Destination | | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | | **Email** | Pick an address, or choose **Create new** to add one. **Manage** lists every saved destination. | | **Slack** | Click **Connect Slack** the first time, then pick a channel. See [Slack](/docs/integrations/slack). | | **Microsoft Teams** | Click **Connect Microsoft Teams** the first time, then pick a team and a channel. See [Microsoft Teams](/docs/integrations/microsoft-teams). | | **Webhook** | Paste a URL that starts with `http://` or `https://`. | The preview below the destinations shows the alert Respan sends: the value that crossed the threshold, the totals for the window, and the top users, API keys, and models behind it. Error monitors also get a short summary of what failed. You can't edit the alert text. #### Test and deploy Your edits save to a draft as you go. Click **Send test alert** to check that the alert reaches your destinations. Click **Deploy** in the top bar, add an optional note in the **Deploy version** dialog, and click **Deploy**. **Deploy** stays disabled until the threshold is set and every destination is filled in. Once deployed, the monitor checks every window and sends at most one alert per window, so a 15-minute monitor alerts at most every 15 minutes. You can also create a monitor from a chart in [Metrics](/docs/documentation/features/monitoring/metrics), an [error group](/docs/documentation/features/pulse/errors), or a [behavior](/docs/documentation/features/pulse/behaviors). Those monitors start as drafts, so review them and deploy. ## Pause, resume, or roll back Every deploy saves a version. Click the **versions** button in the top bar (**⇧ H**) and select a version: * On the live version, click **Pause** to stop alerts. Click **Resume** to turn them back on. * On an older version, click **Deploy** to make it live again. **⇧ D** deploys, pauses, or resumes the selected version. If you edit an old version while a draft exists, Respan asks before it overwrites the draft. ## Check a monitor's runs Switch the **Editor** dropdown to **Metrics** to see each run of the monitor over time and open the spans behind it. **JSON** shows the workflow configuration the editor generates. Monitor webhooks send alerts. To stream every span to your own endpoint instead, use [Data webhooks](/docs/documentation/admin/webhooks). > Get an alert in email, Slack, Microsoft Teams, or a webhook when a metric crosses a threshold.