# Better Stack

Better Stack provides monitoring, logging, and incident management solutions to help teams ensure the reliability and performance of their applications.

- **Category:** server monitoring
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 117
- **Triggers:** 0
- **Slug:** `BETTER_STACK`
- **Version:** 20260312_00

## Tools

### Acknowledge Incident

**Slug:** `BETTER_STACK_ACKNOWLEDGE_INCIDENT`

Tool to acknowledge an ongoing incident. Use when you need to mark an incident as being worked on, which prevents further escalations. Acknowledging an incident signals that someone is actively addressing the issue.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `incident_id` | string | Yes | The ID of the incident to acknowledge |
| `acknowledged_by` | string | No | Email or custom identifier of the person or system acknowledging the incident |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Escalation Policy

**Slug:** `BETTER_STACK_CREATE_ESCALATION_POLICY`

Creates a new escalation policy for incident management. Escalation policies define who gets notified and in what order when incidents occur. Supports multiple step types: 'escalation' (notify members), 'instructions' (guidance text), 'time_branching' (route by schedule), and 'metadata_branching' (route by incident metadata). For escalation steps, a valid urgency_id from the Severities API is required.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the escalation policy |
| `steps` | array | Yes | Ordered list of escalation policy steps |
| `team_name` | string | No | Team owning the policy (required with global API token) |
| `repeat_count` | integer | No | How many times to repeat the policy if unacknowledged |
| `repeat_delay` | integer | No | Seconds to wait between policy repetitions |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Heartbeat

**Slug:** `BETTER_STACK_CREATE_HEARTBEAT`

Tool to create a new heartbeat monitor for cron jobs and scheduled tasks. Use when you need to set up monitoring for a service that should send regular heartbeat signals.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sms` | boolean | No | Should we send an SMS to the on-call person? |
| `call` | boolean | No | Should we call the on-call person? |
| `name` | string | No | The name of the service for this heartbeat |
| `push` | boolean | No | Should we send a push notification to the on-call person? |
| `email` | boolean | No | Should we send an email to the on-call person? |
| `grace` | integer | No | Grace period for heartbeat fluctuation in seconds. Minimum value: 0. Recommended: 20% of period |
| `paused` | boolean | No | Set to true to pause monitoring |
| `period` | integer | No | How often should we expect this heartbeat in seconds. Minimum value: 30 seconds |
| `team_name` | string | No | Required if using global API token to specify the team which should own the resource |
| `heartbeat_group_id` | integer | No | Set this attribute to add this heartbeat to a heartbeat group |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Heartbeat Group

**Slug:** `BETTER_STACK_CREATE_HEARTBEAT_GROUP`

Tool to create a new heartbeat group. Use when you need to organize related heartbeat checks under a single, logical group. Example prompt: "Create a new heartbeat group named 'Backend services'."

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the group visible in the dashboard. |
| `paused` | boolean | No | Set to true to pause monitoring for all existing heartbeats in the group; false (default) to resume monitoring. |
| `team_name` | string | No | Team which should own the resource. Required when using a global API token. |
| `sort_index` | integer | No | Zero-based index to control sort order of heartbeat groups. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Incident

**Slug:** `BETTER_STACK_CREATE_INCIDENT`

Tool to create a new incident and alert the on-call person. Use when you need to manually report an incident or trigger escalation workflows. The incident will be routed according to the specified escalation policy or default team settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sms` | boolean | No | Send SMS notification to on-call person |
| `call` | boolean | No | Trigger phone call to on-call person |
| `name` | string | No | Short incident title |
| `email` | boolean | No | Send email notification to on-call person |
| `summary` | string | No | Brief incident overview |
| `metadata` | object | No | Custom metadata with key-value pairs for incident classification and routing |
| `policy_id` | string | No | Escalation policy identifier for routing the incident |
| `team_name` | string | No | Team owning the incident (required when using global API token) |
| `team_wait` | integer | No | Escalation delay in seconds before alerting entire team. Leave blank to disable team escalation. |
| `description` | string | No | Detailed incident information |
| `critical_alert` | boolean | No | Send critical push notification that ignores mute switch and Do Not Disturb settings |
| `requester_email` | string | No | Email of user requesting the incident |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Incident Comment

**Slug:** `BETTER_STACK_CREATE_INCIDENT_COMMENT`

Tool to create a new comment on an incident. Use when you need to add documentation, updates, or notes to an existing incident in Better Stack.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `content` | string | Yes | The content of the comment. Markdown is supported for formatting. |
| `incident_id` | string | Yes | The ID of the incident to add the comment to |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Metadata

**Slug:** `BETTER_STACK_CREATE_METADATA`

Tool to create or update a metadata record for a resource. Metadata provides key-value associations for resources like monitors, heartbeats, or incidents. Use when you need to tag or annotate resources with custom data. Existing values for the specified key will be completely replaced.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | The metadata key identifier. This serves as the name for the metadata entry |
| `values` | array | Yes | Array of metadata values to associate with the key. Existing values for the given key will be completely replaced |
| `owner_id` | string | Yes | The ID of the resource to update metadata for |
| `owner_type` | string ("Monitor" | "Heartbeat" | "Incident" | "WebhookIntegration" | "EmailIntegration" | "IncomingWebhook" | "CallRouting") | Yes | Type of resource that owns this metadata. Must be one of: Monitor, Heartbeat, Incident, WebhookIntegration, EmailIntegration, IncomingWebhook, or CallRouting |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Monitor

**Slug:** `BETTER_STACK_CREATE_MONITOR`

