Slack Message Formatting
Context-first messages, formatting conventions, @mentions, No Hello, and channel organisation
Slack message essentials
- Context-first: context + specific problem + clear ask + urgency — never "hey can you check the thing"
- Formatting: *bold* for key terms, bullets for parallel items, @mention for action owners
- @here vs @channel: @here = active only; @channel = everyone including offline — use sparingly
- No Hello: lead with the full question — don't make someone say "yes I'm here" before explaining what you need
- Channel strategy: purpose-specific channels + per-channel notification settings reduce overload
Question 0 of 5
A colleague sends a Slack message: "hey can u check the thing we talked about yesterday bc its broken and idk what to do". What is the most significant problem with this message?
No context, no specific problem, no clear ask — forces unnecessary back-and-forth. Effective Slack message formula:
- Context: "Re: the auth service deployment we discussed in #deployments yesterday"
- Specific problem: "the /api/login endpoint is returning 500 for all OAuth users since 14:30 UTC"
- What you need: "Can you check the auth-service logs? I need to know if this started before or after the config change"
- Urgency: "blocking 200 users — needs attention within the hour"
Which Slack message correctly uses formatting to improve readability for a status update?
Bold for key terms, bullets for parallel items, @mention for action items. Slack formatting principles:
- *bold* — highlight key status terms ("complete", "blocking issue")
- Bullets — parallel items at the same level (service statuses)
- @mention — direct action items to specific people; don't bury asks in prose
- Emoji sparingly — ✅ ❌ ⚠️ add visual scannability for status updates
- All-caps — reads as shouting, not emphasis
- Wall of prose — hard to scan for the key point
- Vague trailing "will update later" — give a specific time or trigger
When is it appropriate to use @here vs. @channel in a Slack message?
@here = active members only; @channel = everyone including offline — use sparingly. @mention scope:
- @person: notify one specific person — use for action items and questions directed at someone
- @here: notify everyone currently active in the channel — for time-sensitive updates where immediate attention is needed but won't disrupt people who are offline
- @channel: notify ALL members including those offline (they get push notifications, emails) — for production outages, critical decisions, or announcements that genuinely affect everyone
- Using @channel for non-urgent updates trains people to ignore @channel pings — the "boy who cried wolf" problem
- In a 200-person #general channel, @channel is almost never appropriate
- Create specific channels for alert types: #incidents for @channel-worthy events, #deployments for deploy status
What is the "No Hello" principle in async workplace communication?
No Hello: lead with the full question — don't wait for a "yes I'm here" before explaining what you need. The anti-pattern:
- ❌ 9:00 "Hey"
- 9:15 "you there?"
- 9:16 "yeah what's up"
- 9:17 "can you help with the auth bug?"
- 9:17 "sure, what's wrong?"
- 9:18 "the /login endpoint is 500ing"
- ✅ "Hi @sarah — the /api/login endpoint has been returning 500 for OAuth users since 14:30 UTC. Here's the error log: [paste]. Could you check if the session service config change caused this? No rush if you're in the middle of something — happy to dig further myself."
A team receives 40+ Slack messages per day across 15 channels. Which channel organisation strategy best reduces notification overload?
Purpose-specific channels with clear norms + per-channel notification settings. Effective channel structure:
- #prod-incidents: only production issues — @channel is appropriate here; everyone subscribes with loud notifications
- #deployments: deploy status updates — subscribe if deploys affect your work; mute otherwise
- #api-team-dev: team's day-to-day technical discussion — default notifications for team members
- #random: off-topic — mutable without missing work information
- High-priority channels: all messages
- Informational channels: only @mentions
- Archive channels: muted completely
- prefix by purpose: #prod-, #team-, #proj-, #dept-
- lower-kebab-case: #api-team-dev not #API Team Dev
- Pin a one-line purpose to each channel so members know what belongs