Connect one PostHog Cloud project with scoped OAuth, choose the history window and modules, and verify every warehouse table.
Connect a PostHog Cloud project in about five minutes. Embrasure uses PostHog OAuth and asks you to authorize exactly one project. You do not create a PostHog app, wait for Marketplace approval, copy an API key, or provide a storage bucket.
No app approval is required
Embrasure uses PostHog's recommended Client ID Metadata Document flow. PostHog says this flow has no client-registration wait, and verification is optional. An unverified notice on PostHog's authorization screen does not block the connection.
You need:
Only PostHog US Cloud and EU Cloud are supported. Self-hosted PostHog is not supported by this connector.
In Embrasure, open Warehouse → Ingestion. Select Connect warehouse source for the first source, or New sync if the workspace already has ingestion syncs. Find PostHog under Add a warehouse source.
Match the selector to the address where you use PostHog:
| PostHog address | Embrasure region |
|---|---|
https://us.posthog.com | US |
https://eu.posthog.com | EU |
PostHog uses these private API domains for US and EU Cloud. See PostHog's API domain reference.
Initial history controls the first scan of events, persons, sessions, and survey responses.
| Choice | Use it when |
|---|---|
| Last 90 days | Recommended default for a fast, useful first sync. |
| Last 365 days | You need annual comparisons or seasonality. |
| Full history | You need everything since the PostHog project was created and can wait for the larger first sync. |
The history choice affects the initial scan only. Later syncs continue from PostHog's ingestion timestamp, so delayed client events are not skipped.
Optional modules add specialized tables:
| Module | Tables | What is included |
|---|---|---|
| Surveys | surveys, survey_responses | Survey definitions and response rows. |
| Session recording metadata | session_recordings | Recording duration, activity counts, URLs, person summary, and other metadata. Raw replay snapshots and video are not included. |
PostHog's session recording API reference confirms that the API does not return raw replay JSON.
Select Connect. PostHog opens its authorization screen and shows Embrasure's requested scopes. Choose exactly one project, review the access, and approve it.
Embrasure requests the complete connector scope set on every connection. Turning an optional module off controls which tables are ingested, but does not reduce the scopes shown during authorization.
| Scope | Why Embrasure needs it |
|---|---|
batch_export:read, batch_export:write | Create, check, and download file-export jobs for events, persons, and sessions. The write scope creates export jobs; it does not edit product analytics rows. |
project:read | Verify the one project you authorized. |
event_definition:read, property_definition:read, action:read | Read the project's event taxonomy and reusable actions. |
group:read | Read group types and group properties. |
feature_flag:read, experiment:read | Read rollout and experiment definitions. |
survey:read, query:read | Read survey definitions and response rows. |
session_recording:read | Read recording metadata, not replay contents. |
These are scoped OAuth permissions, not a project token or personal API key. PostHog documents the same least-privilege model in its OAuth guide and API reference.
PostHog returns you to Embrasure. Catalog discovery should list the core tables and any optional tables you selected. Choose the tables, confirm the destination database, run validation, then select Start sync.
Do not call setup complete until:
The connector always makes these ten core tables available:
| Area | Tables |
|---|---|
| Product usage | events, persons, sessions |
| Taxonomy and audiences | event_definitions, property_definitions, actions, groups, group_types |
| Delivery and learning | feature_flags, experiments |
Selecting both optional modules adds surveys, survey_responses, and session_recordings for a total of thirteen tables.
| Symptom | What to do |
|---|---|
| PostHog says the grant is missing scopes | Reconnect and approve every scope shown. Existing connections made before a scope expansion must be authorized again. |
| No project is available | Confirm the US or EU region, then confirm your PostHog user can access the intended project. |
| Embrasure asks you to choose a project | Authorize exactly one project. A grant with zero or several projects cannot be stored safely. |
| The authorization screen says the application is unverified | Continue after reviewing the name, project, and scopes. PostHog verification is optional and is not Marketplace approval. |
| The first sync takes a long time | A 365-day or full backfill is much larger. Use the 90-day default unless older history is required. |
| Session recordings have no replay content | This is expected. The connector imports recording metadata only because PostHog's API does not expose raw replay snapshots. |
| An optional table is missing | Confirm the module was selected before OAuth, then run catalog discovery. If it was not selected, create a new PostHog connection with that module enabled. |
Embrasure stores the short-lived OAuth access token, long-lived refresh token, selected project ID, region, and source options with the connector's encrypted credentials. It does not store your PostHog password, project token, or personal API key.
The connector creates read-oriented export jobs and calls private read endpoints. It does not install code in PostHog, modify feature flags or experiments, or require a PostHog Marketplace app.