Tool to create a new uptime monitor for a URL or service. Use when you need to set up monitoring for websites, APIs, servers, or network services. Supports multiple monitor types including HTTP/HTTPS status checks, keyword monitoring, ping, TCP/UDP, email protocols, DNS queries, and browser automation with Playwright.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sms` | boolean | No | Enable SMS notifications when monitor goes down or recovers. Default is false. |
| `url` | string | Yes | The URL or host to monitor. For HTTP/HTTPS monitors use full URL with protocol. For TCP/UDP/SMTP/POP/IMAP use hostname or IP. For DNS monitors use the domain to query. |
| `call` | boolean | No | Enable phone call alerts when monitor goes down or recovers. Default is false. |
| `port` | string | No | Port number for TCP, UDP, SMTP, POP, or IMAP monitors. Required for these monitor types. |
| `push` | boolean | No | Enable push notifications when monitor goes down or recovers. Default is false. |
| `email` | boolean | No | Enable email notifications when monitor goes down or recovers. Default is false. |
| `paused` | boolean | No | If true, the monitor is created in paused state and will not perform checks. Default is false. |
| `regions` | array | No | List of regions from which to perform checks. Available: us (United States), eu (Europe), as (Asia), au (Australia). Default is all regions. |
| `policy_id` | string | No | ID of the escalation policy to use for this monitor. Controls who gets notified and in what order. |
| `team_name` | string | No | Team which should own this monitor. Required when using a global API token. |
| `team_wait` | integer | No | Seconds to wait before escalating to the team after first notification. Default is 0 (notify team immediately). |
| `verify_ssl` | boolean | No | Verify SSL certificates for HTTPS monitors. If false, monitors will accept invalid/self-signed certificates. Default is true. |
| `http_method` | string ("GET" | "HEAD" | "POST" | "PUT" | "PATCH") | No | HTTP method for status/keyword monitors. |
| `monitor_type` | string ("status" | "expected_status_code" | "keyword" | "keyword_absence" | "ping" | "tcp" | "udp" | "smtp" | "pop" | "imap" | "dns" | "playwright") | Yes | Type of monitor: status (HTTP/HTTPS), expected_status_code, keyword, keyword_absence, ping (ICMP), tcp, udp, smtp, pop, imap, dns, or playwright (browser automation). |
| `request_body` | string | No | Body content to send with POST/PUT/PATCH requests. Required for DNS monitors (specify the DNS record type to query). |
| `auth_password` | string | No | Password for HTTP Basic Authentication. Used with auth_username. |
| `auth_username` | string | No | Username for HTTP Basic Authentication. Used with auth_password. |
| `scenario_name` | string | No | Name identifier for playwright monitor scenarios. Used to distinguish between different automation scripts. |
| `critical_alert` | boolean | No | If enabled, alerts will override Do Not Disturb settings and mute schedules. Use for critical monitors only. |
| `maintenance_to` | string | No | End time of daily maintenance window in HH:MM:SS format. Checks resume after this time. |
| `check_frequency` | integer | No | How often to check the monitor in seconds. Minimum is 30 seconds. Default is 30. |
| `recovery_period` | integer | No | Number of seconds the monitor must be up before automatically resolving any open incidents. Default is 0 (resolve immediately). |
| `request_timeout` | integer | No | Request timeout in seconds. For server monitors this is in milliseconds. Default varies by monitor type. |
| `follow_redirects` | boolean | No | Automatically follow HTTP redirects when checking status/keyword monitors. Default is false. |
| `maintenance_days` | array | No | Days of the week to skip monitoring checks during maintenance windows. Combine with maintenance_from and maintenance_to. |
| `maintenance_from` | string | No | Start time of daily maintenance window in HH:MM:SS format. Checks are skipped during this window on specified maintenance_days. |
| `monitor_group_id` | string | No | ID of the monitor group to assign this monitor to. Used for organizing monitors. |
| `required_keyword` | string | No | For keyword monitors: the text that must be present in the response. For keyword_absence monitors: the text that must NOT be present. |
| `playwright_script` | string | No | JavaScript code for playwright monitor type. Defines browser automation scenario to execute during checks. |
| `pronounceable_name` | string | Yes | Human-readable name for the monitor displayed in the dashboard. |
| `confirmation_period` | integer | No | How long in seconds to observe failures before creating an incident. Helps avoid false alerts from transient issues. Default is 0. |
| `expiration_policy_id` | integer | No | ID of the escalation policy for SSL certificate and domain expiration alerts. |
| `maintenance_timezone` | string | No | Timezone for maintenance window times. Use IANA timezone database names. |
| `environment_variables` | object | No | Key-value pairs of environment variables accessible within playwright scripts. Useful for parameterizing automation scenarios. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Monitor Group

**Slug:** `BETTER_STACK_CREATE_MONITOR_GROUP`

Tool to create a new monitor group. Use when you need to organize related monitors under a single, logical group for better dashboard organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The display name for the monitor group visible in the dashboard |
| `paused` | boolean | No | When true, monitoring pauses for existing group monitors; false resumes monitoring |
| `team_name` | string | No | Required only when using a global API token to specify resource ownership |
| `sort_index` | integer | No | Numeric value controlling monitor group sort order |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create On-Call Schedule

**Slug:** `BETTER_STACK_CREATE_ON_CALL_SCHEDULE`

Tool to create a new on-call schedule. Use when you need to set up a new on-call calendar for managing team rotations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The identifier for the on-call schedule |
| `team_name` | string | No | Team which should own the resource. Required when using a global API token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Outgoing Webhook Integration

**Slug:** `BETTER_STACK_CREATE_OUTGOING_WEBHOOK`

Tool to create a new outgoing webhook integration. Use when you need to register an endpoint to receive event notifications from Better Stack.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | The endpoint URL of the outgoing webhook integration. |
| `name` | string | Yes | The name of the outgoing webhook integration. |
| `team_name` | string | No | Required if using a global API token to specify the team which should own the resource. |
| `trigger_type` | string ("on_call_change" | "incident_change" | "monitor_change") | Yes | The type of event that triggers the webhook. |
| `on_incident_started` | boolean | No | Trigger when an incident starts (only if trigger_type is 'incident_change'). |
| `on_incident_resolved` | boolean | No | Trigger when an incident is resolved (only if trigger_type is 'incident_change'). |
| `on_incident_acknowledged` | boolean | No | Trigger when an incident is acknowledged (only if trigger_type is 'incident_change'). |
| `custom_webhook_template_attributes` | object | No | Custom webhook template attributes such as HTTP method, headers, and body. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Escalation Policy Group

**Slug:** `BETTER_STACK_CREATE_POLICY_GROUP`

Tool to create a new escalation policy group. Use when you need to organize related escalation policies under a single logical group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the group that you can see in the dashboard |
| `team_name` | string | No | Required only when using a global API token to designate the owning team |
| `sort_index` | integer | No | Specifies the ordering sequence for escalation policy groups |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Source Group

**Slug:** `BETTER_STACK_CREATE_SOURCE_GROUP`

Tool to create a new source group. Use when you have finalized the group name (and optional sort index) and need to organize related log sources under that group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the group that you can see in the dashboard. |
| `team_name` | string | No | Required if using a global API token to specify the team which should own the resource. |
| `sort_index` | integer | No | Set sort_index to specify how to sort your source groups. Must be non-negative. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Status Page Group

**Slug:** `BETTER_STACK_CREATE_STATUS_PAGE_GROUP`

Tool to create a new status page group. Use when you need to organize related status pages under a single logical group with a descriptive name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | A descriptive label for the group visible in the dashboard. |
| `team_name` | string | No | Required only when using a global API token to designate which team owns the resource. |
| `sort_index` | integer | No | Numeric value controlling the sort order of status page groups. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Status Page Report

**Slug:** `BETTER_STACK_CREATE_STATUS_PAGE_REPORT`

Tool to create a new status page report (incident or maintenance). Use when you need to publish a status update about an ongoing incident or scheduled maintenance on a status page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | The title/name for the status page report |
| `ends_at` | string | No | ISO-8601 timestamp when the report/incident ends. Leave empty for ongoing incidents. |
| `message` | string | Yes | The initial status update text/message for this report |
| `starts_at` | string | No | ISO-8601 timestamp when the report/incident starts. If not provided, defaults to current time. |
| `report_type` | string ("manual" | "maintenance") | No | Type of report: 'manual' for incident reports or 'maintenance' for scheduled maintenance. Defaults to 'manual'. |
| `published_at` | string | No | ISO-8601 timestamp when the report should be published. If not provided, the report is published immediately. |
| `status_page_id` | string | Yes | The numeric ID of the status page (e.g., '221582'). Obtain this from the list_status_pages action. |
| `affected_resources` | array | Yes | List of status page resources affected by this report, with their status. Each object must contain status_page_resource_id and status fields. For maintenance reports, use status='maintenance'. For manual incident reports, use status='resolved', 'degraded', or 'downtime'. |
| `notify_subscribers` | boolean | No | Whether to send email notifications to status page subscribers. Defaults to false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Status Page Resource

**Slug:** `BETTER_STACK_CREATE_STATUS_PAGE_RESOURCE`

Tool to create a new status page resource. Use when you need to add a monitor, heartbeat, or other resource to a status page for public visibility tracking.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `position` | integer | No | Zero-indexed placement position on the status page (omit to append to end) |
| `explanation` | string | No | Detailed help text displayed as an icon tooltip |
| `public_name` | string | No | Display name shown publicly on the status page |
| `resource_id` | string | Yes | The identifier of the resource being added (Monitor, Heartbeat, etc.) |
| `widget_type` | string ("plain" | "history" | "response_times" | "chart_only") | No | Display format for the resource on the status page |
| `resource_type` | string ("Monitor" | "MonitorGroup" | "Heartbeat" | "HeartbeatGroup" | "WebhookIntegration" | "EmailIntegration" | "IncomingWebhook" | "ResourceGroup" | "LogsChart" | "CatalogReference") | Yes | Type of resource to add to the status page |
| `fixed_position` | boolean | No | Prevents position reordering when true |
| `status_page_id` | string | Yes | The ID of the status page to add the resource to |
| `mark_as_down_for` | string ("any_incident" | "no_incident" | "incident_matching_metadata") | No | Condition that triggers marking the resource as down |
| `mark_as_degraded_for` | string ("any_incident" | "no_incident" | "incident_matching_metadata") | No | Condition that triggers marking the resource as degraded |
| `status_page_section_id` | integer | No | Section ID where the resource should be placed (defaults to first section if omitted) |
| `mark_as_down_metadata_rule` | object | No | Metadata rule for status matching. |
| `mark_as_degraded_metadata_rule` | object | No | Metadata rule for status matching. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Status Page Section

**Slug:** `BETTER_STACK_CREATE_STATUS_PAGE_SECTION`

Tool to create a new section on a status page. Use when organizing resources into logical groups (e.g., by datacenter or service type). Leave name blank to hide the section header.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The name of the section. Leave blank to hide the section header. |
| `position` | integer | No | The position of this section on your status page, indexed from zero. Defaults to the end if not specified. |
| `status_page_id` | string | Yes | The identifier for your status page where the section will be created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Status Update

**Slug:** `BETTER_STACK_CREATE_STATUS_UPDATE`

Tool to create a new status update for an existing status report. Use when you need to post an update about the current state of an incident or maintenance. The update can include a message, affected resources with their status, and optionally notify subscribers.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `message` | string | No | Message associated with the status update, providing details about the current state or actions taken. |
| `published_at` | string | No | ISO-8601 timestamp for publication time. If not provided, defaults to current time. |
| `status_page_id` | string | Yes | Your status page identifier. Obtain from list_status_pages action. |
| `status_report_id` | string | Yes | Your status page report identifier. Obtain from list_status_page_reports action. |
| `affected_resources` | array | Yes | Array of affected resources with their current status. Must contain at least one resource. |
| `notify_subscribers` | boolean | No | Send notification email to subscribers. Default is false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Severity Level

**Slug:** `BETTER_STACK_CREATE_URGENCIES`

Tool to create a new severity level (urgency) for incident management. Use when you need to define notification preferences for different incident severity levels.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sms` | boolean | Yes | Enables SMS notifications for new incidents at this severity level |
| `call` | boolean | Yes | Enables phone calls for new incidents at this severity level |
| `name` | string | Yes | The identifier for this severity level |
| `push` | boolean | Yes | Enables push notifications for new incidents at this severity level |
| `email` | boolean | Yes | Enables email notifications for new incidents at this severity level |
| `team_name` | string | No | Required only when using global API tokens to designate resource ownership |
| `critical_alert` | boolean | No | Sends critical alerts bypassing device mute settings |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Urgency Group

