Skip to content
AI

Integrations

Setting up Slack

Connect a project's Slack channel with an incoming webhook, choose what the channel hears, and what happens if it stops or you disconnect.

This page is for the project admin who connects a Slack channel. What the channel shows, and when a conversation is better kept on the task, is on Slack.

Connecting a project's channel

A project posts into Slack through an incoming webhook — an address Slack gives you that accepts messages for one channel. Each project has its own, so each can post to a different channel. It takes a few minutes, and only an admin of the project can do it.

  1. Go to api.slack.com/apps and choose Create New App, then From scratch. Name it anything you like and pick your Slack workspace.
  2. In the app's settings, open Incoming Webhooks and switch Activate Incoming Webhooks on.
  3. Click Add New Webhook to Workspace and pick the channel the project should post to.
  4. Copy the Webhook URL. It starts with https://hooks.slack.com/services/ — treat it like a password, because anyone holding it can post to that channel.
  5. In sjTasks, open the project, click Integrations, paste the address, and Connect. Then Send a test message and watch it land.

We store the address encrypted, and the page never shows it back in full.

Choosing what the channel hears

A new connection starts out hearing the events sjTasks emails people about by default — a task assigned, work due soon, a note written, someone added to the project. The checkboxes under What the channel hears change that; Save keeps the choice.

If it stops

When a channel goes away or stops accepting messages, posts start failing. After ten failures in a row sjTasks switches that project's channel off — rather than knocking on a dead door forever — and emails the admin who connected it, once. Nothing inside sjTasks is affected. Paste a fresh webhook address on the Integrations page to switch it back on.

Disconnecting

Disconnect on the Integrations page forgets the webhook entirely. Notifications inside sjTasks are untouched.

Updated 2026-09-26