PostHog icon

PostHog

Product analytics platform for events, persons, cohorts, feature flags, experiments, and session recordings.

Supports product analytics work across captured events, cohorts, insights, queries, actions, and product behavior.

Example Use Cases

These are the PostHog actions Snow can use when building apps with you. Connecting an account does not make Snow run these on its own.

Bulk delete feature flags

Bulk delete feature flags by filter criteria or explicit IDs. Use when you need to delete multiple feature flags at once. Accepts either 'filters' (same filter params as list endpoint: search, active, type, etc.) or 'ids' (explicit list of flag IDs). Returns operation status and count of deleted flags. Use '@current' as project_id for the current project context.

Capture Event

Capture (ingest) a single analytics event into PostHog using the public ingestion API and a project API key. Use when you need to send custom events like 'lesson_started', 'quiz_completed', or any user behavior tracking. This bypasses the private /api/* endpoints and uses PostHog's public write-only ingestion endpoint.

Create Feature Flag

Tool to create a new feature flag in a PostHog project. Use when you need to add feature toggles, perform gradual rollouts, or target specific user segments without deploying new code.

List project group types by id

List all group types configured for a PostHog project. Group types are used to organize entities (like companies, organizations, or teams) in PostHog analytics. Each project can have up to 5 group types (indexed 0-4). Returns an array of group type objects, each containing: - group_type: Unique identifier for the group type - group_type_index: Numeric index (0-4) - name_singular: Optional display name (singular form) - name_plural: Optional display name (plural form) Use this action before querying specific groups to discover available group types.

List projects in organization with pagination

Projects for the current organization.

Add dashboard collaborators with access level

Add collaborators to a specific project dashboard. Requires 'project_id' and 'dashboard_id'. Supports JSON, form-urlencoded, and multipart data. Returns added collaborator details. Auth: 'PersonalAPIKeyAuth'. IMPORTANT REQUIREMENTS: 1. The dashboard must have restriction_level > 21 (not on the lowest restriction level). Use POSTHOG_PARTIAL_UPDATE_OF_A_PROJECT_S_DASHBOARD to set restriction_level to 37. 2. The user being added cannot be the dashboard owner or a project admin (they already have inherent access). 3. Currently only level 37 (edit access) can be explicitly specified. 4. Use POSTHOG_LIST_ORGANIZATION_MEMBERS_WITH_PAGINATION to find valid user UUIDs.

Add member to organization role

Add a member to an organization role by submitting their details and UUID in JSON/form, using organization and role IDs. Requires PersonalAPIKeyAuth. Success gives a 201 status.

Add persons to static cohort

Add persons to a static cohort by their UUIDs. Use when you need to manually add specific users to a static cohort. Only works with static cohorts (is_static=true), not dynamic cohorts.

Add product intent to project

Tool to add a product intent to a PostHog project. Use when you need to register a project's intention to use a specific PostHog product feature. Product intents help track which features (product analytics, feature flags, data warehouse, experiments, surveys) a project plans to use.

Add project specific member roles

Add members with specific roles to a project by providing their user_uuid and level (member or admin). Requires project_id in the URL. Supports JSON, form-data, and form-urlencoded input. Returns the newly created membership data upon success. Note: This endpoint only works for projects with access control enabled (private projects). If the project does not have access control enabled, the API will return a 404 "Endpoint not found" error. Access control is an Enterprise feature that can be enabled in Project Settings > Access Control.