**Slug:** `BETTER_STACK_CREATE_URGENCY_GROUP`

Tool to create a new urgency group (severity group) for incident categorization. Use when you need to define severity levels for monitoring alerts and incidents.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the urgency group that you can see in the dashboard. |
| `team_name` | string | No | Required only when using a global API token to specify resource ownership. The team which should own the urgency group. |
| `sort_index` | integer | No | Determines the ordering of severity groups. Must be non-negative. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Escalation Policy

**Slug:** `BETTER_STACK_DELETE_ESCALATION_POLICY`

Tool to delete an escalation policy by ID. Use when you need to permanently remove an existing escalation policy after confirming its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `policy_id` | integer | Yes | The ID of the escalation policy you want to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Heartbeat

**Slug:** `BETTER_STACK_DELETE_HEARTBEAT`

Tool to permanently delete a heartbeat by ID. Use when you need to remove a heartbeat that is no longer needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `heartbeat_id` | string | Yes | The unique ID of the heartbeat to delete. You can get this from the list heartbeats or get heartbeat actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Heartbeat Group

**Slug:** `BETTER_STACK_DELETE_HEARTBEAT_GROUP`

Tool to permanently delete a heartbeat group by ID. Use when you need to remove a heartbeat group that is no longer needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `heartbeat_group_id` | string | Yes | The ID of the heartbeat group to delete. Use list heartbeat groups to find available IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Incident

**Slug:** `BETTER_STACK_DELETE_INCIDENT`

Tool to permanently delete an existing incident by ID. Use when you need to remove an incident from Better Stack Uptime.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `incident_id` | string | Yes | The ID of the incident you want to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Incident Comment

**Slug:** `BETTER_STACK_DELETE_INCIDENT_COMMENT`

Tool to delete an existing comment from an incident. Use when you need to remove a comment that was previously added via the API. Note: Only comments created via the API can be deleted; comments created in the UI cannot be deleted via the API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment_id` | string | Yes | The unique ID of the comment to delete. Note: Only API-created comments can be deleted. |
| `incident_id` | string | Yes | The unique ID of the incident containing the comment |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Monitor

**Slug:** `BETTER_STACK_DELETE_MONITOR`

Tool to permanently delete a monitor by ID from Better Stack Uptime. Use when you need to remove a monitor that is no longer needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `monitor_id` | string | Yes | The unique ID of the monitor to delete. You can get this from the list monitors or get monitor actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Monitor Group

**Slug:** `BETTER_STACK_DELETE_MONITOR_GROUP`

Tool to permanently delete a monitor group by ID from Better Stack Uptime. Use when you need to remove a monitor group that is no longer needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `monitor_group_id` | string | Yes | The unique ID of the monitor group to permanently delete. You can get this from list monitor groups or create monitor group actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete On-Call Schedule

**Slug:** `BETTER_STACK_DELETE_ON_CALL_SCHEDULE`

Tool to permanently delete an on-call schedule by ID. Use when you need to remove an on-call calendar that is no longer needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `schedule_id` | string | Yes | The unique ID of the on-call schedule to delete. You can get this from the list on-call schedules action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Outgoing Webhook Integration

**Slug:** `BETTER_STACK_DELETE_OUTGOING_WEBHOOK`

Tool to delete an outgoing webhook integration by ID. Use when you need to permanently remove an existing webhook integration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `outgoing_webhook_id` | string | Yes | The unique ID of the outgoing webhook integration to delete. You can get this from the list or create outgoing webhook actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Escalation Policy Group

**Slug:** `BETTER_STACK_DELETE_POLICY_GROUP`

Tool to delete an escalation policy group by ID. Use when you need to permanently remove an existing escalation policy group after confirming its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `policy_group_id` | integer | Yes | The ID of the escalation policy group you want to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Source Group

**Slug:** `BETTER_STACK_DELETE_SOURCE_GROUP`

Tool to permanently delete a source group by ID from Better Stack Telemetry (Logs). Source groups are used to organize related log sources. Use this action when you need to remove a source group that is no longer needed. Note: This action requires a Telemetry API token (not an Uptime API token). Deleting a source group does not delete the sources within it - they will become ungrouped.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `source_group_id` | string | Yes | The unique ID of the source group to delete. You can get this from the list source groups or create source group actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Status Page Group

**Slug:** `BETTER_STACK_DELETE_STATUS_PAGE_GROUP`

Tool to delete a status page group by ID. Use when you need to permanently remove an existing status page group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `status_page_group_id` | string | Yes | The ID of the status page group you want to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Status Page Report

**Slug:** `BETTER_STACK_DELETE_STATUS_PAGE_REPORT`

Tool to permanently delete a status page report by ID from Better Stack Uptime. Use this action when you need to remove an existing status page report that is no longer needed. The report will be permanently deleted and cannot be recovered.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `report_id` | string | Yes | The numeric ID of the status report to delete (e.g., '824278'). Obtain this from the list_status_page_reports action. |
| `status_page_id` | string | Yes | The numeric ID of the status page (e.g., '221582'). Obtain this from the list_status_pages action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Status Page Resource

**Slug:** `BETTER_STACK_DELETE_STATUS_PAGE_RESOURCE`

Tool to delete an existing resource from a status page. Use when you need to permanently remove a resource (monitor or heartbeat) that is displayed on a status page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `resource_id` | string | Yes | The ID of the resource to delete from the status page |
| `status_page_id` | string | Yes | The ID of the status page that contains the resource |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Status Page Section

**Slug:** `BETTER_STACK_DELETE_STATUS_PAGE_SECTION`

Tool to permanently delete a status page section by ID. Use when you need to remove a section from a status page that is no longer needed. Sections organize resources on status pages for better visibility.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `section_id` | string | Yes | The ID of the section to delete from the status page. You can get this from listing sections within a status page. |
| `status_page_id` | string | Yes | The ID of the status page that contains the section to delete. You can get this from the list status pages or get status page actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Status Update

**Slug:** `BETTER_STACK_DELETE_STATUS_PAGE_STATUS_REPORT_STATUS_UPDATE`

Tool to delete an existing status update from a status report. Use when you need to permanently remove a status update after confirming its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `status_page_id` | string | Yes | The ID of the status page. You can get this from the list_status_pages action. |
| `status_report_id` | string | Yes | The ID of the status report containing the update. You can get this from the list_status_page_reports action. |
| `status_update_id` | string | Yes | The ID of the status update to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Severity

**Slug:** `BETTER_STACK_DELETE_URGENCY`

Tool to delete a severity (urgency) by ID. Use when you need to permanently remove an existing severity level after confirming its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `urgency_id` | integer | Yes | The ID of the severity you want to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Urgency Group

**Slug:** `BETTER_STACK_DELETE_URGENCY_GROUP`

Tool to permanently delete an urgency group (severity group) by ID. Use when you need to remove an existing severity group that is no longer needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `urgency_group_id` | string | Yes | The ID of the urgency group (severity group) to delete. You can get this from the list urgency groups action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Escalate Incident

**Slug:** `BETTER_STACK_ESCALATE_INCIDENT`

Tool to escalate an ongoing incident to a user, team, schedule, policy, or organization. Use when you need to route an active incident to the appropriate responders with specified notification channels (call, SMS, email, push).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sms` | boolean | No | Enable SMS notification |
| `call` | boolean | No | Enable phone notification |
| `push` | boolean | No | Enable push notification |
| `email` | boolean | No | Enable email notification |
| `team_id` | integer | No | Team ID to escalate to (required when escalation_type is Team, alternative to team_name) |
| `user_id` | integer | No | User ID to escalate to (required when escalation_type is User, alternative to user_email) |
| `metadata` | object | No | Additional metadata key-value pairs to attach to the escalation |
| `policy_id` | integer | No | Policy ID to escalate to (required when escalation_type is Policy) |
| `team_name` | string | No | Team name to escalate to (required when escalation_type is Team, alternative to team_id) |
| `user_email` | string | No | User email to escalate to (required when escalation_type is User, alternative to user_id) |
| `incident_id` | string | Yes | The identifier of the incident to escalate |
| `schedule_id` | integer | No | Schedule ID to escalate to (required when escalation_type is Schedule) |
| `critical_alert` | boolean | No | Critical push notification (bypasses Do Not Disturb) |
| `escalation_type` | string ("User" | "Team" | "Schedule" | "Policy" | "Organization") | Yes | Target type: User, Team, Schedule, Policy, or Organization. Determines which additional identifier field is required. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Escalation Policy

