PostHog, worked by an AI employee
Not another app for your team to learn, and not a set of rules for you to build. You hire an AI employee, you give it access to your PostHog account, and you ask it for things in Slack or Teams the way you would ask anyone else on the team. There is nothing to map and nothing to maintain.
- Analytics
- Connects with a key
- 100 ready-made tools
- Asked in Slack or Teams
An illustration of how the conversation reads, not a transcript from a client account.
What PostHog is
PostHog is an open-source product analytics platform tracking user interactions and behaviors to help teams refine features, improve funnels, and reduce churn
You paste in a key from your own PostHog account. It is kept encrypted, and you can withdraw it from inside PostHog whenever you like.
One message in, the work done in PostHog.
- 01
You ask
You message your AI employee in the chat your team already has open, in one sentence, in your own words.
- 02
It works out the step
It decides what the job needs in PostHog. You do not pick anything from a menu or wire anything together.
- 03
It does the work
Signed in to your own PostHog account, inside the access you granted it, doing the thing you asked for.
- 04
It reports back
It tells you what it did, in the same thread. If it could not do something, it says so rather than guessing.
What it can do in PostHog
These are the ready-made tools your AI employee already has in PostHog. It is not limited to them, but it never has to be taught these.
- Add dashboard collaborators with access levelAdd collaborators to a specific project dashboard. requires 'project id' and 'dashboard id'. supports json, form-urlencoded, and multipart data. returns added collaborator details.
- Add member to organization roleAdd 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 project specific member rolesAdd 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
- Assign feature flag role based accessSet 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 det
- Bookmark project activity notificationCreate a bookmark for an activity notification in a project's activity log. requires a project id and json payload with activity details. supports verification status, impersonatio
- Bulk create organization invitesPost /api/organizations/{organization id}/invites/bulk/: bulk-create organization invites with customizable levels, sender details, and validation checks. supports email automation
- Cancel insights for a projectThe "/api/projects/{project id}/insights/cancel/" endpoint allows users to cancel insights for a project by providing a project id and insight details in json or csv, and confirms
- Check pipeline destination updatesGet the newest updates and plugin info for a pipeline destination by organization and destination id via get request to /api/.../{id}/check for updates.
- Check pipeline import app updatesRetrieve the latest update information for a specific pipeline import app by its id within an organization. this endpoint returns details such as plugin type, name, description, an
- Check pipeline plugin update statusGet update status for a specific pipeline transformation plugin by its unique id within an organization. this endpoint requires the 'organization id' and 'plugin' ids and returns d
- Check project s demo data generation statusProjects for the current organization.
- Cohort duplication to staticThis endpoint duplicates a specified cohort as a static one within a project. path parameters include project id (string) and cohort id (integer). successful requests return cohort
- Create a notebook in a projectThe api for interacting with notebooks. this feature is in early access and the api can have breaking changes without announcement.
- Create dashboard from template in projectCreate a new dashboard for a specified project from a template. accepts project id in the path and a json payload with various dashboard object parameters. returns a dashboard inst
- Create domain with saml for organizationCreate a domain for a specific organization by post to /api/organizations/{id}/domains with json/form data. requires domain, saml setup, and write permissions. returns new domain d
- Create experiment exposure cohortCreate a new exposure cohort for an experiment in a project by sending a post request with experiment details and feature flag data. requires experiment id and project id in the pa
- Create feature flag dashboardManage feature flags by creating, reading, updating, and deleting them. utilize javascript library or endpoint for user-specific flag status. refer to documentation for details.
- Create feature flags for projectManage feature flags by creating, reading, updating, and deleting them using posthog's javascript library or api endpoint. details in the provided documentation.
- Create frontend app pipeline configCreate a config for pipeline frontend apps within a specified project. requires project id and payload with object properties such as plugin, enabled status, order, etc. returns ne
- Create funnel analysis for project personsThis endpoint handles reading and deleting persons. for creation or updates, use the capture api, $set or $unset properties, or sdks.
- Create new organization with configurable accessPost /api/organizations/ - create a new organization with details like name, membership level, and features access. requires organization:write permission. returns organization inf
- Create new project experimentCreate a new experiment in a specific project using json, form, or multipart data. requires project id and experiment details, secured with personalapikeyauth. generates a 201 resp
- Create org proxy record with domain and statusCreate a proxy record for an org by sending org id in url and json/form/multipart data with domain, target cname, and status. requires personalapikeyauth and org write access; retu
- Create organization invite with role and emailSend invites with roles (member, admin, owner) via email to join an organization by id. use json, form data, or multipart with a personal api key for security. successful invites r
- Create organization role with feature flag levelsCreate a new role for the specified organization by supplying role details. requires organization id (uuid) and role data in json. returns the created role on success with a 201 st
- Create person funnel correlationThis endpoint is for reading and deleting persons. use the capture api, $set/$unset properties, or sdks to create or update them.
- Create person path with format optionThis api endpoint is for reading and deleting users. use the capture api, $set/$unset properties, or sdks for creating/updating users.
- Create pipeline destination configCreate pipeline destination configurations for a specific project by submitting plugin and order details, among other configuration info, with required project id. authentication n
- Create pipeline destination config jobCreate a job for a pipeline destination config with a specific id within the specified project. requires project id & config id in the path, and a json payload with plugin and orde
- Create pipeline import apps config jobA job imports app settings into a project pipeline using project id and plugin config id, accepting json/form/multipart, and specifies plugin details, enabling status, and order fo
- Create plugin job configurationCreate a job-related configuration for a specific plugin by providing plugin and project ids. accepts json, form data, and returns config details on success. use carefully; require
- Create project action with formatThis post endpoint creates actions for a project, accepts various data types, requires project id and action data, optionally outputs in csv/json, and needs personalapikeyauth, ret
- Create project cohortsCreate cohorts for a specified project by posting json-form data to "/api/projects/{project id}/cohorts/". provide project id in url and the necessary payload, adhering to json sch
- Create project dashboardThe post endpoint creates a dashboard within a project using a project id, accepting details in json/form formats. it uses 'personalapikeyauth' for security and returns http 201 wi
- Create project insights with customizable parametersThe post endpoint enables creating insights for projects using a project id and supports json/csv. it offers detailed parameters for customizing insights and returns structured dat
- Create project insights with format optionCreate project insights with optional csv/json format parameter. requires project id in the path and a json body with project insight details. supports personal api key authenticat
- Create project pipeline app configsCreate pipeline app configurations for a specified project via post, requiring a project id and json, form, or multipart payload. supports configs, plugins, and app details. return
- Create project pipeline frontend app jobCreate a job for a pipeline frontend app config in a project. requires project id and config id, accepting json/form-data. returns the created job's details.
- Create project pipeline transformation configCreate a pipeline transformation config within a specific project by posting json, form, or multipart data. include plugin id, order, and enabled status. ensure project id is in th
- Create project plugin configurationCreate a new plugin configuration for a specified project by post to /api/projects/{project id}/plugin configs/. requires project id and json payload with plugin details; must auth
- Create project subscription with delivery optionsCreate a subscription for a given project by providing required details such as delivery method, frequency, and starting date. requires a project id and supports various content ty
- Create project surveys with questions and targetsCreate surveys in a project by providing a project id and details like type, questions, and targets in json, form-data, or urlencoded format. use personalapikeyauth for security. g
- Create project timing insightsCreate timing insights for a project by post to /api/projects/{project id}/insights/timing, supporting csv or json. it returns a 200 status with content in the chosen format.
- Create query in project by idThe /api/projects/{project id}/query/ post endpoint allows users to submit queries for a specific project by providing the project id in the url and the query details in json or fo
- Create retrieve retention insights for projectCreate and retrieve retention insights for a project using its id, allowing csv/json outputs. requires an api key with insight:read permissions and supports query node json strings
- Create session recording in playlistThe post endpoint generates a project's session recording, needing 'project id', 'short id', and 'session recording id' in the url, and accepts various content formats for recordin
- Create session recording playlistsCreate playlists of session recordings for a specified project. requires 'project id' path parameter and personal api key with write access. supports json, form-encoded, or multipa
- Create session recording summarySummarize a session recording by providing the project id and the recording's uuid. get details like duration, activities, and user info.
- Create static cohort for feature flagManage feature flags for apps with create, read, update, and delete operations using posthog's javascript library or dedicated endpoint. more info in the docs.
- Crud operations for project annotationsCreate, read, update and delete annotations.
- Delete organization by uuidDelete an organization by its uuid. requires a 'personalapikeyauth' with 'organization:write' permission. on success, returns a 204 status code with no response body.
- Delete organization projectProjects for the current organization.
- Delete person and optionally associated eventsThis endpoint is used to read and delete user data. use the capture api, $set/$unset commands, or sdks for creating/updating persons.
- Delete session recording by uuidDelete a session recording by providing the session's uuid and the associated project id. requires session recording:write permission. returns no content on successful deletion.
- Delete survey by idDelete a survey by providing its uuid and the associated project id. requires 'survey:write' permission. returns no content with a 204 status on success.
- Enable project early access featureEnables a new early access feature for a project using project id, payload with details, and personalapikeyauth. returns a 201 status on success.
- Fetch batch export details via uuidRetrieve logs for a specific batch export within a project by its uuid. endpoint requires project id and export id (uuid). supports json responses detailing export properties, run
- Fetch export unsubscribe settingsRetrieve pipeline transformation export unsubscribe configurations for a specified organization by its uuid. returns details including id, plugin type, and configuration schema in
- Fetch frontend app config statusRetrieve activity details for a specific pipeline frontend app config by id within a project. requires both project id and config id in the path. returns json with app config detai
- Fetch organization details by uuidRetrieve organization details by uuid. endpoint requires 'organization:read' access. response includes name, slug, timestamps, membership, plugins access level, and team structure.
- Fetch organization pipeline app repositoriesRetrieve details of pipeline import app repositories for a specific organization by its uuid. returns json with properties like plugin type, name, and url. supports 'local', 'custo
- Fetch pipeline transformation detailsRetrieve details of pipeline transformations from a specified organization's repository. requires organization id (uuid). returns json with properties like id, plugin type, and nam
- Fetch project experiment secondary dataFetch secondary experiment data in a project by its unique id, using project and experiment ids as path parameters. authenticated by personalapikeyauth, it returns a json with expe
- Fetch project survey activity logRetrieve the activity log of surveys within a specific project by using the project id. this endpoint requires a personalapikeyauth with 'activity log:read' permission and returns
- Fetch session recording playlist detailsRetrieve session recording playlist details for a specific project by project id and playlist short id. requires personalapikeyauth with read access. returns playlist metadata incl
- FetchpipelinedestinationdetailsUse a get request to '/api/projects/{project id}/pipeline destination configs/{id}/activity/' to get details, status, config, and metrics for a pipeline destination by id, returnin
- Flag annotation as deletedHard delete of this model is not allowed. use a patch api call to set "deleted" to true
- Generate project funnel correlation insightThe /api/projects/{project id}/insights/funnel/correlation endpoint generates a correlation insight for funnel analysis in a project, accepting json/csv and needing 'project id' an
- Initiate domain verification with saml configPost /api/organizations/{organization id}/domains/{id}/verify/: initiates verification for a domain within an organization using its uuid, updating its verification status and rela
- Initiate pipeline transformation jobCreate a pipeline transformation job for a specified plugin config in a project by posting to /api/projects/{project id}/pipeline transformation configs/{id}/job/. requires project
- List and filter project eventsThis endpoint for listing/filtering events is deprecated and maintained only for compatibility. users are discouraged from using it and should use the query endpoint for ad-hoc lis
- List and manage project annotationsCreate, read, update and delete annotations.
- List and manage project feature flagsManage feature flags with creation, reading, updating, and deletion capabilities. utilize javascript library or an endpoint for application integration. more details in the docs.
- List Batch Export RunsList runs for a batch export by batch export id within a project. supports pagination & ordering of the results. requires batch export:read permission. returns status, errors, coun
- List dashboard sharing configsRetrieve a list of dashboard sharing configurations for a specified project and dashboard. requires dashboard id, project id, and sharing read permission via personalapikeyauth. re
- List feature flag role access detailsThis get endpoint returns role access details for a feature flag in a project, needs 'project id' & 'feature flag id', and offers optional 'limit' & 'offset' for pagination.
- List notebooks with filters and paginationThe api for interacting with notebooks. this feature is in early access and the api can have breaking changes without announcement.
- List of project s session recording playlistsRetrieve a list of session recording playlists for a specific project. filter by creator, paginate with limit and offset, and identify playlists with project id and optional short
- List or delete persons with optional filtersThis endpoint is for reading/deleting persons. for creating/updating, use the capture api, set/unset properties, or sdks.
- List organization domains with paginationFetch a list of an organization's domains with pagination using limit and offset. access requires organization id and a personalapikeyauth. optional parameters available. provides
- List organization invites with paginationRetrieve a paginated list of invites for a specific organization, identified by organization id, with optional limit and offset query params for result customization. requires orga
- List organization members with paginationRetrieve members list from an organization with 'limit' and 'offset' options using personalapikeyauth and organization id. access requires organization member:read permission. retu
- List organization roles with paginationFetch a paginated list of roles in an organization using its uuid. supports query parameters for limits and offsets. access needs personalapikeyauth. returns details like id, name,
- List organization s batch exports with paginationRetrieve paginated batch exports for an organization, with filters and optional limits. includes team, interval, and status details. access requires personalapikeyauth with batch e
- List organization s paginated proxy recordsRetrieve a paginated list of an organization's proxy records by id, with 'limit' and 'offset' options. 'organization id' and 'personalapikeyauth' are necessary. includes status, do
- List organization s pipeline destinationsRetrieve a paginated list of an organization's pipeline destinations by id, with optional count and offset parameters. requires personalapikeyauth (plugin:read). returns details li
- List organization s pipeline frontend appsRetrieve a paginated list of pipeline apps for an organization using 'plugin:read' personalapikeyauth. requires organization id (uuid) and supports limit and offset parameters. inc
- List organization s pipeline import appsRetrieve a paginated list of pipeline import applications for a specified organization by id. supports optional 'limit' and 'offset' query parameters for result pagination. require
- List organization s pipeline transformationsRetrieve paginated pipeline transformation lists for an organization using limit and offset, requiring a uuid and personalapikeyauth. supports filtering and detailed views.
- List paginated surveys for a projectGet paginated surveys for a project with its id, using 'limit' and 'offset'. needs personalapikeyauth ('survey:read'). json output includes survey info, links, and metadata.
- List pipeline destination configs with paginationList pipeline destination configurations for a given project by id, with optional pagination through 'limit' and 'offset' query parameters. returns details such as plugin info and
- List pipeline frontend app configsRetrieve paginated configurations for pipeline frontend apps associated with a specified project. query parameters 'limit' and 'offset' control pagination. requires a project id an
- List project actions with pagination and filtersGet paginated project actions with filters by format. query params: limit, offset. needs personalapikeyauth for read. includes id, name, description, metadata.
- List project batch exports with paginationRetrieve an indexed list of batch exports for a specified project with optional pagination. view export details, statuses, and pagination links. requires project id and supports pe
- List project configuration plugin logsRetrieve logs for a specific plugin configuration within a project. supports pagination with limit and offset query parameters. requires project and plugin configuration ids. auth:
- List project dashboard collaboratorsGet dashboard collaborators list in a project using project string id and dashboard integer id. requires personalapikeyauth and dashboard:read permission. returns details like acce
- List project dashboards with paginationGet paginated dashboards for a project by id, using 'limit' and 'offset'. must authenticate with personalapikeyauth. includes count, pagination, and dashboard details.
- ListorganizationpluginswithpaginationRetrieve the list of plugins for a specified organization. supports pagination through 'limit' and 'offset' query parameters. requires a valid organization uuid and personalapikeya
- Project Funnel Advanced AnalyticsThe /api/projects/{project id}/insights/funnel/ endpoint generates customizable funnel insights for a project in either csv or json, offering filtering, exclusion, and ordering fea
- Retrieve unused organization pipeline frontend appsRetrieve unused pipeline frontend apps for a specific organization by its uuid. returns details like app ids, types, names, descriptions, and other metadata in json format. require
You stay the boss of your PostHog account.
Nothing connects until you approve it. You grant access one app at a time, you can take it back the same way, and everything your AI employee does in there is written down where you can see it.
How we handle your data- It signs in to your own PostHog account. You are not moving anything into ours.
- You grant access one app at a time, and you can take it back the same way.
- Everything it does in PostHog is written down, with what it did and when.
- Anything you tell it to check with you first, it checks with you first.
It works in PostHog and the rest of your software in the same job
A real job rarely stays in one place. Reading a message in one app, checking a record in another and writing the result in a third is one request to your AI employee, not three.
Questions people ask about PostHog
- Can an AI employee really work inside PostHog?
- Yes. It signs in to your own PostHog account and works in it the way a new hire would, from the chat your team already has open. Nobody installs anything, and nobody learns a new screen.
- Do I have to move anything out of PostHog?
- No. Nothing moves and nothing is replaced. Your records stay in PostHog, your team carries on in the same screens they used yesterday, and your AI employee works alongside them in there.
- How does it get into my PostHog account?
- You paste in a key from your own PostHog account. It is kept encrypted, and you can withdraw it from inside PostHog whenever you like. You approve it before anything connects, and you can take the access back the same way you gave it.
- What can it actually do in PostHog?
- It has 100 ready-made tools in PostHog today, among them Add dashboard collaborators with access level, Add member to organization role and Add project specific member roles. The full list is on this page. It is not limited to those, but it never has to be taught them.
- Can it use PostHog and the rest of my software in the same job?
- Yes, and that is usually the point. Reading a message in one app, checking a record in PostHog and writing the result somewhere else is one request to your AI employee, not three separate ones you stitch together.
- Who decides what it is allowed to do in PostHog?
- You do. You grant access one app at a time and can withdraw it at any time, anything you ask it to check with you first it checks with you first, and everything it does in PostHog is written down with what it did and when.