LinktLinkt

Slack Integration

Configure Slack MCP to post drafted messages for team review

Slack integration enables your agent workflows to post drafted messages to team channels for review, approval, or CRM logging. This is particularly useful with the /linkt-outreach skill.

What You Can Do

With Slack integration configured:

  • Team review — Post drafted LinkedIn messages to a channel before sending
  • CRM logging — Create a record of outreach in Slack for tracking
  • Collaboration — Get feedback from teammates on message drafts
  • Audit trail — Maintain a history of prospect communications

Prerequisites

Before setting up Slack integration, ensure you have:

  1. Linkt API key configured — Complete the MCP Setup
  2. Claude Code with MCP supportInstall Claude Code
  3. Slack workspace admin access — Or permission to create apps

Create a Slack App

1. Create the app

  1. Go to api.slack.com/apps
  2. Click Create New App
  3. Choose From scratch
  4. Name it (e.g., "Linkt Agent") and select your workspace

2. Configure OAuth scopes

Navigate to OAuth & Permissions and add these Bot Token Scopes:

ScopePurpose
chat:writePost messages to channels
channels:readList available channels
groups:readList private channels (optional)

3. Install to workspace

  1. Click Install to Workspace at the top of the OAuth page
  2. Authorize the app
  3. Copy the Bot User OAuth Token (starts with xoxb-)

4. Get your Team ID

The Team ID identifies your Slack workspace. To find it:

  1. Open Slack in a web browser
  2. Look at the URL: https://app.slack.com/client/T0XXXXXXX/...
  3. The Team ID is the code starting with T (e.g., T0XXXXXXX)

MCP Configuration

Add the Slack MCP server to your .mcp.json file:

{
  "mcpServers": {
    "linkt": {
      "type": "http",
      "url": "https://api.linkt.ai/mcp",
      "headers": {
        "x-api-key": "${LINKT_API_KEY}"
      }
    },
    "slack": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-slack"],
      "env": {
        "SLACK_BOT_TOKEN": "${SLACK_BOT_TOKEN}",
        "SLACK_TEAM_ID": "${SLACK_TEAM_ID}"
      }
    }
  }
}

Set the environment variables

Add your Slack credentials to your .env file:

LINKT_API_KEY=your_linkt_api_key
SLACK_BOT_TOKEN=xoxb-your-bot-token
SLACK_TEAM_ID=T0XXXXXXX

If using direnv, run direnv allow to reload the environment.

Invite the Bot to a Channel

Before the bot can post messages, invite it to your target channel:

  1. Open the channel in Slack
  2. Type /invite @Linkt Agent (or your app name)
  3. The bot can now post to this channel

Usage with /linkt-outreach

After drafting a message with the outreach skill, ask Claude to post it to Slack:

/linkt-outreach

[Draft your message]

"Post this to #sales-outreach for team review"

Claude will post the drafted message along with prospect context to the specified channel.

Example Slack Post

When posting a draft, the message includes:

  • Prospect name and title
  • Company name
  • Signal or context used
  • Drafted message
  • Any notes from the conversation

This gives your team full context for review and approval.

Troubleshooting

"channel_not_found" error

The bot isn't a member of the channel. Invite it with /invite @YourAppName.

"not_authed" error

Your SLACK_BOT_TOKEN or SLACK_TEAM_ID is missing or invalid. Verify:

  1. Both SLACK_BOT_TOKEN and SLACK_TEAM_ID are set in your .env file
  2. The token starts with xoxb-
  3. The team ID starts with T
  4. You've run direnv allow if using direnv

"missing_scope" error

Your app doesn't have the required permissions. Go to OAuth & Permissions in your Slack app settings and add the missing scope, then reinstall the app.

Bot doesn't respond

Ensure Claude Code has loaded the Slack MCP server. Restart Claude Code after updating .mcp.json:

# Exit and restart Claude Code
claude

Security Considerations

  • Token storage — Never commit SLACK_BOT_TOKEN or SLACK_TEAM_ID to version control
  • Channel access — The bot can only post to channels it's invited to
  • Review before sending — Slack posts are drafts, not automated sends

Next Steps