# Slack Admin Setup Guide — Cold Bore Ballistics, LLC

**Workspace:** coldboreballisticsllc.slack.com
**Classification:** Confidential

---

## Overview

This document covers workspace administration: accessing admin settings, managing channels and users, and wiring up GitHub notifications for new repositories. It is written for someone who has Slack workspace Owner or Admin privileges and may have no prior Slack administration experience.

---

## Accessing the Admin Console

1. Open Slack (desktop app or browser) and sign in to the `coldboreballisticsllc` workspace.
2. Click your workspace name in the top-left corner.
3. Select **Settings & administration** → **Workspace settings**.
4. This opens the Slack admin console in your browser. All administrative operations are performed here or from within individual channels.

---

## Installed Apps

### GitHub

The official **GitHub app for Slack** (`github.com/integrations/slack`) is installed and authenticated against the `ColdBoreBallistics` GitHub organization.

**What it does:** Posts pull request, review, commit, release, deployment, workflow run, and (for `dope-format`) issue events into the configured channels.

**Managing the integration:**
- To see which repos a channel is subscribed to, open the channel and type `/github subscribe list`.
- To add a subscription, see the procedure below.
- To remove a subscription: `/github unsubscribe ColdBoreBallistics/<repo-name>` or `/github unsubscribe ColdBoreBallistics/<repo-name> <event>` to remove a single event type.

---

## Adding a New Repository Channel

Follow these steps whenever a new repository is added to the `ColdBoreBallistics` GitHub organization.

### Step 1 — Determine the channel name

Apply the naming convention from `Slack_Workspace_Guide.md`:
- All lowercase, hyphens only
- Convert dots in repo names to hyphens
- Match the repository name as closely as possible

### Step 2 — Create the channel

1. In Slack, click the **+** icon next to **Channels** in the left sidebar.
2. Select **Create a channel**.
3. Enter the channel name (no spaces, no dots — use hyphens).
4. Leave visibility set to **Public** unless the repository contains information that warrants a private channel.
5. Click **Create**.

Alternatively, if you have access to Claude Code with the Slack MCP integration, the channel can be created programmatically.

### Step 3 — Subscribe to GitHub notifications

1. Open the newly created channel.
2. Type the following command exactly, substituting the repository name:

   **Standard repositories (no issue notifications):**
   ```
   /github subscribe ColdBoreBallistics/<repo-name> pulls reviews commits releases deployments workflows
   ```

   **`dope-format` only (public repo — include issues):**
   ```
   /github subscribe ColdBoreBallistics/dope-format pulls reviews commits releases deployments workflows issues
   ```

3. Press **Enter**. The GitHub app will confirm the subscription.
4. Also add the same subscription to `#github-activity` so the catch-all channel stays complete.

### Step 4 — Update documentation

After adding the channel, update the channel directory table in `Slack_Workspace_Guide.md` with the new channel name and repository.

---

## Managing Users

### Inviting a new team member

1. In the admin console, go to **Members** → **Invite people**.
2. Enter the person's `@coldboreballisticsllc.com` email address.
3. Select their role: **Member** for standard access, **Admin** for administrative privileges. Only grant **Owner** when strictly necessary.
4. Click **Send invitation**.

Once they accept, they will automatically join all public channels.

### Removing a team member

1. In the admin console, go to **Members**.
2. Find the member, click the three-dot menu next to their name, and select **Deactivate account**.
3. Deactivated accounts cannot sign in but their message history is preserved.

### Roles

| Role | Capabilities |
|---|---|
| **Owner** | Full control including billing, workspace deletion, and ownership transfer |
| **Admin** | Channel management, user management, app management |
| **Member** | Standard access — can create public channels, send messages |

---

## Deleting a Channel

Deleting a channel is permanent and removes all message history. Archive instead if history may be needed.

**To delete:**
1. Open the channel in Slack.
2. Click the channel name in the conversation header.
3. Click **Settings** → **Delete channel**.
4. Check *"Yes, permanently delete the channel"* and click **Delete Channel**.

**To archive** (preserves history, hides channel from sidebar):
1. Open the channel.
2. Click the channel name → **Settings** → **Archive channel**.

Only Workspace Owners and Admins can delete or archive channels.

---

## Workspace Setup History

| Date | Action |
|---|---|
| 2026-06-04 | Workspace created at `coldboreballisticsllc.slack.com` |
| 2026-06-04 | GitHub app installed and authenticated to `ColdBoreBallistics` org |
| 2026-06-04 | All initial repository channels created and subscribed |
| 2026-06-04 | `#github-activity` catch-all channel created and subscribed to all repos |

---

## Document Control

| Field | Value |
|---|---|
| **Document owner** | `jschwefel@coldboreballisticsllc.com` |
| **Classification** | Confidential (03_-_Confidential/) |
| **Location** | `OneDrive/CBB_Corporate/03_-_Confidential/Infrastructure/Slack/Obsolete/Slack_Admin_Setup_Guide.md` |
| **Cross-references** | `Slack_Architecture_Reference.md`; `Slack_Operating_Runbook.md` |
| **Created** | 2026-06-04 |
| **Last updated** | 2026-06-04 |
| **Next full review due** | 2027-06-04 |

---

## Revision Control Block

| Rev | Date | Changed By | Reviewed By | Approved By | Summary |
|-----|------|------------|-------------|-------------|---------|
| 0.9 | 2026-06-04 | jschwefel | — | — | Initial release |
