PostHog Handbook Library / Support

3,481 words. Estimated reading time: 16 min.

Working in PostHog Support

Auto TL;DR

At a Glance

This long page covers these main areas. The list is generated from the article headings, so it updates with every handbook rebuild.

  1. How do tickets get created?
  2. How does a customer know their ticket was created?
  3. Creating tickets on behalf of customers
  4. Forwarding customer emails
  5. Where do the tickets live?
  6. Tags and what they mean
  7. Customer and account tags
  8. Categorization tags

We use PostHog Support as our support ticketing system. This ensures that we don't miss anyone, especially when their request is passed from one team to another at PostHog, or if they message us out of hours or over the weekend. PostHog Support allows us to manage all our customer conversations (email, widget, Slack, MS Teams) in one place and reply back on the same medium.

This page covers the practical, day-to-day mechanics of working tickets: where to find yours, how to prioritize them, what each status means, and how to escalate or hand a ticket off cleanly.

How do tickets get created?

Customers can reach us through several channels, and every one of them lands as a ticket in PostHog Support.

Email. Customers can email any of the addresses we've set up in our email channel settings.

Support widget. Customers can open the support side panel by opening the bottom-left More menu and clicking Support (direct link). This raises a widget channel ticket. Widget tickets are also raised when a customer gives feedback on a feature, or whenever they hit an error in the app.

Slack. Enterprise and high-paying customers may have a shared Slack channel with us. Any channel listed as a support channel in our Slack settings will automatically raise a ticket every time a message is posted. For any other channel that has @SupportHog in it, anyone can either react to a message with a :ticket: emoji or mention @SupportHog, and a ticket will be raised in PostHog Support. In shared channels, @SupportHog also watches for messages that look like potential support cases. When it spots one, it replies on the thread asking the customer whether they'd like to open a ticket (Open ticket or No thanks), and reminds them they can always raise one with the :ticket: emoji or by mentioning @SupportHog.

MS Teams. Enterprise and high-paying customers may also have a shared MS Teams channel with us. Any channel listed as a support channel in our Teams settings will automatically raise a ticket every time a message is posted. For any other channel that has @SupportHog in it, anyone can @mention SupportHog to raise a ticket. Note: unlike Slack, reacting with a :ticket: emoji in MS Teams does not raise a ticket.

To set up @SupportHog in customer channels, see the sales/CS handbook page on customer channels.

How does a customer know their ticket was created?

Creating tickets on behalf of customers

Sometimes a user will reach us somewhere that isn't a proper channel — a reply to an old, already-solved ticket thread, a question over Twitter, or an email that spirals into several separate issues. In these cases it's best to create a fresh ticket for them, so the correct SLAs apply and each issue stays distinct and easy to assign.

You can ask a user to open a new ticket themselves, but it's better if we do it for them. At the top of the PostHog Support page you can create a new ticket and fill in their details — this makes sure the right tags, SLAs, and so on are applied automatically.

A couple of things worth doing depending on where the issue came from:

Forwarding customer emails

If a customer has emailed you directly and the conversation should live in support, you don't need to copy anything over manually — forward the email to one of the support addresses in our email channel settings and a ticket will be created. Default to the address set as primary unless you have a reason to use another.

Make sure the customer's email address is included as a cc on the forward. This is how the ticket gets associated with the customer, so that they receive our replies and the right tags and SLAs are applied.

Where do the tickets live?

It depends on your role:

If you ever forget where your view is, or you want to look at another team's view, click the Saved views button in PostHog Support to see every available view.

Tags and what they mean

Tickets are tagged automatically to tell us who the customer is, what plan they're on, and which part of PostHog the ticket relates to. Understanding the tags makes prioritizing, escalating, and transferring tickets much easier.

Customer and account tags

Categorization tags

Prioritizing tickets

As a rough order of priority, work through:

  1. top_20 and churn_risk customers
  2. Customers on an enterprise plan (plan_enterprise)
  3. All other paying customers, by most-breached ticket

