analytics
PostHog CLI for Headless Automation
Use the PostHog CLI for headless automation with headless JSON commands, schema discovery, credentials, and permission controls.
15 functions 11 read 4 write API token auth
PostHog CLI for Headless Automation
Use KosmoKrator as a non-interactive integration runtime for local automations and wrappers.
Use headless automation when another tool needs a stable local command surface. The PostHog CLI uses the same integration registry as the TUI, Lua runtime, and MCP gateway, but returns predictable command output for automation.
Command Shape
# PostHog CLI for Headless Automation
kosmokrator integrations:configure posthog --set api_token="$POSTHOG_API_TOKEN" --enable --read allow --write ask --json
kosmo integrations:call posthog.posthog_capture_event '{"event":"example_event","distinct_id":"example_distinct_id","properties":"example_properties","timestamp":"example_timestamp"}' --json Discovery Before Execution
Agents and scripts can inspect PostHog docs and schemas before choosing a function.
kosmo integrations:docs posthog --json
kosmo integrations:docs posthog.posthog_capture_event --json
kosmo integrations:schema posthog.posthog_capture_event --json
kosmo integrations:search "PostHog" --json
kosmo integrations:list --json Useful PostHog CLI Functions
| Function | Type | Parameters | Description |
|---|---|---|---|
posthog.posthog_capture_event | Write | event, distinct_id, properties, timestamp | Send (capture) a custom event to PostHog for a specific user. The event will appear in the PostHog events stream and can be used in insights and funnels. |
posthog.posthog_list_events | Read | limit, offset, event, distinct_id, person_id, after, before | List events from PostHog with optional filtering by event name, user, date range, and pagination. |
posthog.posthog_get_event | Read | event_id | Get details of a specific PostHog event by its unique ID, including all event properties and metadata. |
posthog.posthog_list_persons | Read | limit, offset, search | List persons (users) from PostHog. Optionally search by name, email, or distinct ID to find specific users. |
posthog.posthog_get_person | Read | person_id | Get details of a specific PostHog person (user) by their unique ID, including properties and event history metadata. |
posthog.posthog_list_feature_flags | Read | limit, offset | List all feature flags in the PostHog project, including their status, rollout percentages, and filter conditions. |
posthog.posthog_get_feature_flag | Read | flag_id | Get details of a specific PostHog feature flag by its ID, including rollout configuration and filter conditions. |
posthog.posthog_create_feature_flag | Write | name, key, active, filters, rollout_percentage | Create a new feature flag in PostHog with a name, key, and optional rollout configuration. |
posthog.posthog_update_feature_flag | Write | flag_id, active, filters, rollout_percentage | Update an existing PostHog feature flag — change its active state, filters, or rollout percentage. |
posthog.posthog_delete_feature_flag | Write | flag_id | Delete a feature flag from PostHog. This action is permanent and cannot be undone. |
posthog.posthog_list_insights | Read | limit, offset, type | List saved insights in the PostHog project. Optionally filter by insight type (e.g., TRENDS, FUNNELS, RETENTION, PATHS). |
posthog.posthog_get_insight | Read | insight_id | Get details of a specific PostHog insight by its ID, including its query configuration and cached results. |
posthog.posthog_list_dashboards | Read | limit, offset | List dashboards in the PostHog project. Dashboards contain collections of insights organized for monitoring. |
posthog.posthog_get_dashboard | Read | dashboard_id | Get details of a specific PostHog dashboard by its ID, including its layout and contained insights. |
posthog.posthog_list_cohorts | Read | limit, offset | List cohorts in the PostHog project. Cohorts are dynamic groups of users defined by behavioral or property conditions. |
Automation Notes
- Use
--jsonfor machine-readable output. - Keep credentials out of argv by using environment variables or stored KosmoKrator configuration.
- Configure read/write policy before unattended runs; use
--forceonly for trusted automation. - Use the MCP gateway instead when the agent needs dynamic tool discovery inside a conversation.