The gap between where work happens and where the team talks

A task gets marked done in WKFGo at 2pm. Nobody in the #projects channel knows until standup the next morning, because nobody was staring at the board when it happened. Meanwhile, half the "quick tasks" that get promised in Slack threads never make it into the board at all — someone would have to stop, open a new tab, and fill out a form, so they don't.

Both problems have the same root cause: the project tool and the chat tool are two separate places, and switching between them has friction. A Slack integration that only sends notifications solves the first problem. One that also lets people act on tasks from inside Slack solves both.

What WKFGo's Slack integration actually does

It's a real Slack app (bot token + signing secret, created at api.slack.com/apps) connected once per organization by an admin, with two directions of traffic:

Outbound — board events post to a channel. When a task is created, updated, or deleted, WKFGo posts a message to the organization's configured channel: an icon per event type, the task title linked back to its /task-details/{id} page, the project name, and who made the change. Delivery runs off an async queue so a Slack outage or rate limit never blocks the actual task mutation — a failed post just gets logged, the board update still happens.

Inbound — the /wkfgo slash command. Typed directly in Slack:

Slash commands map the Slack caller to a WKFGo account by matching e-mail address — which is why the bot token needs the users:read.email scope alongside chat:write and users:read. If someone's Slack profile e-mail doesn't match a WKFGo account, the command replies with a clear ephemeral error rather than silently failing or acting as the wrong person.

What it is not

It's not a two-way sync where editing a message updates the task, and it's not a thread-based commenting system — comments and discussion still happen on the task itself in WKFGo. Think of it as a notification channel plus a command line, not a second UI for the board. For actual team chat tied to project context, that's a separate, existing piece of WKFGo (an embedded chat panel with its own Mattermost integration) — the Slack app is specifically for event visibility and quick actions in a channel people already have open all day.

Setting it up

  1. Create a Slack app in your workspace, add the chat:write, users:read, and users:read.email bot scopes, and install it — this gives you a bot token starting with xoxb-.
  2. In WKFGo, an org admin opens Integrations → Slack, pastes the bot token and (for the slash command to work) a signing secret, and sets a default channel — e.g. #projects.
  3. Optionally set a default project, so /wkfgo create has somewhere to land without asking.
  4. Send a test message before relying on it — WKFGo posts a one-line confirmation to the configured channel so you know the token and channel are both correct before your team starts depending on it.
  5. Point the slash command's request URL (shown in the integration panel) at WKFGo's /api/integrations/slack/command endpoint in your Slack app's settings, and the /wkfgo commands go live.

Choosing which events to post

By default every board event posts to the channel. For a busy team that's noisy fast — the integration accepts a specific event list instead of the wildcard, so a channel can be scoped to just task.created and task.deleted, for instance, while day-to-day status edits stay silent. Get this wrong in either direction and the channel becomes something people mute, which defeats the point — start narrower than feels necessary and widen it once the signal-to-noise ratio proves out.

Frequently Asked Questions

Does this need a paid Slack plan? No — a bot token and slash command work on Slack's free tier same as any paid one.

Can different projects post to different channels? Not yet — one Slack workspace connection posts to one default channel per organization. If your teams need per-project channels, that's a real limitation to plan around, not something to route around with multiple bot installs.

What happens if someone's Slack e-mail doesn't match their WKFGo account? The slash command returns an ephemeral error telling them so, rather than guessing. Fix it by making sure the e-mail on their Slack profile matches the one on their WKFGo user.

Is the connection per-user or per-organization? Per-organization — one admin connects it once, and every project in that org can be part of the event stream. Individual members don't need to authorize anything themselves to receive notifications or use /wkfgo.


Ready to stop losing task updates in the gap between tools?