Connect your toolsSources

Connect PostHog

Connect a PostHog project so Adduce reads your survey answers and the results of your funnel and retention insights every day.

Adduce reads the free-text answers people give your PostHog surveys, and the results of the funnel and retention insights you have already built.

Before you begin

  • Role: project Editor or Lead. A workspace Admin is a lead on every project.
  • In PostHog: a project where you can create a personal API key.
  • To hand: the API host your project lives on, the project API key, a read-scoped personal API key, and the numeric project ID.
  • Time: five minutes.

What Adduce reads

SurfaceWhat it becomes
Survey answersOne piece of evidence per free-text answer, with the question it answered
Funnel insightsEvidence naming the step people drop at, and the percentage who do
Retention insightsEvidence describing how the cohort held, with the numbers

Your event stream is not copied. The only events Adduce queries are the survey sent events that carry survey answers; nothing else is read and nothing else is stored.

Permissions the key needs

The personal API key is read-scoped. Give it read access to four things:

Read access toWhy
Projectresolve the project ID you entered
Surveylist your surveys and their questions
Queryread the survey answers behind them
Insightread your funnel and retention results

No write scope is requested, and Adduce never creates or edits anything in PostHog.

Steps

In PostHog, open Settings → Personal API keys and create a read-scoped key with the four kinds of access above. Copy it once; PostHog will not show it again. From Settings → Project → Project API Key, copy the project API key too, and take the number out of your PostHog URL after /project/ — that is the project ID.

In Adduce, open the project, choose Sources, then Add source.

Choose the PostHog tile.

Callout 1: the PostHog tile, first in Product signal.

On Connection details, give the source a Name your team will recognise, pick the API host — US Cloud, EU Cloud, or the URL of your own instance — and paste the two keys and the project ID.

Callout 1: the API host. Callout 2: the read-scoped personal API key.

Choose Continue. PostHog is the one connector Adduce checks by shape rather than by calling it: it confirms the host is a public https address and that the project API key begins phc_. The first sync is what proves the key can actually read.

The wizard's last step. The source now exists and waits for its first sync.

Back on Sources, the new row shows Connected, and it will show a count once the first sync has run.

Callout 1: the status of the PostHog row — Connected, and the signal count once a sync has run.

First sync and cadence

The first sync reads every survey answer in the project's history, and the current result of every funnel and retention insight. After that Adduce syncs once a day at 03:00 UTC, and Sync now on the source page runs one immediately. Later syncs pick up where the last one stopped, so only new answers are read; insight results are refreshed in place each time.

Disconnect or replace credentials

Delete the source from its page and type its name to confirm. Deleting removes the evidence it produced. To rotate a key, delete the source and add it again; the next sync backfills in full.

If it did not work

Why does the source say Connected but hold no evidence after a day?

The shape check passed but the key cannot read the project. The likeliest causes are a personal API key without insight or query access, and a project ID from a different project. Create a fresh key with all four kinds of read access, check the ID against your PostHog URL, and add the source again.

Why was the connection refused straight away?

Either the API host is not a public https address, or the project API key does not begin phc_. Both are checked before anything is saved, and the result names the field to correct.

Why are there no survey answers, only funnel numbers?

Nobody has answered a survey since the surveys were created, or the surveys collect ratings rather than free text. Only free-text answers become evidence.

What's next

On this page