Linking Leexi as a source
This source is currently in alpha. The interface and available tables may change.
The Leexi connector pulls your Leexi conversation intelligence data — calls with transcripts and AI summaries, call notes, meeting events, users, and teams — into the PostHog data warehouse.
Prerequisites
- A Leexi plan with API access.
- A Leexi admin account to create the API key.
Adding a data source
- In PostHog, go to the Sources tab of the data pipeline section.
- Click + New source and click Link next to this source.
- Enter your credentials (see Configuration below) and click Next.
- 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.
You need a Leexi API key pair. Create one in Leexi under Settings > Company settings > API keys (requires an admin account), then copy the key ID and key secret.
Grant these permission scopes so every table can sync:
read_calls(calls and call notes)read_meeting_eventsread_usersread_teams
The key's call access scope also controls which calls sync: a whole-company key syncs every call, while a key restricted to one user or to access rules only syncs the calls it can see.
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_attimestamp). 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 calls table supports incremental syncs on updated_at (recommended), created_at, or performed_at. The other tables reload in full on each sync because the Leexi API exposes no update-time filter for them.
The call_notes table fetches notes one call at a time, so syncing it on a large call history can be slow under Leexi's API rate limit. It's disabled by default; enable it only if you need the per-note translations it adds over the summaries already included on each call row.
Configuration
| Option | Type | Required |
|---|---|---|
API key ID | text | Yes |
API key secret | password | Yes |
Supported tables
| Table | Description | Sync method | Incremental field | Primary key |
|---|---|---|---|---|
calls | A recorded call or meeting analyzed by Leexi, including its transcript, AI summary, chapters, speakers, and tags. | Incremental, Full refresh | updated_at, created_at, performed_at | — |
call_notes | An AI-generated note attached to a call, from prompts in the summary or text categories, with per-locale translations. | Full refresh | — | — |
meeting_events | A scheduled meeting Leexi tracks for recording, including the meeting link, attendees, and notetaker bot runs. | Full refresh | — | — |
users | A Leexi user account, with license and team membership. | Full refresh | — | — |
teams | A team of users in Leexi. | Full refresh | — | — |
Troubleshooting
- Source validation fails: check that the key ID and secret were copied correctly and that the key wasn't revoked in Leexi.
- A table shows a permission error: the API key is missing that table's permission scope. Edit the key's scopes in Leexi or create a new key with the scopes listed above.
- Syncs fail with
402 Payment Required: your Leexi subscription is inactive, or your plan doesn't include API access.
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.