Set up the PostHog Slack app
Contents
You need two integrations to use @PostHog in Slack: one workspace-wide Slack connection per PostHog project (set up by a project admin), and a personal GitHub connection per teammate who wants to ship code.
- 1
Connect Slack to your project
RequiredHead to the Slack integration page in PostHog and click Add to Slack. Approve the requested scopes – you'll need to be a project admin to install.

To talk to the bot in a channel, @-mention it – Slack will prompt you to invite it – or invite it explicitly with
/invite @PostHog. When it joins a channel it posts a short greeting with example prompts. When new teammates join your Slack workspace, they get a welcome DM from the bot introducing itself and what it can do. You can also skip channels entirely and DM the bot directly.The first time the bot sees a mention, it matches your Slack email to your PostHog account, so make sure you're signed in to the same org on both sides.
Slack email doesn't match your PostHog email?Link the accounts instead. When email matching fails, the bot replies with a Link my PostHog account button – click it and sign in with Slack to connect the two. You can also link (or unlink) anytime from the App Home tab under Linked accounts, or from Settings → Personal integrations in PostHog. A linked account always wins over email matching.
Slack Connect channels require one-time approvalIn externally-shared (Slack Connect) channels, the bot asks for one-time approval before answering. The first time someone mentions
@PostHogin a shared channel, the bot posts an ephemeral prompt visible only to the mentioner. An org member clicks Allow PostHog in this channel to enable it – after that, mentions in the channel work normally without further prompts.This prevents the bot from accidentally surfacing data to external members of the channel.
Reconnect if you installed before 2026-05-04The bot picked up new OAuth scopes on 2026-05-04 (
app_mentions:read,users:read,users:read.email,chat:write,channels:history,groups:history,reactions:write). If your workspace was connected before that date, head back to Add to Slack and re-approve – otherwise the bot will fail with a missing-scope error on the next mention. - 2
Connect your personal GitHub
RequiredA personal GitHub integration is required for the coding agent to run. Without one, the bot refuses to start any repo-bound task and replies in-thread:
I can't start this task yet – you haven't connected your personal GitHub. Connect it so I can open the pull request as you, then mention me again.
This is a hard block on the whole task, not just the PR step – the agent doesn't plan, edit, or run anything until you've connected GitHub. Each teammate who wants to ship code connects their own account at Settings → Personal integrations and clicks Connect GitHub. You can connect multiple accounts or organizations – the agent uses them for repo access, commit attribution, and pull request authorship.
PRs can't be authored under the bot itself – the agent always commits and opens PRs as whichever teammate triggered the task.
GitHub's Save button is disabled?If GitHub's Save button is greyed out at the end of the install flow, toggle between All repositories and Only select repositories to wake it up – it's a quirk of the GitHub OAuth UI.
If you start a task before connecting, the agent stops and posts a Connect GitHub button in the thread. Click it, finish the OAuth flow, and re-mention the bot – the task picks up where it left off.
- 3
Pick a project
OptionalA single Slack workspace can be connected to more than one PostHog project. When that happens, the bot won't guess which project your mention belongs to – it asks you to pick one first:
This Slack workspace is connected to multiple PostHog projects:
- Acme · Production (id
42) - Acme · Staging (id
7)
Use
@PostHog project <id>to pick one – that also saves it as your default.Pick a project once and the bot remembers it for you across channels and threads in this workspace.
Command What it does @PostHog projectShow which PostHog project your mentions route to in this workspace, and list the alternatives @PostHog project <id>Set the PostHog project your mentions route to in this workspace @PostHog project workspace <id>Set the workspace-wide default project (Slack admins/owners only) The same commands are available as the
/posthogslash command (e.g./posthog project <id>). Unlike an @-mention, a slash command is visible only to you, so you can change your routing without posting a message everyone in the channel sees. In a DM you drop the mention entirely:project <id>. You can also manage your personal default and the workspace default from the App Home tab under Project routing.The bot resolves a target with this precedence: thread context (continuing an existing task) → your personal default → workspace-wide default (set with
@PostHog project workspace <id>by a Slack admin) → the only connected project → picker. Personal defaults always win over the workspace fallback, so each teammate can route their own mentions independently.If your workspace is only connected to a single PostHog project, you can skip this step – the bot routes there automatically.
- Acme · Production (id
- 4
Next steps
RecommendedOnce both integrations are connected and (if needed) you've picked a project, you're ready to start a task. The full command reference covers everything
@PostHogaccepts.