
AppSignal
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 AppSignal to PostHog to sync your data into the PostHog data warehouse for analysis and modeling.
Enter your AppSignal personal API token and app ID to pull your AppSignal errors, performance data, logs, metrics and traces into the PostHog Data warehouse.
Your personal API token is in your AppSignal personal settings under "API key". The app ID is the identifier in your app's AppSignal URL: https://appsignal.com/<organization>/sites/<app ID>.
Configuration
| Option | Type | Required |
|---|---|---|
Personal API token | password | Yes |
App ID | text | Yes |
Linking AppSignal to PostHog
- Go to the Data pipeline page in PostHog
- Click New source and select AppSignal
- 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 |
|---|---|---|---|---|
exception_incidents | An exception incident: a group of similar errors tracked by AppSignal, with its occurrence count and triage state. | Full refresh | — | — |
performance_incidents | A performance incident: a slow action tracked by AppSignal, with its duration statistics and triage state. | Full refresh | — | — |
anomaly_incidents | An anomaly incident: an alert trigger on a metric firing, with the trigger that opened it and the tags of the matching metric. | Full refresh | — | — |
log_incidents | A log incident: a log line trigger firing, with the trigger's query and the last log line that matched it. | Full refresh | — | — |
deploy_markers | A deploy marker: an application release tracked by AppSignal, with the error rate observed while it was live. | Incremental, Full refresh | created_at | — |
deploy_stats | Throughput, mean response time and error rate for the revision of one deploy marker. | Incremental, Full refresh | created_at | — |
error_samples | An individual error sample: one recorded occurrence of an exception, with request context. | Incremental, Full refresh | time | — |
performance_samples | An individual performance sample: one recorded slow request, with timing breakdown. | Incremental, Full refresh | time | — |
apps | An AppSignal app (site): the lookup that resolves the app ID every other AppSignal table is keyed by, with the organization that owns it. | Full refresh | — | — |
log_lines | A single log line collected by AppSignal log management. Only the Public API V2 serves log lines; the GraphQL API has no field for them. | Incremental, Full refresh | timestamp | — |
metric_names | The metric catalog for an app: one row per metric name, with its type and the tag keys it carries. | Full refresh | — | — |
metric_timeseries | One hourly bucket of one metric series. Covers custom and platform metrics; the GraphQL metrics API is deprecated, so V2 is the supported source. | Incremental, Full refresh | timestamp | — |
performance_traces | A distributed trace recorded for a performance action, summarized at its root span. | Incremental, Full refresh | time | — |
trace_spans | A single span of a distributed trace, with its timing, status and attributes. | Incremental, Full refresh | trace_time | — |
performance_actions | Per-action performance, aggregated into hourly buckets: how often each action ran, how long it took and how often it failed. | Incremental, Full refresh | timestamp | — |
service_edges | One hourly bucket of traffic between this app and a peer service, as seen through distributed tracing. | Incremental, Full refresh | timestamp | — |
slow_events | A slow operation inside traces, such as a slow database query, ranked by its impact over a daily bucket. | Incremental, Full refresh | timestamp | — |
slow_event_actions | An action a slow operation appears in, with an example trace to open. | Incremental, Full refresh | timestamp | — |