# Framehood in Slack (Claude Tag)

**Claude Tag** is Claude working inside your Slack workspace (Teams and Enterprise
plans). Add Framehood as an organization connection and anyone in a channel can
generate images, video, and audio by mentioning `@Claude` — no per‑person setup.

Unlike [Claude Code](/guide/plugin) or [Claude.ai](/guide/claude-ai), where each
user signs in through the browser, Slack uses **one organization credential**: an
admin adds the Framehood plugin once and stores a single Framehood API key in an
Access bundle. Claude's proxy attaches that key to every call to
`mcp.framehood.ai` — the key never appears in a message or in the plugin.

## Before you start

- A Claude **Teams or Enterprise** organization with Claude Tag enabled in Slack,
  and admin access to `claude.ai/admin-settings`.
- A [Framehood account](https://framehood.ai). Use the account that holds your
  organization's **credits** (typically the org owner who manages billing) —
  every Slack generation draws on that account's balance.

## 1. Create a Framehood API key

In the [Framehood console](https://framehood.ai/app): **Settings → API keys →
Manage keys → Create key**. Give it a name like `Slack / Claude Tag` and **copy
the secret — it is shown only once.**

Create it from your **org owner's account** so all Slack usage bills to the
organization's credits. (Keys are personal to the account that mints them; the
owner's key acts as the shared integration credential.)

## 2. Add the Framehood plugin to your organization

In `claude.ai/admin-settings` → **Plugins → Add plugins**, add the Framehood
marketplace and set its default access to *Available to install*:

```
Framehood/framehood-plugin
```

The plugin bundles the remote MCP endpoint (`https://mcp.framehood.ai/mcp`) plus
the media‑generation skills. It carries **no secret** — only the URL.

## 3. Store the key in an Access bundle

In `claude.ai/admin-settings` → **Claude Tag → Access bundles**, open (or create)
a bundle, then:

1. **Enable the Framehood plugin** in the bundle.
2. On the **Credentials** tab, **Connect another tool** (custom):
   - **Credential type:** `Bearer`
   - **Custom header** → Name `Authorization`, Prefix `Bearer `, Value = the API
     key from step 1
   - **Allowed websites:** `mcp.framehood.ai`
3. Scope the bundle to your whole workspace or to specific channels.

At runtime the agent proxy injects the `Authorization: Bearer …` header on the
call to `mcp.framehood.ai` — permitted because that host is on the bundle's
allowed‑websites list.

## 4. Use it

In a channel the bundle covers, mention Claude and ask for media:

> `@Claude` generate a wide hero image of a neon city at dusk, save it as hero.jpg

Claude calls Framehood over MCP, the proxy attaches your key, and the result
comes back in the thread. The full toolset (image, video, audio, QA, assembly)
is available — see the [tools reference](/reference/tools).

## Good to know

- **The key stays in the Access bundle** — never in the plugin repo and never in
  a Slack message. The proxy holds it and sends it only to `mcp.framehood.ai`.
- **Billing:** every generation draws on the credits of the account whose key you
  configured. One shared key means one shared balance and library for the channel
   — scope bundles per channel if you need isolation.
- **Managing keys from Slack isn't possible:** an API‑key session cannot mint or
  revoke API keys (that requires a browser/OAuth login). Do it in the
  [console](https://framehood.ai/app) or an OAuth‑connected client like
  [Claude Code](/guide/plugin).
- **Rotating the key:** create a new key in the console, update the bundle's
  Bearer value, then delete the old key.
- For the exact, current Claude Tag admin screens, see Anthropic's
  [Claude Tag documentation](https://claude.com/docs/claude-tag).
