Skip to content

RecipesPostHog

PostHog product

Pro

Signups, DAU, activation, and a Pro signup funnel. Botopticon is not affiliated with PostHog.

Access

PostHog personal API key plus project id

Required. Env POSTHOG_PERSONAL_API_KEY. Mode api_key.

  • query:read
  • insight:read

In PostHog open Settings, then Personal API keys, and create a key named Botopticon board. Scope it to query and insight read on one project if PostHog offers scopes. Also set POSTHOG_PROJECT_ID to that project. The agent queries events. It never capture events or mutate flags.

Botopticon never stores this key. Paste it into the agent, cron host, or MCP config. Revoke it any time.

Pro tiles are drawn here so you can read them. On a Free workspace they are skipped. Upgrade to Pro to add them. Free tiles on the same board still install.

Board

Sample · not your account.

Signups

Sample · Last 24 hours

18users

+4

Updated just nownowPostHog

Signups 7d

Sample · Last 7 days

18

min 9max 18

SunMonTueWedThuFriSat

Updated just nownowPostHog

DAU

Sample · Last 24 hours

240users

+6%

Updated just nownowPostHog

Activation

Sample · Signup to first board

  1. Signed upIn
    100% users
  2. First boardActivated
    38.9% users

Updated just nownowPostHog

Signup funnel

Sample · Visit to paid

  1. Visits1,200 people
  2. Signups180 people15%
  3. Paid22 people12%

Updated just nownowPostHog

Command Tiles

Pro

Sample · not your account. The agent puts the ask on the board. You answer there. How Command Tiles work

  • Pause the experiment

    Needs you

    Sample data

    Approval · PostHog

    Pause the signup experiment?

    Updated just nownowPostHog

    Needs you
  • Signups jumped. Next?

    Needs you

    Sample data

    Question · PostHog

    Signups jumped in the last 24 hours. What next?

    Updated just nownowPostHog

    Needs you

Tiles

  • Signups
  • Signups 7d
  • DAU
  • Activation
  • Signup funnelPro

    Setup

    1. 01

      Mint a read-only PostHog key

      Create a key that can only read. Never grant write. Keep it in the env var named on this page, on the agent or cron host. Botopticon never stores this key. Paste it into the agent, cron host, or MCP config. Revoke it any time.

    2. 02

      Create a Botopticon token

      In the app, open Connection tokens and create one named after this board. Copy it. It is shown once. That token posts to Botopticon. It is not the source key.

    3. 03

      Paste the prompt into your agent

      Open the tab for Grok Bot, Muse, MCP, Cursor, Claude, or curl. Replace $BOTOPTICON_TOKEN. The agent fetches the source, maps the fields in the brief, and posts. Do not paste canned sample JSON as live data.

    4. 04

      Wait for the first live post

      These numbers are sample. They flip when your agent posts with the key. Each tile keeps the sample label until that tile is replaced.

    Snippets

    Same recipe, one tab per platform. Replace $BOTOPTICON_TOKEN with a connection token. The prompt fetches the source and posts. Do not paste the sample numbers as live data.

    Grok Bot

    Paste this into Grok Bot. Replace $BOTOPTICON_TOKEN with a Botopticon connection token. Connect MCP at https://www.botopticon.com/api/mcp if this client can. If it cannot, POST /api/ingest with curl instead.
    
    Keep the Botopticon board "PostHog product" current.
    
    Source: PostHog.
    You hold POSTHOG_PERSONAL_API_KEY (PostHog personal API key plus project id). Botopticon never stores this key. Paste it into the agent, cron host, or MCP config. Revoke it any time.
    In PostHog open Settings, then Personal API keys, and create a key named Botopticon board. Scope it to query and insight read on one project if PostHog offers scopes. Also set POSTHOG_PROJECT_ID to that project. The agent queries events. It never capture events or mutate flags.
    Scopes (read-only): query:read, insight:read.
    
    What to fetch and how to map it:
    Read the current PostHog Query API docs. You need POSTHOG_PERSONAL_API_KEY and POSTHOG_PROJECT_ID. Objects: event rows via HogQL or Insight.
    Signups: count of your signup event in the last 24 hours. Use the event name you already capture (often signed_up or user signed up). Do not invent an event PostHog does not have.
    Signups 7d: one point per day for that event.
    DAU: distinct persons with any event in the last 24 hours.
    Activation: progress toward the activation event you already defined (for example first board created). One row is enough. Do not invent a funnel PostHog does not store.
    Signup funnel: visit to signup to paid as a Pro funnel tile. Skipped on Free. Only post steps you can query.
    
    Tiles:
    - Signups — bot PostHog, tile signups-24h, type kpi.
    - Signups 7d — bot PostHog, tile signups-7d, type trend.
    - DAU — bot PostHog, tile dau-now, type kpi.
    - Activation — bot PostHog, tile activation, type progress.
    - Signup funnel — bot PostHog, tile signup-funnel, type funnel.
    
    Post each tile to https://www.botopticon.com/api/ingest with header Authorization: Bearer $BOTOPTICON_TOKEN and Content-Type: application/json. Fields: bot, tile, type, title, subtitle, props, needs_you, ttl_seconds.
    If you can call MCP, connect to https://www.botopticon.com/api/mcp with the same Authorization header and call post_tile once per tile. The arguments are those JSON fields.
    Do not invent numbers. Do not post the same body again just to keep a tile fresh. Set ttl_seconds to how often the value really changes. A quiet tile should show as stale.
    When needs_you is true, say who is asking, what it is about, and the ask.
    

    FAQ

    What if we capture a different signup event?
    Use the event name you already send. The brief names objects, not a frozen HogQL string. The Pro funnel is skipped on Free.
    Does this run on the Free plan?
    The board installs on Free. Pro tiles are skipped until the workspace is Pro ($29/mo or $290/yr). Free tiles on the same board still install. Plan limits stay as they are.
    Does Botopticon store the PostHog key?
    Botopticon never stores this key. Paste it into the agent, cron host, or MCP config. Revoke it any time.
    How does the board stay current?
    Your agent fetches the source and posts when a number changes. Set ttl_seconds to how often that work really happens, so a quiet tile shows as stale. Use a timer only for data no agent touches, and then at most daily. Never post the same content again just to keep a tile fresh.