Better stack

Learn how to use Better stack with Composio

Overview

SLUG: BETTER_STACK

Description

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

Authentication Details

bearer_token
stringRequired

Connecting to Better stack

Create an auth config

Use the dashboard to create an auth config for the Better stack toolkit. This allows you to connect multiple Better stack accounts to Composio for agents to use.

1

Select App

Navigate to the [Better stack toolkit page](https://app.composio.dev/apps/Better stack) and click “Setup Integration”.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Integration”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using API Key

1from composio import Composio
2from composio.types import auth_scheme
3
4# Replace these with your actual values
5better_stack_auth_config_id = "ac_YOUR_BETTER_STACK_CONFIG_ID" # Auth config ID created above
6user_id = "0000-0000-0000" # UUID from database/app
7
8composio = Composio()
9
10def authenticate_toolkit(user_id: str, auth_config_id: str):
11 # Replace this with a method to retrieve an API key from the user.
12 # Or supply your own.
13 user_api_key = input("[!] Enter API key")
14
15 connection_request = composio.connected_accounts.initiate(
16 user_id=user_id,
17 auth_config_id=auth_config_id,
18 config={"auth_scheme": "API_KEY", "val": user_api_key}
19 )
20
21 # API Key authentication is immediate - no redirect needed
22 print(f"Successfully connected Better stack for user {user_id}")
23 print(f"Connection status: {connection_request.status}")
24
25 return connection_request.id
26
27
28connection_id = authenticate_toolkit(user_id, better_stack_auth_config_id)
29
30# You can verify the connection using:
31connected_account = composio.connected_accounts.get(connection_id)
32print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the [Better stack toolkit’s playground](https://app.composio.dev/app/Better stack)

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["BETTER_STACK"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Create Escalation Policy

Description

Tool to create a new escalation policy. use when defining how incidents should escalate across team members.

Action Parameters

name
stringRequired
repeat_count
integer
repeat_delay
integer
steps
arrayRequired
team_name
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Heartbeat Group

Description

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'."

Action Parameters

name
stringRequired
paused
boolean
sort_index
integer
team_name
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Outgoing Webhook Integration

Description

Tool to create a new outgoing webhook integration. use when you need to register an endpoint to receive event notifications from better stack.

Action Parameters

custom_webhook_template_attributes
object
name
stringRequired
on_incident_acknowledged
boolean
on_incident_resolved
boolean
on_incident_started
boolean
team_name
string
trigger_type
stringRequired
url
stringRequired

Action Response

data
objectRequired
error
string
included
arrayRequired
successful
booleanRequired

Tool Name: Create Source Group

Description

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.

Action Parameters

name
stringRequired
sort_index
integer
team_name
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Escalation Policy

Description

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

Action Parameters

policy_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Source Group

Description

Tool to delete a source group by id. use when you need to permanently remove an existing source group after confirming it is no longer needed.

Action Parameters

source_group_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Heartbeat

Description

Tool to get a single heartbeat by id. use when you need to fetch details of a specific heartbeat.

Action Parameters

heartbeat_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Heartbeat Availability

Description

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

Action Parameters

from_date
string
heartbeat_id
stringRequired
to_date
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Monitor

Description

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

Action Parameters

monitor_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Monitor Availability

Description

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

Action Parameters

from_date
string
monitor_id
stringRequired
to_date
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Monitor Response Times

Description

Tool to return response times for a specific monitor. use when you have a monitor id and need performance metrics over the last 24 hours.

Action Parameters

from
string
limit
integer
monitor_id
stringRequired
to
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Status Page

Description

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

Action Parameters

status_page_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Telemetry API Token

Description

Tool to retrieve the telemetry api token from the integration configuration. use when you need to authenticate telemetry api requests.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Uptime API Token

Description

Tool to retrieve the configured uptime api token. use when you need the uptime api token for subsequent authenticated api calls.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Catalog Relations

Description

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

Action Parameters

page
integer
per_page
integer

Action Response

data
arrayRequired
error
string
pagination
objectRequired
successful
booleanRequired

Tool Name: List Google Monitoring Integrations

Description

Tool to list all google monitoring integrations. use when you need to view your configured google monitoring on-call integrations with pagination support.

Action Parameters

page
integer
per_page
integer

Action Response

data
arrayRequired
error
string
pagination
objectRequired
successful
booleanRequired

Tool Name: List Grafana Integrations

Description

Tool to list all grafana integrations. use when you need to retrieve and inspect all configured grafana integrations.

Action Parameters

Action Response

data
arrayRequired
error
string
pagination
objectRequired
successful
booleanRequired

Tool Name: List Heartbeats

Description

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

Action Parameters

page
integer

Action Response

data
arrayRequired
error
string
pagination
objectRequired
successful
booleanRequired

Tool Name: List Monitors

Description

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

Action Parameters

page
integer
per_page
integer
pronounceable_name
string
url
string

Action Response

data
arrayRequired
error
string
pagination
objectRequired
successful
booleanRequired

Tool Name: List New Relic Integrations

Description

Tool to list new relic integrations. use when you need to retrieve and inspect all configured new relic integrations with pagination support.

Action Parameters

page
integer
per_page
integer

Action Response

data
arrayRequired
error
string
pagination
objectRequired
successful
booleanRequired

Tool Name: List On-Call Schedules

Description

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

Action Parameters

page
integer
per_page
integer

Action Response

data
arrayRequired
error
string
included
array
pagination
objectRequired
successful
booleanRequired

Tool Name: List Status Pages

Description

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

Action Parameters

page
integer
per_page
integer

Action Response

data
arrayRequired
error
string
pagination
objectRequired
successful
booleanRequired

Tool Name: List Status Page Reports

Description

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`.

Action Parameters

page
integer
per_page
integer
status_page_id
stringRequired

Action Response

data
arrayRequired
error
string
pagination
objectRequired
successful
booleanRequired

Tool Name: Update Heartbeat

Description

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

Action Parameters

call
boolean
critical_alert
boolean
email
boolean
grace
integer
heartbeat_group_id
string
heartbeat_id
stringRequired
maintenance_days
array
maintenance_from
string
maintenance_timezone
string
maintenance_to
string
name
string
paused
boolean
period
integer
policy_id
string
push
boolean
sms
boolean
sort_index
integer
team_wait
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Heartbeat Group

Description

Tool to update an existing heartbeat group. use when you need to modify attributes like name, interval, or pause status.

Action Parameters

heartbeat_group_id
stringRequired
name
string
paused
boolean
period
integer
sort_index
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Source Group

Description

Tool to update an existing source group. use when you need to rename or reorder a source group.

Action Parameters

name
string
sort_index
integer
source_group_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired