Channels
Contents
A channel is a way a customer conversation reaches Support. Whatever channel a message arrives on, it becomes a ticket in the same inbox, so your team works from one place.
Channels are your support context. In Self-driving terms, the conversations they bring in are a signal source: recurring issues across your tickets become reports and actionable reports become pull requests.
The channels
| Channel | How tickets arrive | Guide |
|---|---|---|
| Widget | An in-app chat button. Auto-attaches the session, replay, URL, and identity | Set up the widget |
Forward support@ mail in. Replies thread back to the customer's inbox | Connect email | |
| Slack | SupportHog turns messages, mentions, or a :ticket: reaction into tickets | Connect Slack |
| Microsoft Teams | Beta. SupportHog turns channel messages or an @SupportHog mention into tickets. There is no emoji trigger | Connect Teams |
| GitHub | Issues in monitored repos become tickets. Replies post back as comments | Connect GitHub |
| API | Your code creates the ticket. See below for which channel_source you get | JavaScript API |
Every connected channel syncs both ways. A reply you send in PostHog reaches the customer on the channel they used, and their responses sync back to the ticket.
Create tickets from your code
There is no separate api value on channel_source. The two public ways to create a ticket map onto channels you already have:
- JavaScript API (
posthog.conversations.sendMessage) creates a widget ticket. The inbox showswidget. Use this for a custom chat UI. See the JavaScript API. - Compose API (
POST /api/projects/:project_id/conversations/tickets/compose/) starts an email ticket and sends the first message to the customer. You need a verified sending domain and a personal API key with theticket:writescope. See start a ticket with the API.
POST /api/projects/:project_id/conversations/tickets/ does not create a ticket. It returns 405. Use one of the two calls above.
Slack and GitHub each play two roles
Two of these channels share a name with something else in PostHog.
- Slack is a channel when SupportHog turns messages into tickets. It is also the surface where your team replies in the thread, because a teammate's Slack reply is stored as a team message on the ticket. Mention
@PostHogonly when you want an agent to query ticket data or review Self-driving work. That is a different app. See Use Support in Slack. - GitHub is a channel when issues become support tickets. GitHub Issues is also a Self-driving signal source, where issues feed the loop directly. Same integration, two jobs.





