Skip to content

Slack Workspace Configuration

Alternative: See discord_setup.md for Discord configuration

Workspace Setup

Workspace Details

  • Name: AudioLab Team
  • URL: audiolab-team.slack.com (example)
  • Retention: 90 days for free tier, unlimited for paid

Channel Structure

Core Channels

#general              - Announcements, company-wide updates
#random               - Water cooler, off-topic, culture
#dev                  - General development discussion
#dev-help             - Ask questions, get help
#urgent               - Production issues, critical blockers (muted by default)
#standup              - Async daily updates
#releases             - Release announcements, changelogs
#observability        - Monitoring alerts, system health

Project Channels

#proj-dsp-engine      - DSP core development
#proj-plugin-sdk      - Plugin SDK work
#proj-ui-framework    - UI/UX development
#proj-[name]          - Per-project channels as needed

Domain Channels

#audio-dev            - Audio engineering specific
#platform-windows     - Windows platform issues
#platform-macos       - macOS platform issues
#platform-linux       - Linux platform issues
#performance          - Performance optimization
#testing              - QA, testing strategies

Meta Channels

#meta-processes       - Process improvements
#meta-tools           - Tooling discussion
#meta-infrastructure  - Infrastructure changes

Social Channels

#music                - Music sharing, discussions
#audio-gear           - Gear talk, reviews
#learning             - Resources, tutorials
#wins                 - Celebrate achievements

Channel Naming Conventions

  • Prefix: Use prefixes for organization
  • proj- for projects
  • meta- for meta discussion
  • platform- for OS-specific
  • No prefix for core channels

  • Lowercase: All channel names lowercase

  • Hyphens: Use hyphens, not underscores
  • Descriptive: Clear purpose from name

Channel Settings

#general

  • Purpose: Company-wide announcements only
  • Posting: Admin only or approved
  • Notifications: Default on
  • Retention: Unlimited
  • Pinned: Onboarding doc, communication matrix

#urgent

  • Purpose: Production incidents only
  • Posting: Anyone (but use responsibly)
  • Notifications: Muted by default (opt-in)
  • SLA: < 15 min response during work hours
  • Pinned: Incident response runbook

#standup

  • Purpose: Daily async updates
  • Format: Thread per person, top-level post = date
  • Schedule: Post by 10am local time
  • Bot: Geekbot or Standup Alice for automation
  • Template:
    ✅ Yesterday:
    🚧 Today:
    🚫 Blockers:
    

#dev-help

  • Purpose: Technical questions, debugging
  • Emoji reactions:
  • 👀 = "I'm looking into this"
  • ✅ = "Resolved"
  • 🤔 = "Need more info"
  • Thread: Always reply in thread
  • Resolution: Mark resolved with ✅, post solution

Project Channels (proj-*)

  • Purpose: Project-specific discussion
  • Archive: When project completes
  • Integrate: GitHub notifications, Linear updates
  • Pinned: Project roadmap, key docs

User Groups (Mentions)

@team-all            - Everyone (use sparingly)
@team-dev            - All developers
@team-audio          - Audio engineers
@team-platform       - Platform engineers
@team-oncall         - Current on-call rotation
@team-leads          - Team leads only

Usage: @team-dev in #dev for team-wide questions

Integrations & Bots

Essential Integrations

  1. GitHub
  2. Channels: Project channels, #releases
  3. Events: PR opened, merged, issues
  4. Filter: Only relevant repos per channel
  5. Config: /github subscribe owner/repo pulls issues releases

  6. Linear (or GitHub Projects)

  7. Channels: Project channels
  8. Events: Issue created, assigned, completed
  9. Filter: By project or team

  10. CI/CD (GitHub Actions)

  11. Channels: #observability, project channels
  12. Events: Build failed, deployment complete
  13. Filter: Failures always, success optional

  14. Monitoring (Prometheus, Grafana, etc.)

  15. Channel: #observability
  16. Events: Alerts firing, resolved
  17. Filter: Warning and above

  18. Calendar (Google Calendar)

  19. Channel: #general
  20. Events: Team meetings, events
  21. Reminder: 15 min before meeting

Useful Bots

  1. Geekbot - Async standups
  2. Schedule: Daily at 9am
  3. Questions: Yesterday, Today, Blockers
  4. Report: Summary at 5pm

  5. Donut - Team bonding

  6. Frequency: Biweekly
  7. Purpose: Random coffee chats
  8. Opt-in: Voluntary participation

  9. Polly - Quick polls

  10. Use: Quick decisions, voting
  11. Example: "Which time works for retrospective?"

  12. Giphy - GIF search

  13. Rating: PG only
  14. Use: Celebration, humor (in moderation)

  15. Statsbot - Analytics

  16. Data: Pull metrics from databases
  17. Commands: /statsbot show active users

Workflow Automation (Slack Workflows)

New Hire Welcome