**Slug:** `BETTER_STACK_GET_ESCALATION_POLICY`

Tool to get a single escalation policy by its ID. Use when you need full details of a specific escalation policy including its steps, repeat settings, and team information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `policy_id` | string | Yes | The ID of the escalation policy to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Heartbeat

**Slug:** `BETTER_STACK_GET_HEARTBEAT`

Tool to get a single heartbeat by ID. Use when you need to fetch details of a specific heartbeat.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `heartbeat_id` | string | Yes | The ID of the requested heartbeat |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Heartbeat Availability

**Slug:** `BETTER_STACK_GET_HEARTBEAT_AVAILABILITY`

Tool to retrieve availability summary for a specific heartbeat. Use when you need availability metrics for a heartbeat within an optional date range.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to_date` | string | No | End date (inclusive) for the summary in YYYY-MM-DD format |
| `from_date` | string | No | Start date (inclusive) for the summary in YYYY-MM-DD format |
| `heartbeat_id` | string | Yes | ID of the heartbeat to retrieve availability for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Heartbeat Group

**Slug:** `BETTER_STACK_GET_HEARTBEAT_GROUP`

Tool to get a single heartbeat group by ID. Use when you need to fetch details of a specific heartbeat group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `heartbeat_group_id` | string | Yes | The ID of the heartbeat group to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Incident Comment

**Slug:** `BETTER_STACK_GET_INCIDENT_COMMENT`

Tool to get a single comment from an incident. Use when you need to retrieve details of a specific comment on a Better Stack incident.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment_id` | string | Yes | The ID of the comment to retrieve |
| `incident_id` | string | Yes | The ID of the incident containing the comment |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Monitor

**Slug:** `BETTER_STACK_GET_MONITOR`

Tool to get a single monitor. Use when you need full details of a specific monitor by its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `monitor_id` | string | Yes | The ID of the monitor to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Monitor Availability

**Slug:** `BETTER_STACK_GET_MONITOR_AVAILABILITY`

Tool to return an availability summary for a specific monitor. Use when you need uptime percentage and incident details within an optional date range.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to_date` | string | No | End date (inclusive) for the summary in YYYY-MM-DD format |
| `from_date` | string | No | Start date (inclusive) for the summary in YYYY-MM-DD format |
| `monitor_id` | string | Yes | The ID of the monitor to retrieve availability for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Monitor Group

**Slug:** `BETTER_STACK_GET_MONITOR_GROUPS`

Tool to get a single monitor group by ID. Use when you need to fetch details of a specific monitor group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `monitor_group_id` | string | Yes | The ID of the monitor group to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Monitor Group's Monitors

**Slug:** `BETTER_STACK_GET_MONITOR_GROUPS_MONITORS`

Tool to get all monitors belonging to a monitor group. Use when you need to retrieve all monitors within a specific monitor group, with optional pagination support.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to return. Starts at 1. |
| `per_page` | integer | No | Number of monitors per page. Default is 50, maximum is 250. |
| `monitor_group_id` | integer | Yes | The ID of the monitor group to retrieve monitors for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Monitor Response Times

**Slug:** `BETTER_STACK_GET_MONITOR_RESPONSE_TIMES`

Retrieves response time performance metrics for a specific uptime monitor. Returns detailed timing data (DNS lookup, connection, TLS handshake, data transfer) grouped by geographic region. By default returns data for the last 24 hours. Use this to analyze monitor performance, identify latency issues, or compare response times across regions. Requires a valid monitor_id which can be obtained from the list_monitors action.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | string | No | Optional end date (inclusive) for filtering response times in ISO 8601 format. If not specified, defaults to now. |
| `from` | string | No | Optional start date (inclusive) for filtering response times in ISO 8601 format. If not specified, defaults to 24 hours ago. |
| `limit` | integer | No | Maximum number of response time records to return per region. Defaults to 1 if not specified to prevent oversized responses. |
| `monitor_id` | string | Yes | The unique numeric ID of the monitor to retrieve response times for. Obtain this from the list_monitors action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get On-Call Schedule

**Slug:** `BETTER_STACK_GET_ON_CALL_SCHEDULE`

Tool to get a single on-call schedule by ID. Use when you need to retrieve who is currently on-call for a specific schedule. Optionally specify a date to check on-call status at a specific time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date` | string | No | ISO-8601-formatted date or date-time for looking up on-call at a specific time |
| `schedule_id` | string | Yes | The ID of the on-call schedule you want to get. Use 'default' if you want to get the default on-call |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Outgoing Webhook Integration

**Slug:** `BETTER_STACK_GET_OUTGOING_WEBHOOK`

Tool to get a single outgoing webhook integration by ID. Use when you need to retrieve details of a specific webhook integration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `outgoing_webhook_id` | string | Yes | The ID of the Outgoing Webhook integration you want to get. You can get this from the list or create outgoing webhook actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Escalation Policy Group

**Slug:** `BETTER_STACK_GET_POLICY_GROUP`

Tool to get a single escalation policy group. Use when you need full details of a specific escalation policy group by its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `policy_group_id` | string | Yes | The ID of the escalation policy group to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Status Page

**Slug:** `BETTER_STACK_GET_STATUS_PAGE`

Tool to get a single status page by ID. Use when you need detailed information about a specific status page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `status_page_id` | string | Yes | The ID of the status page to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Status Page Group

**Slug:** `BETTER_STACK_GET_STATUS_PAGE_GROUP`

Tool to get a single status page group by ID. Use when you need to retrieve details of a specific status page group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `status_page_group_id` | string | Yes | The unique identifier for the specific status page group to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Status Page Report

**Slug:** `BETTER_STACK_GET_STATUS_PAGE_REPORT`

Tool to get a single status page report by ID. Use when you need detailed information about a specific status report or incident.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `report_id` | string | Yes | The numeric ID of the status report to retrieve (e.g., '824274'). |
| `status_page_id` | string | Yes | The numeric ID of the status page (e.g., '221582'). Obtain this from the list_status_pages action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Status Page Resource

**Slug:** `BETTER_STACK_GET_STATUS_PAGE_RESOURCE`

Tool to get a single status page resource by ID. Use when you need detailed information about a specific resource on a status page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `resource_id` | string | Yes | The ID of the status page resource |
| `status_page_id` | string | Yes | The ID of the status page |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Status Page Section

**Slug:** `BETTER_STACK_GET_STATUS_PAGE_SECTION`

