# Connect Caffeine Canisters to Slack

Caffeine canisters need secure Slack messaging without custom HTTP and authentication code. This skill provides an experimental client setup, token guidance, and Motoko examples.

## Install

```bash
npx skillstore add caffeinelabs/connector-slack
```

## Metadata

- Status: approved
- Slug: caffeinelabs-connector-slack
- Version: 0.0.3
- Author version: 0.0.3
- Skillstore revision: r1
- Version status: valid
- Tree hash: 4ba6c8c540d4ce3ef92db1230e81b25be2f401d1a1bcbc1bdbab153ba8add8c4
- Author: caffeinelabs
- GitHub username: caffeinelabs
- License: MIT
- Repository: https://github.com/caffeinelabs/skills/tree/4e4462a8296d6300944d55b17feb67bc34ea9508/skills/connector-slack
- Ref: 7fd79e91da5a0cc369dfba10b3e8ca2534c9aff8
- Supported tools: Claude, Codex, Claude Code
- Audit status: complete
- Agent install advisory: confirmation\_required
- Manual install advisory: allowed
- Artifact signature: available
- Audit attestation: unavailable
- Human verification: not\_verified
- Risk factors: external\_commands, network
- Quality score: 38
- Quality tier: warning
- Public page: https://skillstore.pages.dev/skills/caffeinelabs-connector-slack
- Manifest: https://skillstore.pages.dev/api/skills/caffeinelabs-connector-slack/manifest

## Capabilities

- Chooses between bot and user tokens based on message identity requirements.
- Adds slack-client and Caffeine authorization dependencies.
- Stores the workspace token behind an administrator permission check.
- Configures non-replicated Slack HTTPS outcalls with bearer authentication.
- Posts channel messages and returns the Slack message timestamp.
- Explains Slack scopes, channel invitations, and current decoding limitations.

## Use Cases

- Add Application Alerts: Send operational notifications from a Caffeine application to a designated Slack channel.
- Secure Workspace Setup: Configure a workspace token, minimal scopes, channel membership, and administrator-only secret updates.
- Prototype Slack Workflows: Test bot or user message identity before committing to a production integration.

## Prompt Templates

### Post a Basic Notification

```
Add Slack notifications to my Caffeine canister. Use a bot token and post [message] to [channel]. Explain the required setup.
```

### Choose the Token Model

```
Compare bot and user tokens for [workflow]. Recommend one, list required Slack scopes, and explain identity and channel access consequences.
```

### Secure Slack Configuration

```
Implement administrator-only Slack token configuration and authenticated posting. Restrict senders to [role], allow [channels], and avoid exposing the token.
```

### Design a Resilient Integration

```
Design a production hardening plan for this experimental connector. Cover authorization, rate limits, retries, response decoding, observability, secret rotation, and tests.
```

## Limitations

- Uses pre-release slack-client version 0.0.3 and is not production-ready.
- Success and error response decoding lacks complete runtime verification.
- Supports one administrator-supplied workspace token, not per-user OAuth.
- Covers selected messaging APIs from an archived Slack specification.

## Best Practices

- Prefer bot tokens unless a workflow explicitly requires a person's Slack identity.
- Grant only required Slack scopes and limit posting to approved channels.
- Protect token updates and message posting with separate role permissions.

## Anti Patterns

- Do not expose Slack tokens to the frontend, logs, URLs, or generated output.
- Do not permit every authenticated caller to post with a shared workspace credential.
- Do not present the pre-release connector as production-ready without runtime tests.

## Security Audit

- Audited at: 2026-08-19T08:30:43.114\+00:00
- Summary: All 65 external-command alerts are false positives caused by Markdown backticks and code fences; no Ruby or shell backtick execution exists. The three hardcoded URLs point to official Slack properties and match the connector's declared purpose. The example exposes posting to every authenticated caller, enabling unauthorized Slack messages under the configured workspace credential.

## Stats

- Views: 0
- Downloads: 1
- Favorites: 0
- Popularity score: 0
