Linking Ably as a source

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.

Learn more
PostHog Wizard hedgehog

Alpha release

This source is currently in alpha. The interface and available tables may change.

The Ably connector syncs your app's aggregated usage statistics — message volumes, connection counts, channel activity, and API request metrics — into PostHog, so you can analyze your realtime infrastructure alongside your product data.

Prerequisites

You need an Ably account with an app API key that has permission to read stats. API keys are created per-app in the Ably dashboard and follow the format app-id.key-id:key-secret.

Adding a data source

  1. In PostHog, go to the Sources tab of the data pipeline section.
  2. Click + New source and click Link next to this source.
  3. Enter your credentials (see Configuration below) and click Next.
  4. Select the tables you want to sync, choose a sync method and frequency, then click Import.

Once the syncs are complete, you can start querying this data in PostHog.

When linking Ably, you'll need:

  • API key – your Ably app API key, including both the key ID and secret (e.g. xVLyHw.XXXXXX:1234567890abcdef). Create or find this in the Ably dashboard under your app's API Keys tab.
  • Stats granularity – the time interval for aggregated stats: minute, hour (default), day, or month.

Getting your API key

  1. Log in to the Ably dashboard.
  2. Select the app you want to sync stats from.
  3. Go to the API Keys tab.
  4. Copy an existing key or create a new one. The key must include both parts: app-id.key-id:key-secret.
  5. Paste the full key into PostHog when linking the source.

Configuration

OptionTypeRequired
API keypasswordYes
Stats granularityselectYes

Supported tables

TableDescriptionSync methodIncremental fieldPrimary key
Stats

Aggregated usage statistics for an Ably app over a fixed time interval — message/connection/channel volumes and API request counts, at the selected granularity.

Incremental, Full refreshInterval start

Sync modes

Each table can be synced in one of several modes, depending on what the source supports:

  • Webhook (when available) – the source pushes changes to PostHog in real time. Fastest freshness, lowest ongoing cost, and the only mode that reliably captures updates and deletes.
  • Incremental – only new or updated rows are synced on each run, using a cursor field (such as an updated_at timestamp). Cheaper than a full refresh, but deletes aren't captured.
  • Append only – new rows are appended using a cursor field; existing rows are never updated. Ideal for immutable, append-only tables like event logs.
  • Full refresh – the whole table is reloaded on every sync. Use it when a table has no reliable cursor or when you need deletions reflected.

See sync methods for a full explanation of how each mode works and how to choose between them.

The Stats table supports incremental sync on interval_start_ms. When using incremental sync, each run picks up where the last one left off, fetching only new time intervals. Full refresh is also available if you prefer to reload all stats each sync.

TableSync methods
StatsIncremental sync, full refresh

Troubleshooting

  • Authorization errors – your API key is invalid, revoked, or missing the secret portion. Keys must be the full app-id.key-id:key-secret string. Generate a new key in the Ably dashboard and update the source credentials.
  • Empty results – check that the app has had traffic in the selected granularity window. A newly created app with no messages or connections won't have any stats to sync.
  • Wrong granularity – the stats granularity (minute, hour, day, month) is set when you link the source. To change it, update the source configuration and run a full refresh.

If your sync is failing or data looks wrong, see the Data warehouse troubleshooting guide. If that doesn't help, contact support – we're happy to help.

Community questions

Was this page useful?