Tool to get a single status page section. Use when you need details of a specific section within a status page by its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `section_id` | string | Yes | The ID of the section you want to get |
| `status_page_id` | string | Yes | The ID of your status page |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Status Update

**Slug:** `BETTER_STACK_GET_STATUS_UPDATE`

Tool to get a single status update by its ID. Use when you need details of a specific status update for a status report on your status page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `status_page_id` | string | Yes | The ID of your status page. Obtain from list_status_pages action. |
| `status_report_id` | string | Yes | The ID of your status page report. Obtain from list_status_page_reports action. |
| `status_update_id` | string | Yes | The ID of your status update. Obtain from list_status_page_status_report_status_updates action or after creating a status update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Uptime API Token

**Slug:** `BETTER_STACK_GET_UPTIME_API_TOKEN`

Tool to retrieve the configured Uptime API token. Use when you need the Uptime API token for subsequent authenticated API calls.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Severity Level

**Slug:** `BETTER_STACK_GET_URGENCY`

Tool to get a single severity level (urgency) by ID. Use when you need to fetch details of a specific urgency configuration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `urgency_id` | string | Yes | The ID of the severity level you're interested in |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Urgency Group

**Slug:** `BETTER_STACK_GET_URGENCY_GROUP`

Tool to get a single urgency group (severity group) by ID. Use when you need to fetch details of a specific urgency group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `urgency_group_id` | string | Yes | The ID of the urgency group (severity group) to retrieve. You can get this from the list urgency groups action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List AWS CloudWatch Integrations

**Slug:** `BETTER_STACK_LIST_AWS_CLOUDWATCH_INTEGRATIONS`

Tool to list all AWS CloudWatch integrations. Use when you need to retrieve and inspect all configured AWS CloudWatch on-call integrations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_name` | string | No | Filter integrations belonging to a specified team. Only valid when using a global API token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Azure Integrations

**Slug:** `BETTER_STACK_LIST_AZURE_INTEGRATIONS`

Tool to list all Azure integrations. Use when you need to retrieve and inspect all configured Azure on-call integrations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_name` | string | No | Filter integrations belonging to a specified team. Only valid when using a global API token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Catalog Relations

**Slug:** `BETTER_STACK_LIST_CATALOG_RELATIONS`

Tool to list all catalog relations. Use when you need to retrieve all catalog relations, supports pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to return. Starts at 1. |
| `per_page` | integer | No | Number of resources per page. Default is 50, maximum is 250. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Datadog Integrations

**Slug:** `BETTER_STACK_LIST_DATADOG_INTEGRATIONS`

Tool to list all Datadog integrations. Use when you need to retrieve and inspect all configured Datadog on-call integrations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_name` | string | No | Filter integrations belonging to a specified team. Only valid when using a global API token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Elastic Integrations

**Slug:** `BETTER_STACK_LIST_ELASTIC_INTEGRATIONS`

Tool to list Elastic integrations. Use when you need to retrieve and inspect all configured Elastic integrations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_name` | string | No | Filter integrations by team name. Useful when using a global API token to narrow results to a specific team. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Email Integrations

**Slug:** `BETTER_STACK_LIST_EMAIL_INTEGRATIONS`

Tool to list email integrations. Use when you need to retrieve and inspect all configured email integrations with optional team filtering and pagination support.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to return. Starts at 1. |
| `team_name` | string | No | Filter email integrations by team name. Useful when using a global API token to narrow results to a specific team. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Google Monitoring Integrations

**Slug:** `BETTER_STACK_LIST_GOOGLE_MONITORING_INTEGRATIONS`

Tool to list all Google Monitoring integrations. Use when you need to view your configured Google Monitoring on-call integrations with pagination support.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to return. Starts at 1. |
| `per_page` | integer | No | Number of integrations per page. Default is 50, maximum is 250. |
| `team_name` | string | No | Filter integrations by team name. Only returns integrations belonging to the specified team. Useful when using a global API token to filter results. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Grafana Integrations

**Slug:** `BETTER_STACK_LIST_GRAFANA_INTEGRATIONS`

Tool to list all Grafana integrations. Use when you need to retrieve and inspect all configured Grafana integrations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. Defaults to 1. |
| `team_name` | string | No | Filter integrations belonging to a specified team. Only valid when using a global API token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Heartbeat Groups

**Slug:** `BETTER_STACK_LIST_HEARTBEAT_GROUPS`

Tool to list all heartbeat groups. Use when you need to retrieve configured heartbeat groups with optional filtering by team name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_name` | string | No | Filter heartbeat groups belonging to a specified team when using global API token |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Heartbeats

**Slug:** `BETTER_STACK_LIST_HEARTBEATS`

Tool to list all heartbeats. Use when you need to retrieve your configured uptime heartbeats with optional pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to return. Starts at 1. |
| `team_name` | string | No | Filter heartbeats belonging to a specific team. Only applicable when using a global API token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Incidents Comments

**Slug:** `BETTER_STACK_LIST_INCIDENTS_COMMENTS`

Tool to list all comments on an incident. Use when you need to retrieve all comments associated with a Better Stack incident.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `incident_id` | string | Yes | The ID of the incident to list comments for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Incidents Timeline

**Slug:** `BETTER_STACK_LIST_INCIDENTS_TIMELINE`

Tool to retrieve all timeline events for an incident. Use when you need to get a chronological history of events, comments, responses, and changes for a specific incident in Better Stack. Returns all timeline items without pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `incident_id` | string | Yes | The ID of the incident to get timeline events for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Incidents Uptime

**Slug:** `BETTER_STACK_LIST_INCIDENTS_UPTIME`

Tool to list all incidents with optional filtering by monitor, heartbeat, date range, or resolution status. Supports pagination with default of 10 per page and maximum of 50.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | string | No | Return incidents until a certain date (format YYYY-MM-DD) |
| `from` | string | No | Return only incidents from a certain date (format YYYY-MM-DD) |
| `resolved` | boolean | No | List only resolved or unresolved incidents. Use false to list active incidents |
| `team_name` | string | No | Filter incidents belonging to a specified team when using global API token |
| `monitor_id` | integer | No | Filter incidents belonging to a specified monitor |
| `heartbeat_id` | integer | No | Filter incidents belonging to a specified heartbeat |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Jira Integrations

**Slug:** `BETTER_STACK_LIST_JIRA_INTEGRATIONS`

Tool to list all Jira integrations. Use when you need to retrieve and inspect all configured Jira integrations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_name` | string | No | Filter integrations belonging to a specified team. Only valid when using a global API token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Metadata

**Slug:** `BETTER_STACK_LIST_METADATA`

Tool to list all existing metadata. Use when you need to retrieve metadata records with optional filtering by team, owner resource ID, or owner resource type.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner_id` | string | No | Targets metadata for a particular resource |
| `team_name` | string | No | Filters results to a specific team (global tokens only) |
| `owner_type` | string ("Monitor" | "Heartbeat" | "Incident" | "WebhookIntegration" | "EmailIntegration" | "IncomingWebhook" | "CallRouting") | No | Owner types for metadata resources. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Monitor Groups

**Slug:** `BETTER_STACK_LIST_MONITOR_GROUPS`

Tool to list all monitor groups. Use when you need to retrieve existing monitor groups with optional team filtering and pagination support.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_name` | string | No | Filters results to monitor groups belonging to a specified team when using a global API token |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Monitors

**Slug:** `BETTER_STACK_LIST_MONITORS`

Tool to list all monitors. Use when you need to retrieve existing uptime monitors with optional filtering by URL or name and pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | No | Filter monitors by their URL property |
| `page` | integer | No | Page number to return. Starts at 1. |
| `per_page` | integer | No | Number of monitors per page. Default is 50, maximum is 250. |
| `pronounceable_name` | string | No | Filter monitors by their pronounceable name property |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List New Relic Integrations

**Slug:** `BETTER_STACK_LIST_NEW_RELIC_INTEGRATIONS`

Tool to list New Relic integrations. Use when you need to retrieve and inspect all configured New Relic integrations with pagination support.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to return. Starts at 1. |
| `per_page` | integer | No | Number of integrations per page. Default is 50, maximum is 250. |
| `team_name` | string | No | Filter integrations by team name. Useful when using a global API token to narrow results to a specific team. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List On-Call Schedule Events