Trigger: User joins workspace Actions: 1. Send welcome DM with links 2. Add to #general, #dev, #standup 3. Post introduction template 4. Assign buddy 5. Create onboarding ticket

Incident Response

Trigger: Message in #urgent Actions: 1. Create incident thread 2. Notify @team-oncall 3. Start incident doc (template) 4. Set reminder for postmortem

Weekly Digest

Trigger: Friday 4pm Actions: 1. Collect highlights from #wins 2. List merged PRs 3. Upcoming week calendar 4. Post to #general

For Focus

Desktop notifications: Mentions and DMs only
Mobile notifications: DMs only (or off)
Notification schedule: 9am - 6pm local
Mute channels: #random, #music (check manually)
Keywords: Your name, project name, critical terms

Do Not Disturb

  • Default: 6pm - 9am local time
  • Weekends: Enabled (unless on-call)
  • Override: Only urgent channel during DND

Message Formatting

Effective Messages

Use threads: - Keep conversations organized - Reduce noise in channel - Easy to follow discussions

Use code blocks:

Error: Segmentation fault
File: buffer.cpp:142

Use mentions strategically: - @user for specific person - @team-dev for group (when necessary) - Avoid @channel or @here (almost never needed)

Use formatting: - *bold* for emphasis - _italic_ for notes - ~strikethrough~ for corrections - > quote for context

Use emoji reactions: - Acknowledge without noise - Show agreement/support - Mark status (✅, 🚧, 🐛)

Search & Discovery

Search operators:

from:@user              - Messages from user
in:#channel             - In specific channel
has::emoji:             - Has emoji reaction
after:2024-01-01        - Date range
before:2024-12-31       - Date range

Pin important messages: - Onboarding docs - Runbooks - Frequently referenced links - Current sprint goals

Save for later: - Personal bookmark feature - Review weekly - Action or archive

Etiquette & Best Practices

Do's

✅ Use threads for discussions ✅ React to acknowledge messages ✅ Share context in questions ✅ Cross-post links (not content) ✅ Update thread when resolved ✅ Respect time zones ✅ Use status to show availability

Don'ts

❌ Ask "Can I ask a question?" (just ask) ❌ DM without asking first (use channel) ❌ Post huge blocks of code (use pastebin) ❌ Tag @channel for non-urgent items ❌ Edit messages without noting changes ❌ Screenshot text (copy-paste instead) ❌ Expect immediate responses

Status & Availability

Status Templates

🏠 Working from home
🎧 Deep work - slow to respond
☕ Coffee break - back in 15
🍽️ Lunch - back at 1pm
🏃 Running errands
🌴 On vacation - back [date]
🔴 Do not disturb

Custom Status

  • Set when leaving desk > 30 min
  • Include return time if known
  • Clear when back

Data Retention & Compliance

Retention Policy

  • Free tier: 90 days visible
  • Paid tier: Unlimited (or custom)
  • Export: Monthly backup recommended
  • Important: Save to wiki/docs before expiry

Sensitive Information

❌ Never share in Slack: - Passwords or API keys - Customer personal data - Unreleased financial info - Private security issues

Use: 1Password, encrypted docs, secure channels

Migration & Onboarding

From Email

  • Reduce internal email to zero
  • Use Slack for real-time
  • Use email for external/formal

From Other Chat

  • Export history if possible
  • Recreate important channels
  • Update integrations

New User Onboarding

  1. Send invite with welcome message
  2. Set up profile (photo, title, timezone)
  3. Join core channels
  4. Read communication matrix
  5. Introduce in #general
  6. Complete first standup update

Cost Optimization

Free Tier (< 10 people)

  • Core features available
  • 90-day message history
  • 10 integrations
  • 1:1 video calls
  • Unlimited history
  • Unlimited integrations
  • Group video calls
  • Advanced search
  • Cost: ~$8/user/month

Recommendation: Start free, upgrade when hitting limits

Troubleshooting

Common Issues

Problem: Too many notifications Solution: Mute low-priority channels, mentions only

Problem: Messages getting lost Solution: Use threads, pin important items

Problem: Important info in chat Solution: Move to documentation, link from Slack

Problem: Inactive channels cluttering Solution: Archive channels with no activity in 30 days

Problem: Timezone confusion Solution: Always use absolute times or dates

Templates

Channel Description Template

Purpose: [What this channel is for]
Topics: [Specific topics discussed]
Posting: [Who can post, guidelines]
Notifications: [Recommended notification setting]
Related: [Links to docs, other channels]

Thread Subject Template

For organized discussions:

📋 [Topic]: Brief description
Context: [Why this discussion]
Goal: [What we're deciding/solving]
Deadline: [If applicable]

Webhooks Configuration

See webhooks_config.json for technical setup

Resources


Next Steps: 1. Create workspace with above channels 2. Configure integrations for GitHub, CI/CD 3. Set up bots (Geekbot for standups) 4. Import team and set user groups 5. Pin communication matrix in #general 6. Schedule training session for team