How to integrate PostHog with Slack for real time product alerts

If you’re shipping product and want to know the moment something critical happens—like a spike in errors, a VIP user churning, or a feature finally getting used—this guide’s for you. We’ll walk through linking PostHog with Slack to get those alerts in real time, right where your team already hangs out. No hand-waving, no overpromises. Just what you need to know to make it work.


Why bother with real-time alerts in Slack?

Let’s be blunt: email alerts go unread, dashboards get ignored, and unless it pings your team in a channel they’re already watching, it probably won’t get noticed. Real-time Slack alerts can actually move the needle—if you set them up thoughtfully and avoid the usual noise.

Who should do this? - Product managers who want to respond fast when something breaks (or when something finally goes right). - Engineers who don’t want to babysit dashboards all day. - Support teams who want a heads up before customers start complaining.

If you’re just dabbling with PostHog or Slack, you probably don’t need this yet. But if your team wants to spot issues or wins as they happen, keep reading.


Step 1: Figure out exactly what you want to alert on

Don’t just set up “every event” to ping Slack. That’s a fast way to make everyone hate you. Before you touch any settings:

  • Decide which events or metrics really matter. Common examples:
  • User signs up (maybe for big customers only)
  • Payment fails
  • Feature usage milestones
  • Error rates spike
  • Pick the right channel. Public for team-wide stuff, private for sensitive alerts, or even DMs if it’s just for you.
  • Think about volume. If you’re not sure, start with fewer alerts and add more as needed.

Pro tip: Ask yourself, “Will someone actually do something if this alert fires?” If not, skip it.


Step 2: Set up your Slack app and webhook

PostHog can send alerts straight to Slack via webhooks. You don’t need to code, but you do need to set up an “Incoming Webhook” in Slack.

Here’s how:

  1. Go to Slack’s Incoming Webhooks page and click “Create your Slack app”.
  2. Name your app and pick your workspace.
  3. Under “Add features and functionality,” select “Incoming Webhooks.”
  4. Turn on “Activate Incoming Webhooks.”
  5. Click “Add New Webhook to Workspace.”
  6. Pick the channel where alerts should go, then click “Allow.”
  7. Copy the Webhook URL Slack gives you. You’ll need it in PostHog.

If you’re not allowed to create apps in your Slack workspace, you’ll need to bug your admin. No way around it.


Step 3: Connect your Slack webhook to PostHog

Now, head over to your PostHog instance.

  1. Go to Project Settings (usually bottom left).
  2. Find Integrations and select Slack.
  3. Click Add webhook.
  4. Paste the Slack Webhook URL you copied earlier.
  5. Give it a name and, if you want, set a default channel (though the webhook already points to one).

That’s it for the connection. Now, PostHog can talk to Slack. But nothing’s actually being sent yet.


Step 4: Set up your first alert (aka “Action” or “Insight”)

This is where most people get tripped up: Just connecting PostHog to Slack isn’t enough. You need to tell PostHog what to send.

Option A: Send alerts for saved Insights

If you want to alert on trends—like error rates or conversion drops—use Insights.

  1. In PostHog, build the chart or graph you care about (“Insight”). For example: “Signups per hour” or “Errors in the last 10 minutes.”
  2. Click “Save & subscribe.”
  3. Choose Slack as the delivery method.
  4. Pick the webhook you set up earlier.
  5. Set how often you want alerts (immediate, daily, etc.).
  6. Save.

Heads up: “Immediate” alerts usually only fire when something changes significantly—check the docs if you want exact details.

Option B: Send alerts for specific events (Actions)

If you want Slack to ping you when, say, a VIP cancels, use Actions.

  1. Set up an Action in PostHog that matches the event (e.g., “User cancelled”).
  2. Once your Action is saved, go to Subscriptions.
  3. Add a subscription, pick the Slack webhook, and set your frequency.
  4. Save.

You can get fancy with filters—like only alerting if the user has a certain email domain. Don’t overcomplicate it unless you need to.


Step 5: Test and tune your alerts

Don’t just trust that it works. Fire a test event (or use the “Test webhook” button if available) and make sure:

  • The alert actually shows up in Slack.
  • The message is clear—if it’s just a cryptic event ID, tweak your PostHog setup.
  • The right people see it (right channel, right frequency).

If you get flooded with alerts, dial it back. One or two meaningful alerts a day is a good starting point. If you go weeks without a single ping, maybe your triggers are too narrow.


Step 6: Make your alerts more useful (optional, but worth it)

Slack alerts can be more than just “something happened.” You can:

  • Customize the message: In PostHog, you can format what gets sent—add user names, event details, or links to your app.
  • Add context: Include links to dashboards or issue trackers so someone can dig in fast.
  • Use Slack threads or reactions: Encourage the team to reply or react when they’re handling an alert, so you don’t get duplicate work.

Pro tip: Don’t be afraid to delete an alert if no one ever cares about it. Alert fatigue is real.


What works, what doesn’t, and what to skip

  • Works: Quick, actionable alerts for critical events. Slack is good at grabbing attention, and PostHog’s flexibility means you can tune things pretty well.
  • Doesn’t work: Blanket “everything” alerts, or alerting on stuff no one can actually fix. Also, don’t rely on Slack for stuff that needs to wake you up at 3 a.m.—that’s what PagerDuty or Opsgenie are for.
  • Skip: Setting up dozens of different alerts because you “might need them.” Start small. Iterate.

Troubleshooting: Common problems

Alert not showing up? - Double-check your webhook URL. - Make sure your PostHog subscription is actually enabled. - Look at your Slack permissions—sometimes bots get kicked out or muted.

Too many pings? - Add filters in PostHog to cut down on noise. - Adjust alert frequency—from “immediate” to “daily” if needed.

Message is useless? - Edit your PostHog action/insight to include helpful context (user name, event type, etc.).


Keep it simple, iterate often

Setting up real-time alerts from PostHog to Slack isn’t rocket science, but it’s easy to overdo it. Start with one or two alerts that actually matter, see what your team does with them, and adjust. If you’re not acting on a specific alert, kill it. The goal isn’t more notifications—it’s the right few that make your team faster and more effective.

Stay skeptical, keep your alerts lean, and you’ll actually get value out of this integration.