Slack Integration

Approve follow-ups without leaving Slack

Notifications, interactive approvals, and slash-command access to your pipeline. Set up once, install across your workspace.

Capabilities

What the Slack app does

Real-time notifications

Get a DM (or post to a configured channel) every time a new AI follow-up draft is ready, when delivery fails, or when a deal score crosses a threshold.

Approve from Slack

Interactive message buttons let you approve, edit, or reject drafted follow-ups without leaving Slack. Approval is logged with full audit context.

Slash commands

/fastfollow help, /fastfollow pipeline, /fastfollow status <deal> — query your pipeline and follow-up state from any channel.

Setup walkthrough

~15 minutes

1

Create a Slack app

At api.slack.com/apps → Create New App → From scratch. Pick a name (e.g. "FastFollow") and your workspace.

  • For multi-workspace distribution, enable "Distribute App"
  • For single-workspace install, keep it private
2

Configure OAuth & permissions

Under OAuth & Permissions, add the bot scopes listed below and set the redirect URL.

  • Redirect URL: https://app.fastfollow.ai/api/integrations/slack/callback
  • Add all 7 bot scopes (see "Bot scopes" section below)
3

Enable interactivity and slash commands

Under Interactivity & Shortcuts, set the request URL to the FastFollow event endpoint. Then add the slash command.

  • Request URL: https://app.fastfollow.ai/api/webhooks/slack
  • Slash command: /fastfollow → same request URL → short description
  • Enable Events Subscriptions with the same URL; subscribe to message.channels and app_mention
4

Install to your workspace

Under Install App, click Install. From FastFollow → Integrations → Slack, complete the OAuth handshake.

  • Copy the Signing Secret from Basic Information → App Credentials
  • Paste it into FastFollow Integrations → Slack → Signing Secret
  • FastFollow uses the signing secret to verify every inbound interaction

Bot scopes

Add all 7 in OAuth & Permissions

ScopeWhy FastFollow needs it
chat:writePost messages and approval cards
chat:write.publicPost in channels the bot has not been invited to
commandsRegister the /fastfollow slash command
im:writeOpen DMs to send approval requests
users:readResolve Slack user IDs to FastFollow users
users:read.emailMatch Slack accounts to FastFollow accounts by email
channels:readList channels for the channel-picker setting

Troubleshooting

The most common Slack errors

invalid_payload (X-Slack-Signature)

Inbound interactions return 401.

Fix: The signing secret in FastFollow does not match the value in Slack → Basic Information → App Credentials. Slack rotates this when you regenerate; update both places in sync.

channel_not_found

Notifications fail to post to a configured channel.

Fix: The bot was not invited to the channel. Use chat:write.public for public channels or run /invite @FastFollow in the target channel.

missing_scope

A specific action (slash command, DM) fails with missing_scope.

Fix: A bot scope was added after install. You must reinstall the app from Slack admin or trigger a new OAuth flow from FastFollow → Integrations → Slack.

ratelimited (429)

Bulk notifications throttle during peak times.

Fix: Slack enforces Tier 3 rate limits (~50 messages/minute per channel). FastFollow batches and respects Retry-After, but very chatty workflows may need quieter channels.