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.

Sign in to connect PostHog

Sign in to connect an account and start using PostHog in your apps.

Example Use Cases

These are example ways Snow can use PostHog when building apps with you. This list is meant to show examples, not document every possible capability. Connecting an account does not make Snow run these automatically on its own.

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.

Add session recording to playlist

Add an existing session recording to a playlist. This endpoint associates a specific session recording with a playlist, making it part of that collection. Requires 'project_id' (project identifier), 'short_id' (playlist identifier), and 'session_recording_id' (recording identifier) in the URL. Optional body parameters can be used to update playlist properties. Works with both 'collection' and 'filters' type playlists. Returns the updated playlist details on success.

Append Desktop Recording Segments

Append transcript segments to an existing desktop recording for real-time streaming support. Use when you need to add new transcript segments to a recording in batches as they become available from transcription services like AssemblyAI. Requires desktop_recording:write scope.

Archive survey response

Tool to archive a single survey response. Use when you need to hide a survey response from analytics while preserving it in the database.

Assign feature flag role based access

Set up role-based access for a feature flag using `project_id` and `feature_flag_id`. Submit access info in JSON or form format, with `feature_flag:write` rights. Success returns new details with a 201 code.

Bulk create organization invites

POST /api/organizations/{organization_id}/invites/bulk/: Bulk-create organization invites with customizable levels, sender details, and validation checks. Supports email automation and private project access settings.