Send updates to Slack

Paid plans

Connect a Workspace to a Slack channel so SprintBee posts when a voting window opens, is closing soon, or closes — plus optional estimate cards and Retro summaries.

A Slack connection turns a team's planning ceremony into something people can follow from the channel they already sit in: the window opened, three people still have not voted, the window closed and two items need discussion.

The connection belongs to a Workspace, not to a single session. One Slack channel per Workspace, set once, used by every voting window that Workspace runs and by its Retro summaries.

Before you start#

  • A paid plan. Channel notifications are included on Pro, Pro Plus and Pro Ultra. On Free the panel reads Voting-window notifications are a paid feature. Async voting itself is free — only posting it into a channel is not.
  • Owner or Admin of the organization that owns the Workspace. Other members, and moderators who only run the room, cannot see or change these settings.
  • Permission to install a Slack app, or a workspace admin willing to. If your Slack workspace restricts installs, use the manual webhook path below instead.

Connect with Add to Slack#

Slack issues the webhook and hands it to SprintBee directly, so there is nothing to copy or paste.

  1. Open Workspaces and select the Workspace you want to connect.
  2. In the Settings group of the sidebar, choose Integrations & notifications.
  3. Scroll to the Notifications card and find the Slack section.
  4. Select Add to Slack.
  5. On Slack's own authorization screen, pick your Slack workspace and the channel that should receive updates, then approve.
  6. Slack sends you back into SprintBee. Reopen Integrations & notifications; the Slack section now reads Connected to #your-channel.
  7. Select Send test message, then check the channel. Success shows Test message sent — check the Slack channel.

SprintBee requests one Slack scope, incoming-webhook, and receives one thing back: a URL that can post into the channel you chose. It never gets a token that can read messages, list channels, or see anyone's Slack profile.

Paste a webhook URL instead#

Some Slack workspaces only let admins install apps, which blocks Add to Slack for everyone else. The same button is also absent when the SprintBee deployment has no Slack app configured at all. Either way, an incoming webhook you create yourself works identically.

  1. Select Paste a webhook URL instead to reveal the Webhook URL field.
  2. At api.slack.com/apps, select Create New App, then From a manifest.
  3. Choose the Slack workspace, paste the manifest below, and create the app.
  4. On the app's Install App page, install it to the workspace and pick the channel that should receive updates.
  5. Open Incoming Webhooks and copy the generated URL — it starts https://hooks.slack.com/services/.
  6. Back in SprintBee, paste it into the Webhook URL field and select Save.

SprintBee accepts only https URLs on the hooks.slack.com host. Anything else is refused before it is stored, with Enter a Slack incoming-webhook URL.

App manifest#

{
  "display_information": {
    "name": "SprintBee Notifications",
    "description": "Posts planning updates from SprintBee to a channel.",
    "background_color": "#0f172a"
  },
  "oauth_config": {
    "scopes": { "bot": ["incoming-webhook"] }
  },
  "settings": {
    "org_deploy_enabled": false,
    "socket_mode_enabled": false,
    "token_rotation_enabled": false
  }
}

What gets posted#

Every message links back to the room. None of them ever names a participant — outstanding voters are reported as a count, never a list.

Message When it fires
Voting window opened A window opens. Says how many items are ready and when it closes.
Voting window closing soon Once per window, near the deadline, and only while at least one eligible participant still has a vote outstanding. A window everyone has finished stays quiet.
Reminder sent A moderator nudges the people who have not voted, or a scheduled escalation fires.
Voting window update Once, at the window's midpoint: how many of the eligible participants are done.
Voting window closed How many items were auto-accepted by consensus and how many need discussion.
Estimate recorded Off by default. See below.
Retro summary Chosen by the facilitator when closing a Retro. See below.

Deadlines are printed as an absolute UTC time. SprintBee does not know each reader's timezone, and a channel usually spans several.

A Microsoft Teams channel receives this same set of messages. Teams is configured separately, in the section below Slack, and both can be live at once.

Estimate recorded#

Once a webhook is saved, an Estimate recorded toggle appears above it. Turn it on to post a card each time a round finalizes and its value is written back to the linked Jira or Linear item — with the item key, the headline result, whether the team reached consensus, and the spread of votes cast.

It is off by default because it is far chattier than the handful of per-window messages: one card per story, rather than one per window.

Retro summaries#

A connected Slack channel also becomes a delivery option when a facilitator closes a Retro. On the Close step they can choose the channel, and SprintBee queues a summary naming the session, the Topics discussed or parked, and the Improvement Actions committed. Nothing is sent unless the facilitator picks it.

Change or turn off the channel#

To point at a different channel, select Reconnect to Slack and run the authorization again, choosing the new channel. The old destination is replaced; a Workspace never posts to two Slack channels.

Turn off deletes the stored configuration. There is no paused state — switching notifications back on means connecting or saving a URL again.

When messages do not arrive#

Live sends are fire-and-forget: a failed post never blocks or delays a voting window, and nothing is retried. That is why the warning banner and the test button exist — they are how a broken webhook surfaces before someone mentions that the channel went quiet.

What you see What it means
Recent notifications may be failing to deliver. Three consecutive sends failed. The webhook was probably revoked, or its channel or app was deleted. Reconnect, or paste a fresh URL.
Slack didn't accept the message. on a test The request reached Slack and Slack rejected it. Same causes as above.
Could not connect to Slack. after authorizing The authorization did not complete — it timed out, or you cancelled on Slack's screen. Try Add to Slack again, then fall back to a manual webhook.
Enter a Slack incoming-webhook URL The pasted URL is not an https URL on hooks.slack.com.
Save a webhook URL before sending a test message. Nothing is configured yet for this provider.
Voting-window notifications are a paid feature. The organization that owns this Workspace is on Free. Unlike the Jira and Linear connections, this is judged on the Workspace's own organization, so signing in as someone else changes nothing — the organization needs a paid plan.
No closing-soon message Everyone eligible had already voted. That case sends nothing on purpose.

Last updated