**Slug:** `BETTER_STACK_LIST_ON_CALL_EVENTS`

Tool to list all events for a specific on-call schedule. Use when you need to retrieve the calendar of scheduled on-call periods for a team.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `schedule_id` | string | Yes | Identifier for the on-call schedule. Use 'default' to reference the team's default schedule. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List On-Call Schedules

**Slug:** `BETTER_STACK_LIST_ON_CALL_SCHEDULES`

Tool to list all on-call schedules. Use when you need to retrieve all configured on-call calendars.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to return. Starts at 1. |
| `per_page` | integer | No | Number of resources per page. Default is 50, maximum is 250. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Outgoing Webhook Integrations

**Slug:** `BETTER_STACK_LIST_OUTGOING_WEBHOOKS`

Tool to list all outgoing webhook integrations. Use when you need to retrieve configured webhook endpoints for event notifications.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to return. Starts at 1. |
| `team_name` | string | No | Filter outgoing webhooks belonging to a specified team. Only applicable when using a global API token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List PagerDuty Webhooks

**Slug:** `BETTER_STACK_LIST_PAGER_DUTY_WEBHOOKS`

Tool to list PagerDuty integrations. Use when you need to retrieve and inspect all configured PagerDuty integrations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_name` | string | No | Filter integrations by team name. Useful when using a global API token to narrow results to a specific team. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Escalation Policies

**Slug:** `BETTER_STACK_LIST_POLICIES`

Tool to list all escalation policies. Use when you need to retrieve existing escalation policies with optional filtering by team name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_name` | string | No | Filter escalation policies by team name when using global API token |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Escalation Policy Groups

**Slug:** `BETTER_STACK_LIST_POLICY_GROUPS`

Tool to list all escalation policy groups. Use when you need to retrieve existing policy groups with optional team filtering and pagination support.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_name` | string | No | Filter policy groups belonging to a specified team when using global API token |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Prometheus Integrations

**Slug:** `BETTER_STACK_LIST_PROMETHEUS_INTEGRATIONS`

Tool to list all Prometheus integrations. Use when you need to retrieve and inspect all configured Prometheus on-call integrations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_name` | string | No | Filter integrations belonging to a specified team. Only valid when using a global API token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Single Incident

**Slug:** `BETTER_STACK_LIST_SINGLE_INCIDENT`

Tool to retrieve detailed information about a single incident by its ID. Use when you need to get the full details of a specific incident including its status, timeline, affected regions, and notification settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `incident_id` | string | Yes | The ID of the incident to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Slack Integrations

**Slug:** `BETTER_STACK_LIST_SLACK_INTEGRATIONS`

Tool to list all Slack integrations. Use when you need to retrieve and inspect all configured Slack channel integrations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_name` | string | No | Filter Slack integrations belonging to a specified team. Only valid when using a global API token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Splunk On-Call Integrations

**Slug:** `BETTER_STACK_LIST_SPLUNK_ON_CALL_INTEGRATIONS`

Tool to list all Splunk On-Call integrations. Use when you need to retrieve and inspect all configured Splunk On-Call on-call integrations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_name` | string | No | Filter integrations belonging to a specified team. Only valid when using a global API token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Status Page Groups

**Slug:** `BETTER_STACK_LIST_STATUS_PAGE_GROUPS`

Tool to list all status page groups. Use when you need to retrieve existing status page groups with optional pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to return. Starts at 1. |
| `per_page` | integer | No | Number of status page groups per page. Default is 50; maximum is 250. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Status Pages In Status Page Group

**Slug:** `BETTER_STACK_LIST_STATUS_PAGE_GROUPS_STATUS_PAGES`

Tool to list status pages within a specific status page group. Use when you need to retrieve all status pages belonging to a particular group with optional pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to return. Starts at 1. |
| `group_id` | string | Yes | The ID of the status page group to list status pages from |
| `per_page` | integer | No | Number of status pages per page. Default is 50; maximum is 250. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Status Page Reports

**Slug:** `BETTER_STACK_LIST_STATUS_PAGE_REPORTS`

Tool to list all reports on a status page. Use when you need to retrieve existing status page reports with optional pagination via `page` and `per_page`.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to return. Starts at 1. |
| `per_page` | integer | No | Number of reports per page. Default is 50, maximum is 250. |
| `status_page_id` | string | Yes | The numeric ID of the status page (e.g., '221582'). Obtain this from the list_status_pages action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Status Page Report Status Updates

**Slug:** `BETTER_STACK_LIST_STATUS_PAGE_REPORT_STATUS_UPDATES`

Tool to list all status updates for a status page report. Use when you need to retrieve updates posted on a specific status page report with optional pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. Starts at 1. |
| `per_page` | integer | No | Number of items per page. Default is 50, maximum is 250. |
| `report_id` | string | Yes | Identifier for your status page report. Obtain this from the list_status_page_reports action. |
| `status_page_id` | string | Yes | Identifier for your status page. Obtain this from the list_status_pages action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Status Pages

**Slug:** `BETTER_STACK_LIST_STATUS_PAGES`

Tool to list all your status pages. Use when you need to retrieve existing status pages with optional pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to return. Starts at 1. |
| `per_page` | integer | No | Number of status pages per page. Default is 50; maximum is 250. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Status Page Sections

**Slug:** `BETTER_STACK_LIST_STATUS_PAGE_SECTIONS`

Tool to list all sections of a specific status page. Use when you need to retrieve the existing sections within a status page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `status_page_id` | string | Yes | The identifier for your status page |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Status Page Resources

**Slug:** `BETTER_STACK_LIST_STATUS_PAGES_RESOURCES`

Tool to list all resources on a status page. Use when you need to retrieve existing resources with optional pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to return. Starts at 1. |
| `per_page` | integer | No | Number of resources per page. Default is 50; maximum is 250. |
| `status_page_id` | string | Yes | The ID of the status page |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Severity Levels

**Slug:** `BETTER_STACK_LIST_URGENCIES`

Tool to list all severity levels (urgencies). Use when you need to retrieve existing incident severity configurations with their notification settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_name` | string | No | Filters severities belonging to a specified team when using a global API token |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Urgency Groups

**Slug:** `BETTER_STACK_LIST_URGENCY_GROUPS`

Tool to list all urgency groups (severity groups). Use when you need to retrieve existing urgency groups with optional team filtering and pagination support.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_name` | string | No | Filter urgency groups belonging to a specified team when using global API token |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Resolve Incident

**Slug:** `BETTER_STACK_RESOLVE_INCIDENT`

Tool to resolve an ongoing incident. Use when you need to mark an incident as resolved and close it. Resolving an incident signals that the issue has been fixed and stops any further escalations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `incident_id` | string | Yes | The ID of the incident to resolve |
| `resolved_by` | string | No | Email or custom identifier of the person or system resolving the incident |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Escalation Policy

**Slug:** `BETTER_STACK_UPDATE_ESCALATION_POLICY`

Tool to update an existing escalation policy. Use when you need to modify policy attributes like name, repeat settings, or escalation steps. Only the fields you provide will be updated (partial updates supported).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The name of this escalation policy |
| `steps` | array | No | An array of escalation policy steps to replace existing steps |
| `policy_id` | string | Yes | The ID of the escalation policy to update |
| `repeat_count` | integer | No | How many times to repeat the escalation policy if unacknowledged |
| `repeat_delay` | integer | No | How long in seconds to wait before each repetition |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Heartbeat

**Slug:** `BETTER_STACK_UPDATE_HEARTBEAT`

