Coach-led communities
Slack-style multi-channel forums layered on group chat - pinned announcements, threaded discussion, reactions, moderation, and PR auto-share, all wired into the automation engine.
- Multi-channel structure with per-channel posting permissions (everyone / approved / admins)
- Flat one-level comment threads + eight-emoji reactions on posts and comments
- @mention inbox with regex extraction + only-active-member materialisation
- Moderation queue auto-hides posts after N reports (1-10, coach-configurable)
- Three new automation triggers + a `post_to_community` action with 24h dedupe
- Recursion guard refuses to fire the same rule whose action created the post
- Story Engine PR auto-share: opt-in card lands in the feed the moment an athlete hits a PR
- Tier-gated: Basic 0, Pro 1, Colossal unlimited, Studio team-shared
Why the forum, not just chat
Group chat is a real-time chronological river. It does not support pinned announcements, asynchronous catch-up, or post-level reactions and reporting. Coaches who run communities elsewhere (Discord, WhatsApp, Skool) report that the *forum* surface is the one that retains members, not the chat surface. Industry data from Trainerize, Truecoach, and Everfit support the same shape: coaches with an active community feed see 2 to 3x lower 90-day churn than coaches who run identical programs without one.
Community-as-automation-target
The standout angle that no competitor ships is wiring the community into the rules engine. A coach builds "client onboarded, wait 1 day, auto-post a welcome introducing them to the community" or "challenge completed, post a celebration card to #wins". The `post_to_community` action accepts a Jinja-templated body with `{ client.first_name }` substitution + a channel picker + per-rule-per-client 24h dedupe. A recursion guard refuses to fire the same rule whose action created the post, so loops are physically impossible.
Story Engine PR auto-share
Athletes opt into auto-sharing their PRs to their coach's feed. The moment they break a record, the post lands. A one-time consent prompt on the first PR after the coach enables a feed; an opt-out kill switch + a "Remove past shares" link that hard-deletes any PR-sourced posts from the last 30 days. Trainerize shows a static "you hit a PR" notification to the athlete; none of the competitors auto-broadcast it to the coach's community feed.
Tier-gating that mirrors community-scale reality
Basic gets zero communities (the feature feels empty at 1-5 clients and gives a clear Pro upgrade hook). Pro gets one (most solo coaches don't need more than one feed). Colossal gets unlimited (multi- community for cohorts, VIP, or masterminds). Studio gets unlimited team-shared, owned by the team, members posting under their own identities so the brand stays unified.