Skip to Content
IntegrationsSlackGetting started

Slack Integration — Onboarding

Prerequisites

  • A Slack workspace, and permission to create a new Slack app in it (api.slack.com/apps) — or someone who can create one on your behalf.
  • Permission to install (authorize) an app into that workspace, if that requires approval from a Workspace Owner or App Manager.
  • FlowState tenant with owner or admin role.

Connect Slack

FlowState uses a bring-your-own-app model: there is no FlowState-hosted Slack app to install with one click. You create your own Slack app, hand FlowState its Client ID and Client Secret, then complete an OAuth authorization using those credentials. The FlowState UI (Settings → Integrations → Slack) walks you through this as a 3-step wizard.

Step 1 — Create your Slack app

The wizard offers two tabs:

  • Manifest — copy the pre-filled app manifest FlowState generates (name, bot scopes, and the exact redirect URL for your FlowState instance) and paste it into api.slack.com/apps → Create New App → From an app manifest.
  • Manual — create the app from scratch, then under OAuth & Permissions add the redirect URL FlowState shows you and the bot scopes chat:write, channels:read, groups:read, im:write, users:read, users:read.email.

Either way, once the app exists, copy its Client ID and Client Secret from the app’s Basic Information page.

Step 2 — Save credentials

Paste the Client ID and Client Secret into FlowState (and, if you used a non-default redirect URL, that too), then click Save & continue. FlowState stores these securely, scoped to your tenant.

You can come back and update or remove these credentials later — the same card has a Remove button that deletes the stored app credentials.

Step 3 — Connect

Click Connect with Slack. FlowState opens Slack’s OAuth authorization page, pre-filled with your app’s Client ID and the scopes above. Select the workspace to connect (if you belong to more than one) and click Allow. Slack redirects back to FlowState, which exchanges the code for a bot token and marks the integration Connected.

If authorization fails or you click Cancel, return to Settings → Integrations → Slack and click Connect with Slack again — your saved app credentials are still there, so you don’t need to redo Steps 1–2.


After connecting

  • The integration card shows Connected to <workspace name>.
  • features.slack is enabled for the tenant.
  • A Send test message button appears. It DMs the fixed text “FlowState is connected to this Slack workspace.” to the Slack account matching your own FlowState login email (via users.lookupByEmail, so that email must also exist in the connected Slack workspace). It requires no channel selection — there is no “default channel” concept anywhere in this integration.

The wizard itself ends here — there is no further onboarding step for choosing a channel. To actually receive deal alerts in Slack, go to Settings → Integrations → Slack and set up notification routing: map deals.outdated and/or deals.weekly_digest to a channel ID (see Notifications for what each delivers and Overview for the full picture).

Invite the FlowState bot into that channel with Slack’s /invite @FlowState command — required before it can post there, though not for the test message above, which is always a direct message regardless of channel membership.