That ordering is simply a starting point, not a rulebook. Use your judgement about what the next most important thing to work on actually is:

Prioritization is not a set of hard-and-fast rules — we trust you to figure it out.

How will I know if a ticket is nearing a breach of our SLA targets?

TBD - SLA alerts coming soon.

Ticket statuses

Getting statuses right matters — it's how the rest of the team (and our reporting) knows what's actually happening with a ticket.

Working on a ticket

When you start working on a ticket, assign it and save it. This is the single easiest way to avoid two people investigating the same thing. Who you assign it to depends on your role:

To reply to a customer, write your message in the message box and click send. Once your message has gone out, double-check the ticket is in the correct status.

If you're a support hero and you ever have trouble responding to a customer — for any reason at all, including that you're not sure how to phrase something or you're just feeling stuck — reach out in #team-support. We're always happy to help.

How does a customer know we've responded?

AI private notes

On some tickets you may see a private note from PostHog Assistant. This is an AI-generated note containing a response that the AI thinks is correct for the ticket.

Never copy and paste these responses — especially without checking them. AI can make mistakes, and it's your job to verify anything it says before it goes anywhere near a customer. By all means review these notes and rate them — it helps the improve them.

The direction for support at PostHog is set out in Stop adding AI between you and your customers — support at PostHog stays human.

Private notes

Attach private notes as you investigate. Future travelers will thank you: notes help the next person understand your thought process, they help engineers if you need to escalate, and they make it far easier for a teammate to pick up the ticket if you're on holiday or off sick.

Don't use private notes to communicate internally about a ticket — it's far too easy to miss them. If you need to ask something internally, raise it in Slack and then attach a private note with a link to the Slack thread. If you start any Slack conversation about a ticket, always leave a private note linking to it.

Escalating a ticket

To escalate a ticket to an engineering team, assign the ticket to that team. That's it.

Most tickets are default assigned to the support team, and are automatically tagged with the engineering team and SME grouping that best fit. To escalate to the relevant engineering team, all you need to do is assign the ticket to them.

If a ticket has been mis-categorized and is heading to a different team than the one it's tagged with, update the team and SME tags as needed.

Transferring a ticket to another SME group (within support)

If you're transferring a ticket to another SME group entirely, remove your SME tag and add theirs. Make sure the engineering team tag is up to date too — this keeps our reporting accurate.

If instead you want to give another SME group visibility without transferring ownership — for example, adding support_sme_accounts_billing so they can later enact a refund — just add their SME tag alongside your own.

Whenever you add an additional SME tag or transfer a ticket to a different SME group, attach a private note explaining why and what you're expecting to happen next.

Transferring a ticket to another team

To transfer a ticket to another team, assign the ticket to that team. As with SME transfers, whenever you change the assignee to a different team, attach a private note explaining why and what you're expecting. If you believe the ticket was mis-categorized, update the team tag as well so our reporting stays accurate.

Ticket activity history

If you're ever unsure how a ticket ended up in a particular state, or where a certain tag came from, check the ticket activity history. It shows every update that's happened on the ticket, including who actioned it — and that includes changes made automatically by a workflow.

Automations and workflows

A lot of the ticket flow runs automatically through PostHog workflows and realtime destinations — classification, tagging, SLA deadlines, notifications, CSAT, and more. You don't need to memorize all of this, but it's useful to know what's happening behind the scenes so you understand how a ticket got into a particular state (and where to look if something isn't behaving as expected).

Categorization

Assignment notifications

Ticket lifecycle

SLAs / target response times

CSAT

Sales / CS

Security tickets

Merch tickets

Alerts

Alerts about tickets needing attention are posted into #alerts-support:

Canonical URL: https://posthog.com/handbook/support/posthog-support

GitHub source: contents/handbook/support/posthog-support.md

Content hash: 085a3ffd491b872a

Static reader notes
  • MDX_COMPONENT_STATIC_ADAPTER: Adapted interactive MDX components for static reading: SmallTeam.