Community channels
Contents
We run more than one community channel, and they are not interchangeable. Each one has a job. When a channel tries to do every job, it does none of them well.
Two channels, two jobs
Discord and the forum are our two homes. They work differently on purpose.
Discord is for real-time chat. Conversational and hands-on. It's where people show what they're building, react to each other, and where superfans hang out. The value is in the conversation happening at all – not in it being findable six months later.
The forum is for lasting answers. Asynchronous and searchable. A question, discussion, or article posted there keeps paying out to everyone who finds it afterwards. It should be owned by builders, not staffed by PostHog.
The behavior we see in each channel is channel-shaped, not user-shaped. The same person banters in Discord and writes a careful question in the forum, because that's what each space invites.
Channels we maintain but don't grow (for now)
GitHub. The public workbench – claimed and routed, not staffed. Issues get triaged to an owning team. We don't try to turn it into a discussion venue, and we're not driving community members to contribute PRs or issues right now.
Reddit. A reputation surface, not a home. We show up and reply when needed, but we don't try to move our community there.
Pull support out
Neither Discord nor the forum is a support channel, and the single most valuable thing we can do for both is stop letting support define them.
Being blocked is a support problem. It deserves a support response, and it should be routed as one rather than absorbed into whichever channel it landed in:
This isn't about being unhelpful. It's that a space defined by blocked users never becomes a space where unblocked ones want to hang out. It's also the slowest way to get help because it's not set up for that.
Change the container, not the behavior
We don't get the community we want by asking people to behave differently. We get it by changing what the space invites. Pull, don't push.
If a page invites people to write in, they'll write in. If it invites them to search first, most of them will.
If the only thing a channel is good at is troubleshooting, troubleshooting is what it fills up with.
Prompts beat rules. A weekly "what are you working on?" thread does more than a posting guideline ever will.
Bans and grievances
Send anything community-side – a Discord ban, a moderation decision, or a complaint about how we ran a space – to community@posthog.com. It's a Gmail alias that goes to the Builder Relations and Developer Marketing teams. Anyone else who wants in can add themselves.
Don't route these to support. Support handles product and account problems, and mail to support@posthog.com gets an automated reply that tells the sender to open an in-app ticket, which a banned Discord user may not be able to do.
The standard we're enforcing is the code of conduct. Say which part of it was broken when you act on something – it makes the decision reviewable, and it's much easier to defend an appeal when the reason was written down at the time.
When you ban someone, always tell them why and how to appeal. Posting the reason in the channel before you swing the hammer is not enough – they can miss it, and then they file a support ticket or sign up again. Both of our ban flows have a place to say it:
- Discord: use the reason field in the ban dialog. Choose "Other" to write a freeform reason, and include
community@posthog.comfor appeals. The person sees it if they try to rejoin. - A PostHog organization: the suspension reason and an appeal address show on login.
When to ban, and when to warn
Ban on sight when a person acts in bad faith:
- Hateful content of any kind. Remove it and ban. Do not warn, and do not argue with it in the channel. This is not the same as a person who is rude or angry – a rude person gets the ladder below, hateful content does not.
- Abuse aimed at a person, in the channel or by direct message.
- Spam and unsolicited promotion.
- A person who says they abused a PostHog endpoint, account, or credit allowance. Tell
Support Team
Support Team too, because the account side may need action.
For everything else, use the four steps in the code of conduct: correction, warning, temporary ban, permanent ban. A first mistake that looks careless starts at correction. A first mistake that looks hostile does not.
You do not have to absorb it
No one is expected to read abuse, argue with it, or make the call alone. Remove the content first, then send it to community@posthog.com and move on. Support has the same rule for tickets – see dealing with difficult or abusive users.
When assigned, follow the guide on covering the community.
For PostHog team members
Joining Discord
- Join at discord.gg/posthog with your usual Discord account.
- Post in #team-builder-relations so we can give you the teammate role.
- Once you have the role, you'll show up as a PostHog teammate in the server.
Subscribing to the events calendar
The PostHog Events calendar has our IRL and online events, so you can see what's coming up and join in.
- Sign in to your
@posthog.comGoogle account. - Open the PostHog Events calendar.
- Click Add when Google Calendar asks if you want to add it.
For public events, see the events page. For how we plan and run events, see marketing events.
How to show up
In Discord, be a person, not a support desk. React to things so people know they've been seen. Share what you're working on, and ask what other people are working on.
In the forum, follow the guidelines for answering community questions. Use the moderation tools to escalate to support, delete posts, or flag feedback to the right team.
Route, don't absorb. If something belongs in support or on the roadmap, send it there rather than answering it in-channel.
What we're working on
Community channels are owned by
Brittany Joiner
Brittany Joiner on the Builder Relations Team
Builder Relations Team. See the team's goals for what's in flight, including how we're repositioning the forum and building out triage.