Tool to update an existing heartbeat configuration. Use after retrieving a heartbeat and choosing which fields to change.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sms` | boolean | No | Whether to send an SMS to the on-call person |
| `call` | boolean | No | Whether to call the on-call person on failure |
| `name` | string | No | The name of the service for this heartbeat |
| `push` | boolean | No | Whether to send a push notification on failure |
| `email` | boolean | No | Whether to send an email to the on-call person |
| `grace` | integer | No | Acceptable delay beyond period in seconds (min 0) |
| `paused` | boolean | No | Set true to pause monitoring; false to resume |
| `period` | integer | No | How often to expect the heartbeat in seconds (min 30) |
| `policy_id` | string | No | ID of the escalation policy to assign |
| `team_wait` | integer | No | Seconds to wait before escalating alert to team. Leave blank to disable team escalation. |
| `sort_index` | integer | No | Index position within a heartbeat group |
| `heartbeat_id` | string | Yes | The ID of the heartbeat to update |
| `critical_alert` | boolean | No | Send a critical push ignoring mute and Do Not Disturb |
| `maintenance_to` | string | No | End of maintenance window each day (HH:MM:SS) |
| `maintenance_days` | array | No | Days for daily maintenance window. Use both days for overnight windows. |
| `maintenance_from` | string | No | Start of maintenance window each day (HH:MM:SS) |
| `heartbeat_group_id` | string | No | ID of the heartbeat group to assign |
| `maintenance_timezone` | string | No | Timezone for maintenance window. See Rails TimeZone list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Heartbeat Group

**Slug:** `BETTER_STACK_UPDATE_HEARTBEAT_GROUP`

Updates an existing heartbeat group's properties. Use to rename a group, change its display order, or pause/resume monitoring for all heartbeats in the group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | New name for the heartbeat group visible in the dashboard. |
| `paused` | boolean | No | Set to true to pause monitoring for all heartbeats in this group; false to resume monitoring. |
| `sort_index` | integer | No | Zero-based index to control the display order of heartbeat groups in the dashboard. |
| `heartbeat_group_id` | string | Yes | The ID of the heartbeat group to update. Use list heartbeat groups to find available IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Incident Comment

**Slug:** `BETTER_STACK_UPDATE_INCIDENT_COMMENT`

Tool to update an existing comment on an incident. Use when you need to modify the content of a comment that was previously added to a Better Stack incident.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `content` | string | Yes | The updated content of the comment. Markdown is supported for formatting. |
| `comment_id` | string | Yes | The ID of the comment to update |
| `incident_id` | string | Yes | The ID of the incident containing the comment |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Monitor

**Slug:** `BETTER_STACK_UPDATE_MONITOR`

Tool to update an existing uptime monitor configuration. Use when you need to modify settings of an existing monitor such as check frequency, notification preferences, URLs, or monitoring behavior.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sms` | boolean | No | Enable SMS notifications when monitor goes down or recovers. |
| `url` | string | No | The URL or host to monitor. For HTTP/HTTPS monitors use full URL with protocol. For TCP/UDP/SMTP/POP/IMAP use hostname or IP. For DNS monitors use the domain to query. |
| `call` | boolean | No | Enable phone call alerts when monitor goes down or recovers. |
| `port` | string | No | Port number for TCP, UDP, SMTP, POP, or IMAP monitors. Required for these monitor types. |
| `push` | boolean | No | Enable push notifications to on-call personnel when monitor goes down or recovers. |
| `email` | boolean | No | Enable email notifications when monitor goes down or recovers. |
| `paused` | boolean | No | If true, the monitor is paused and will not perform checks. If false, monitoring resumes. |
| `regions` | array | No | List of regions from which to perform checks. Available: us (United States), eu (Europe), as (Asia), au (Australia). |
| `policy_id` | string | No | ID of the escalation policy to use for this monitor. Controls who gets notified and in what order. |
| `team_wait` | integer | No | Seconds to wait before escalating to the team after first notification. Leave blank to disable team escalation. |
| `ip_version` | string ("ipv4" | "ipv6") | No | IP version to use for checks. |
| `monitor_id` | string | Yes | The ID of the monitor to update |
| `verify_ssl` | boolean | No | Verify SSL certificates for HTTPS monitors. If false, monitors will accept invalid/self-signed certificates. |
| `http_method` | string ("GET" | "HEAD" | "POST" | "PUT" | "PATCH") | No | HTTP method for status/keyword monitors. |
| `monitor_type` | string ("status" | "expected_status_code" | "keyword" | "keyword_absence" | "ping" | "tcp" | "udp" | "smtp" | "pop" | "imap" | "dns" | "playwright") | No | Type of monitor to create or update. |
| `request_body` | string | No | Body content to send with POST/PUT/PATCH requests. Required for DNS monitors (specify the DNS record type to query). |
| `auth_password` | string | No | Password for HTTP Basic Authentication. Used with auth_username. |
| `auth_username` | string | No | Username for HTTP Basic Authentication. Used with auth_password. |
| `scenario_name` | string | No | Name identifier for playwright monitor scenarios. Used to distinguish between different automation scripts. |
| `critical_alert` | boolean | No | If enabled, alerts will override Do Not Disturb settings and mute schedules. Use for critical monitors only. |
| `maintenance_to` | string | No | End time of daily maintenance window in HH:MM:SS format. Checks resume after this time. |
| `ssl_expiration` | integer | No | Advance warning in days before SSL certificate expiration. Allowed values: 1, 2, 3, 7, 14, 30, or 60. |
| `check_frequency` | integer | No | How often to check the monitor in seconds. Minimum is 30 seconds. Default is 30. |
| `recovery_period` | integer | No | Number of seconds the monitor must be up before automatically resolving any open incidents. |
| `request_headers` | array | No | List of HTTP headers to send with the check request. |
| `request_timeout` | integer | No | Request timeout in milliseconds for server/port monitors or seconds for other types. |
| `follow_redirects` | boolean | No | Automatically follow HTTP redirects when checking status/keyword monitors. |
| `maintenance_days` | array | No | Days of the week to skip monitoring checks during maintenance windows. Combine with maintenance_from and maintenance_to. |
| `maintenance_from` | string | No | Start time of daily maintenance window in HH:MM:SS format. Checks are skipped during this window on specified maintenance_days. |
| `monitor_group_id` | string | No | ID of the monitor group to assign this monitor to. Used for organizing monitors. |
| `remember_cookies` | boolean | No | Whether to remember cookies across checks and redirects. |
| `required_keyword` | string | No | For keyword monitors: the text that must be present in the response. For keyword_absence monitors: the text that must NOT be present. Required for keyword and UDP monitor types. |
| `domain_expiration` | integer | No | Advance warning in days before domain expiration. Allowed values: 1, 2, 3, 7, 14, 30, or 60. |
| `playwright_script` | string | No | JavaScript code for playwright monitor type. Defines browser automation scenario to execute during checks. |
| `pronounceable_name` | string | No | Human-readable name for the monitor displayed in the dashboard. |
| `confirmation_period` | integer | No | How long in seconds to observe failures before creating an incident. Helps avoid false alerts from transient issues. |
| `expiration_policy_id` | integer | No | ID of the escalation policy for SSL certificate and domain expiration alerts. Null sends email to team. |
| `maintenance_timezone` | string | No | Timezone for maintenance window times. Use Rails TimeZone values. Defaults to UTC. |
| `environment_variables` | object | No | Key-value pairs of environment variables accessible within playwright scripts. Useful for parameterizing automation scenarios. |
| `expected_status_codes` | array | No | Array of acceptable HTTP status codes for successful checks. Used with expected_status_code monitor type. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Monitor Group

**Slug:** `BETTER_STACK_UPDATE_MONITOR_GROUP`

Updates an existing monitor group's properties. Use to rename a group, change its display order, or pause/resume monitoring for all monitors in the group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Display name for the monitor group visible in the dashboard. |
| `paused` | boolean | No | Set to true to pause monitoring for any existing monitors in the group; false to resume monitoring. |
| `sort_index` | integer | No | Numeric value controlling monitor group sort order in the dashboard. |
| `monitor_group_id` | string | Yes | The ID of the monitor group to update. Use list monitor groups to find available IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update On-Call Schedule

**Slug:** `BETTER_STACK_UPDATE_ON_CALL_SCHEDULE`

Tool to update an on-call schedule's name. Use when you need to rename an existing on-call calendar.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the schedule |
| `schedule_id` | string | Yes | The ID of the on-call schedule you want to update |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Outgoing Webhook Integration

**Slug:** `BETTER_STACK_UPDATE_OUTGOING_WEBHOOK`

Tool to update an existing outgoing webhook integration. Use when you need to modify the configuration of a webhook endpoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | No | Webhook destination URL |
| `name` | string | No | Integration display name |
| `on_incident_started` | boolean | No | Trigger on incident creation |
| `outgoing_webhook_id` | string | Yes | The ID of the Outgoing Webhook integration you want to update |
| `on_incident_reopened` | boolean | No | Trigger when incident reopened |
| `on_incident_resolved` | boolean | No | Trigger when incident resolved |
| `on_incident_acknowledged` | boolean | No | Trigger when incident acknowledged |
| `custom_webhook_template_attributes` | object | No | Custom webhook template attributes such as HTTP method, headers, and body. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Escalation Policy Group

