Inbox management
Contents
Product Tours is currently in private alpha. Share your thoughts and we'll reach out with early access.
Currently only available on the web. Requires posthog-js >= v1.324.0.
The Support inbox is where your team views and responds to customer conversations. Each ticket includes rich context from PostHog to help you understand and resolve issues quickly.
Accessing the inbox
Go to Support in the main PostHog navigation to access your inbox.
Ticket properties
Each ticket has the following properties:
| Property | Description |
|---|---|
| Ticket number | Auto-incremented unique number (e.g., #1, #2, #3) |
| Status | new, open, pending, on_hold, resolved |
| Priority | low, medium, high (optional) |
| Channel | Where the ticket came from: widget, slack, or email |
| Assignee | User or role responsible for the ticket |
| Session ID | The PostHog session for events and exceptions |
| Session Replay ID | The session recording (if replay is enabled) |
| Distinct ID | PostHog distinct_id for person linking |
Status workflow
| Status | Meaning |
|---|---|
new | Just created, not yet viewed by team |
open | Being actively worked on |
pending | Waiting for customer response |
on_hold | Paused for external reason |
resolved | Issue resolved, conversation closed |
Filtering and search
The ticket inbox supports filtering by:
- Status - Filter by ticket status
- Priority - Filter by priority level
- Channel - Filter by source: widget, Slack, or email
- SLA state - On track, at risk, or breached
- Tags - Filter by tags attached to tickets
- Assignee - Unassigned, specific user, or specific role
- Date range - Filter by creation date
- Search - Search by ticket number, customer name, or email
Ticket assignment
Tickets can be assigned to:
- Individual users - A specific team member
- Roles - A group of users. Assigns to the role, not individual members.
How to assign a support ticket
- Open a ticket
- Click the Assignee dropdown in the sidebar
- Search for and select a user or role
- Click Save changes
Assignment is manual with no automatic routing. Each ticket supports one assignee.
Filtering by assignee
In the ticket list, use the assignee filter:
- Unassigned - Show tickets with no assignment
- User: [name] - Show tickets assigned to a specific user
- Role: [name] - Show tickets assigned to a specific role
SLAs
SLA deadlines are set via workflow automation — there's no built-in SLA configuration UI. You create a workflow that triggers on ticket creation (or priority change) and uses the Update ticket action to set a deadline.
SLA states are derived from the deadline:
| State | Condition |
|---|---|
| On track | More than 1 hour until deadline |
| At risk | 1 hour or less until deadline |
| Breached | Past the deadline |
The ticket list supports filtering and sorting by SLA state. The SLA deadline is also displayed in the ticket detail sidebar.
See workflow automation for examples of setting SLAs based on channel, priority, or customer domain.
Tags
Tickets support free-form tags for categorization and filtering.
- Tags are shared across the project — any tag used on one ticket is available on all tickets
- Add or remove tags from the ticket detail sidebar
- Filter the ticket list by tags
Tags can also be set automatically via workflow automation.
Messages
Author types
| Author type | Description |
|---|---|
| Customer | Messages sent by the end user via the widget |
| Support | Messages sent by your team from PostHog |
| AI | Messages from AI (reserved for future use) |
Message status
Messages you send to customers display delivery status indicators:
| Status | Meaning |
|---|---|
| Sent | Message has been delivered to the customer |
| Read | Customer has viewed the message |
Status indicators appear on messages sent by your team. They help you understand whether customers have seen your responses.
Private notes
Messages can be marked as private notes, which are:
- Only visible to your team in PostHog
- Hidden from customers in the widget
- Useful for internal notes or handoff context
To send a private note, toggle the Private option before sending.
Unread tracking
The system tracks unread messages separately for:
- Customer - Messages the customer hasn't seen (from your team)
- Team - Messages your team hasn't seen (from the customer)
Unread counts reset when:
- Team views a ticket in PostHog
- Customer calls the "mark as read" endpoint from the widget
Ticket detail page
When you open a ticket, you'll see several panels with context:
Chat thread
The main conversation with the customer. Send replies here – they'll appear in the customer's widget.
Session recording panel
If the user has session replay enabled, you can watch their session directly in the ticket view. This shows what they were doing before and when they reached out.
Recent events panel
Events from ±5 minutes around when the ticket was created. This helps you understand:
- What actions led to the support request
- What the user was trying to accomplish
- Any errors or unusual patterns
Exceptions panel
Any errors or exceptions from the user's session. If they encountered a bug, you'll see the stack trace here.
Previous tickets panel
Other tickets from the same person. Useful for:
- Understanding their history with support
- Identifying recurring issues
- Seeing how previous issues were resolved
Activity log
A history of all changes made to the ticket — status changes, assignment updates, priority changes, and more. This helps you understand the full timeline of a ticket's lifecycle.
Tips for efficient support
- Use private notes for internal notes when handing off tickets
- Check session replay before asking the user to describe what happened
- Look at exceptions to quickly identify bugs
- Review previous tickets to avoid asking repeat questions
- Set status to pending after you respond to track who's waiting for a reply