
Better Stack
Let AI connect your sources for you
Skip the manual setup — run this in your project and the wizard auto-detects your databases and APIs and connects them to PostHog.

Connect Better Stack to PostHog to sync your data into the PostHog data warehouse for analysis and modeling.
Enter your Better Stack API token to automatically pull your uptime monitoring and incident data into the PostHog Data warehouse.
You can create an Uptime API token in your Better Stack dashboard under Integrations → API tokens. A team-scoped token syncs that team's data; a global token spans all teams.
Configuration
| Option | Type | Required |
|---|---|---|
API token | password | Yes |
Linking Better Stack to PostHog
- Go to the Data pipeline page in PostHog
- Click New source and select Better Stack
- Fill in the required configuration fields
- Click Next, select the tables you want to sync, and then press Import
Supported tables
| Table | Description | Sync method | Incremental field | Primary key |
|---|---|---|---|---|
incidents | Downtime and alert incidents recorded by Better Stack, with their cause, acknowledgement, and resolution timeline. | Incremental, Full refresh | started_at | — |
incident_comments | Comments posted on an incident, including acknowledgement and resolution notes, with the incident they belong to. | Incremental, Full refresh | created_at | — |
monitors | Uptime monitors configured in Better Stack, with their check settings and current status. | Full refresh | — | — |
monitor_availability | Availability summary per monitor: uptime percentage and downtime totals over the monitor's lifetime. | Full refresh | — | — |
monitor_response_times | Response time measurements per monitor and checking region, covering the last 24 hours of each sync. | Incremental, Full refresh | at | — |
monitor_groups | Groups used to organize uptime monitors. | Full refresh | — | — |
heartbeats | Heartbeat (cron/background job) checks configured in Better Stack. | Full refresh | — | — |
heartbeat_availability | Availability summary per heartbeat: uptime percentage and downtime totals since the heartbeat was created. | Full refresh | — | — |
heartbeat_groups | Groups used to organize heartbeat checks. | Full refresh | — | — |
status_pages | Public status pages hosted on Better Stack. | Full refresh | — | — |
status_page_resources | The monitors and heartbeats each status page publishes, with the name and availability shown to visitors. | Full refresh | — | — |
on_calls | On-call calendars defining who is on call and when. | Full refresh | — | — |
on_call_events | Resolved on-call shifts per schedule: who was on call over which period, including one-off overrides. | Full refresh | — | — |
on_call_rotations | The rotation currently driving each on-call calendar: how long a turn lasts and who takes part. | Full refresh | — | — |
escalation_policies | Escalation policies describing how incidents are escalated to team members. | Full refresh | — | — |
severities | Severities used to route alerts, resolving the severity referenced on incidents. Better Stack's API names these urgencies. | Full refresh | — | — |
severity_groups | Groups used to organize severities. | Full refresh | — | — |
team_members | People in the Better Stack team, including pending invitations, resolving the user ids referenced by incidents and on-call schedules. | Full refresh | — | — |
roles | Roles available in the organization, both built-in and custom, resolving the role names carried on team members. | Full refresh | — | — |