Integrate PostHog

Last updated:

PostHog provides multiple integrations to send events from your apps, use the API, and ingest historical data into your PostHog instance.

Our goal is for you to be able to integrate PostHog with your language, framework, or platform of choosing, without having to adapt your technology stack.

There are two common phases of integration with PostHog:

  1. Live (real-time) events from an application in development, test, or deployed to production
  2. Historical events from an existing data source such as a data warehouse

Live events

Live (real-time) events can be integrated using client libraries, server libraries, and third-party platform integrations.

The fastest way to get started with PostHog on the web is via the using the JavaScript snippet.

For more information read the live data ingestion guide.

Historical events

By ingesting historical data into PostHog you can apply the same analysis to your historical and real-time data.

Historical events need to be integrated using a PostHog server library or directly via the PostHog API.

For more information read the historical data ingestion guide.

Libraries

Refer to the tables below for an overview of the functionality in each of our client and server libraries.

Client libraries

Some features such as session recording are only available with our JavaScript library.

We're working to add support for feature flags and autocapture to as many libraries as possible. Please check out the individual library repositories for status on this and let us know if you think we should prioritize support for any specific library.

LibraryMaintainerEvent CaptureUser IdentificationAutocaptureSession RecordingFeature Flags
JavaScriptPostHog Team
AndroidPostHog Team
iOSPostHog Team
FlutterPostHog Team
React NativePostHog Team

Server libraries

Note: Session recording is not possible on server-side libraries.

LibraryMaintainerEvent CaptureUser IdentificationFeature Flags
NodeJSPostHog Team
PythonPostHog Team
PHPPostHog Team
RubyPostHog Team
GolangPostHog Team
ElixirCommunity
NimCommunity

Library activity stats

LibraryStarsOpen IssuesOpen PRsLast Commit Date

Integrations

IntegrationDescriptionMaintainerSends data to PostHog?Pulls data from PostHog?
SentryA two-way integration to get PostHog user data into Sentry and Sentry exceptions into PostHog.PostHog Team
SegmentIntegration to use PostHog as a destination in Segment.PostHog Team
RudderStackIntegration to use PostHog as a destination in RudderStack.RudderStack Team
SlackPostHog webhooks to receive messages in Slack when an action happens.PostHog Team
Microsoft TeamsPostHog webhooks to receive messages in Microsoft Teams when an action happens.PostHog Team
DiscordPostHog webhooks to receive messages in Discord when an action happens.PostHog Team
GatsbyA wrapper over posthog-js provided as a Gatsby plugin.Community
DocusaurusA wrapper over posthog-js provided as a Docusaurus plugin.Community
ZapierUse PostHog triggers in Zapier workflows.PostHog Team
n8nUse PostHog triggers in n8n workflows.n8n Team

Plugins

Visit our plugins section for more information.