Linking Hyperspell 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.

This source is currently in alpha. The interface and available tables may change.
The Hyperspell connector pulls your app's AI memory layer into the PostHog data warehouse: indexed memories, data-source connections, extracted entities, prior queries, and generated context documents.
Prerequisites
You need a Hyperspell account with an API key created in the Hyperspell dashboard. API keys are region-specific, so note whether your Hyperspell app lives in the US or EU region.
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.
The source needs:
- API key: created in the Hyperspell dashboard.
- Region: the Hyperspell region your app lives in (US or EU). A key only works in the region it was created in.
- User IDs (optional): memories, connections, vaults, and entities in Hyperspell are scoped to individual users of your app. To sync them, enter a comma-separated list of user IDs – each is fetched on Hyperspell's
X-As-Userheader. Leaving this empty syncs app-level data only.
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.
Hyperspell's API doesn't expose server-side timestamp filters, so all tables sync as a full refresh.
Configuration
| Option | Type | Required |
|---|---|---|
API key | password | Yes |
Region | select | Yes |
User IDs (optional) | text | No |
Supported tables
| Table | Description | Sync method | Incremental field | Primary key |
|---|---|---|---|---|
memories | Documents indexed in Hyperspell's memory layer, ingested from connected sources (Slack, Notion, Gmail, Google Drive, and more) or added directly via the API. | Full refresh | — | user_id, source, resource_id |
connections | Data-source connections users (or the app) have authorized, linking an integration like Slack or Google Drive to Hyperspell for indexing. | Full refresh | — | user_id, id |
integrations | The catalog of integrations available to the app, with each integration's auth provider and selection requirements. | Full refresh | — | id |
vaults | Vault collections of manually added documents, with the number of documents in each. | Full refresh | — | user_id, collection |
entities | Entities (people, companies, projects, ...) extracted from indexed memories, with mention counts and attributes. | Full refresh | — | user_id, id |
queries | Prior queries issued against the app's memory index, useful for evaluating recall quality. | Full refresh | — | query_id |
context_documents | Context documents generated by Hyperspell for the app, summarizing indexed knowledge. | Full refresh | — | document_id |
Troubleshooting
- "Invalid Hyperspell API key" when connecting: the key is invalid, expired, or was created in a different region than the one selected. Check the region and generate a fresh key in the Hyperspell dashboard if needed.
memoriesorconnectionstables are empty: this data is per-user in Hyperspell. Add the user IDs you want to sync to the User IDs field of the source settings.
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.