**Slug:** `BETTER_STACK_UPDATE_POLICY_GROUP`

Updates an existing escalation policy group's properties. Use to rename a group or change its display order.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | New name for the escalation policy group visible in the dashboard. |
| `sort_index` | integer | No | Zero-based index to control the display order of escalation policy groups in the dashboard. |
| `policy_group_id` | string | Yes | The ID of the escalation policy group to update. Use list policy groups to find available IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Source Group

**Slug:** `BETTER_STACK_UPDATE_SOURCE_GROUP`

Update an existing source group in Better Stack Logs/Telemetry. Use this to rename a source group or change its sort order. Requires a Telemetry API token (different from Uptime API token).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The new display name of the source group |
| `sort_index` | integer | No | Order index to control group sorting. Must be non-negative. |
| `source_group_id` | string | Yes | The ID of the source group you want to update |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Status Page Group

**Slug:** `BETTER_STACK_UPDATE_STATUS_PAGE_GROUP`

Tool to update an existing status page group. Use when you need to modify the name or display order of a status page group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | A descriptive label for the group visible in the dashboard. |
| `sort_index` | integer | No | Numeric value determining the group's display order. |
| `status_page_group_id` | string | Yes | The ID of the status page group to update. Use list status page groups to find available IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Status Page Report

**Slug:** `BETTER_STACK_UPDATE_STATUS_PAGE_REPORT`

Tool to update an existing status page report. Use when you need to modify the title, timing, or affected resources of an existing incident or maintenance report.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | The updated title/name for the status page report |
| `ends_at` | string | No | ISO-8601 timestamp when the report concludes. Required for maintenance-type reports. |
| `report_id` | string | Yes | The numeric ID of the status report to update (e.g., '824282'). |
| `starts_at` | string | No | ISO-8601 timestamp when the report becomes active. Defaults to current time if not provided. |
| `status_page_id` | string | Yes | The numeric ID of the status page (e.g., '221582'). Obtain this from the list_status_pages action. |
| `affected_resources` | array | No | List of status page resources affected by this report, with their status. Each object must contain status_page_resource_id and status fields. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Status Page Resource

**Slug:** `BETTER_STACK_UPDATE_STATUS_PAGE_RESOURCE`

Tool to update an existing status page resource. Use when you need to modify the display name, position, widget type, or other properties of a resource on a status page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `position` | integer | No | Zero-indexed placement; unspecified defaults to end position |
| `explanation` | string | No | Helper text displayed as an icon |
| `public_name` | string | No | How the resource appears on your public status page |
| `resource_id` | string | Yes | The specific resource requiring modification |
| `widget_type` | string ("plain" | "history" | "response_times" | "chart_only") | No | Display format options: plain, history, response_times, or chart_only |
| `resource_type` | string ("Monitor" | "MonitorGroup" | "Heartbeat" | "HeartbeatGroup" | "WebhookIntegration" | "EmailIntegration" | "IncomingWebhook" | "ResourceGroup" | "LogsChart" | "CatalogReference") | No | Type of resource on the status page |
| `fixed_position` | boolean | No | Boolean preventing position reordering when enabled |
| `status_page_id` | string | Yes | The identifier of your status page |
| `mark_as_down_for` | string ("any_incident" | "no_incident" | "incident_matching_metadata") | No | Incident impact settings: any_incident, no_incident, or incident_matching_metadata |
| `mark_as_degraded_for` | string ("any_incident" | "no_incident" | "incident_matching_metadata") | No | Degraded status trigger: any_incident, no_incident, or incident_matching_metadata |
| `status_page_section_id` | string | No | Section assignment (defaults to first section if omitted) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Status Pages

**Slug:** `BETTER_STACK_UPDATE_STATUS_PAGES`

Tool to update an existing status page configuration. Use when modifying settings like company info, appearance, access control, or display preferences.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `theme` | string ("light" | "dark" | "system") | No | Theme options for status pages (v2 only). |
| `design` | string ("v1" | "v2") | No | Design version options for status pages. |
| `layout` | string ("vertical" | "horizontal") | No | Layout options for status pages (v2 only). |
| `history` | integer | No | Number of days to display on the status page. Between 7 and 365 days |
| `logo_url` | string | No | URL of the logo image. Image should be under 20MB |
| `password` | string | No | Password for accessing the status page (when password_enabled is true) |
| `timezone` | string | No | Timezone in Rails TimeZone format |
| `subdomain` | string | No | Subdomain for the status page. Must be globally unique |
| `custom_css` | string | No | Custom CSS to apply to the status page |
| `company_url` | string | No | URL of the company homepage |
| `contact_url` | string | No | URL for contact or support page |
| `announcement` | string | No | Announcement text to display on the status page |
| `company_name` | string | No | Company name shown on the status page |
| `ip_allowlist` | array | No | List of IP addresses allowed to access the page |
| `subscribable` | boolean | No | Whether visitors can subscribe for updates |
| `custom_domain` | string | No | Custom domain for the status page |
| `status_page_id` | string | Yes | Identifier for the status page being modified |
| `navigation_links` | array | No | Custom navigation links for the status page |
| `password_enabled` | boolean | No | Whether a password is required to view the page |
| `automatic_reports` | boolean | No | Whether automatic reports are enabled |
| `custom_javascript` | string | No | Custom JavaScript to apply to the status page |
| `google_analytics_id` | string | No | Google Analytics tracking ID |
| `min_incident_length` | integer | No | Minimum incident duration in seconds to be displayed |
| `status_page_group_id` | string | No | ID of the status page group to assign this page to |
| `hide_from_search_engines` | boolean | No | Whether the page should be hidden from search engines |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Status Page Section

**Slug:** `BETTER_STACK_UPDATE_STATUS_PAGE_SECTION`

Tool to update an existing status page section. Use when reorganizing sections or changing their display. Leave name blank to hide the section header.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Section title. Omit to hide the header. |
| `position` | integer | No | Zero-indexed placement on the status page. Unspecified adds to end. |
| `section_id` | string | Yes | The section identifier you want to modify. |
| `status_page_id` | string | Yes | The identifier for your status page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Status Update

**Slug:** `BETTER_STACK_UPDATE_STATUS_PAGE_STATUS_REPORT_STATUS_UPDATE`

Tool to update an existing status update for a status report. Use when you need to modify the message, affected resources, or other details of a previously created status update.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `message` | string | No | Message associated with the status update, providing details about the current state or actions taken. |
| `published_at` | string | No | ISO-8601 timestamp for publication time. If not provided, uses the original published time. |
| `status_page_id` | string | Yes | Your status page identifier. Obtain from list_status_pages action. |
| `status_report_id` | string | Yes | Your status page report identifier. Obtain from list_status_page_reports action. |
| `status_update_id` | string | Yes | Your status update identifier. Obtain from list_status_page_report_status_updates action. |
| `affected_resources` | array | No | Array of affected resources with their current status. If provided, must contain at least one resource. |
| `notify_subscribers` | boolean | No | Send notification email to subscribers. Default is false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Severity Level

**Slug:** `BETTER_STACK_UPDATE_URGENCIES`

Tool to update an existing severity level (urgency) configuration. Use when you need to modify notification settings or name for a specific severity level.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sms` | boolean | Yes | Enables SMS notifications for new incidents at this severity level |
| `call` | boolean | Yes | Enables phone calls for new incidents at this severity level |
| `name` | string | Yes | The identifier for this severity level |
| `push` | boolean | Yes | Enables push notifications for new incidents at this severity level |
| `email` | boolean | Yes | Enables email notifications for new incidents at this severity level |
| `urgency_id` | string | Yes | The ID of the severity level to update |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Urgency Group

**Slug:** `BETTER_STACK_UPDATE_URGENCY_GROUP`

Tool to update an existing urgency group (severity group). Use when you need to modify the name or sort order of a severity group.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The display name for the group visible in the dashboard. |
| `sort_index` | integer | No | Determines the sorting order of the severity group. Must be non-negative. |
| `urgency_group_id` | string | Yes | The ID of the urgency group (severity group) to update. You can get this from the list urgency groups action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
