πŸ’¬

Slack

Deliver Decuga notifications to Slack channels and DM recipients directly β€” powered by a Bot OAuth Token

Notification channel
Bot OAuth Token
Per-category channels
Direct-message recipients

Overview

Decuga uses a Slack Bot OAuth Token (not an Incoming Webhook). This gives the bot the ability to post to multiple channels, look up users by email, and send direct messages β€” all with a single token.

The Slack connector is a notification channel β€” once connected, every in-app notification your project generates is also delivered as a formatted Slack Block Kit message. You configure three separate channels β€” one each for Project Management, Service Desk, and Change Management events β€” so each team sees only the notifications relevant to them.

In addition to channel posts, Decuga will attempt to DM each notification recipientdirectly in Slack. If the recipient's Decuga email matches a Slack workspace member, they receive a personal message even if they're not watching the channel.

Self-notifications are suppressed β€” if you are both the actor and the recipient of an event you will not receive a Slack message for it.

Setup

1

Create a Slack app from the Decuga manifest

Go to api.slack.com/apps and click Create New App β†’ From an app manifest.

Select your workspace, then paste the manifest below into the JSON tab and click Next.

json
{
  "display_information": {
    "name": "Decuga Notifications",
    "description": "Receive Decuga project notifications in Slack",
    "background_color": "#4f46e5"
  },
  "features": {
    "bot_user": {
      "display_name": "Decuga",
      "always_online": false
    }
  },
  "oauth_config": {
    "scopes": {
      "bot": [
        "chat:write",
        "channels:read",
        "groups:read",
        "im:write",
        "users:read",
        "users:read.email"
      ]
    }
  },
  "settings": {
    "org_deploy_enabled": false,
    "socket_mode_enabled": false,
    "token_rotation_enabled": false
  }
}

Review the app summary β€” you should see the bot named Decuga with six OAuth scopes listed β€” then click Create.

The manifest requests only the minimum scopes needed:
  • chat:write β€” post messages to channels and DMs
  • channels:read / groups:read β€” list channels for the dropdowns
  • im:write β€” open DM conversations
  • users:read / users:read.email β€” look up recipients by email
2

Install the app and copy the Bot OAuth Token

After creating the app you land on the Basic Information page. In the left sidebar click Install App, then click Install to Workspace and approve the permissions.

You are redirected back to the OAuth & Permissions page. Copy the Bot User OAuth Token β€” it begins with xoxb-.

Keep this token private. Anyone who has it can post messages to your workspace as the Decuga bot. Treat it like a password.
3

Connect Slack in Decuga

In your Decuga project, go to Settings β†’ Integrations and click Connect on the Slack card. Paste the Bot OAuth Token into the Bot OAuth Token field and click Connect.

FieldDescription
Bot OAuth TokenThe xoxb-… token from step 2 β€” stored encrypted
4

Pick a channel for each notification category

Once connected, click Configure on the Slack card. Three channel dropdowns appear β€” one for each notification category. The dropdowns are populated automatically by asking the bot to list every channel it can see.

SettingEvents routed here
PM Notifications ChannelTASK_ASSIGNED Β· MENTION / COMMENT_REPLY / COMMENT_ASSIGNED on tasks or documents
Service Desk ChannelTICKET_ASSIGNED Β· TICKET_STATUS_CHANGED Β· MENTION / COMMENT_REPLY / COMMENT_ASSIGNED on tickets
Change Management ChannelCHANGE_SUBMITTED Β· CHANGE_APPROVED Β· CHANGE_REJECTED Β· CHANGE_COMPLETED Β· CHANGE_FAILED Β· CHANGE_ROLLED_BACK Β· MENTION / COMMENT_REPLY / COMMENT_ASSIGNED on change requests

All three fields are optional β€” if a channel is left blank, the channel post for that category is skipped. Direct messages to recipients are always attempted regardless of channel configuration.

Click Save. The Integrations tab now shows a Notifications active badge. Notifications flow automatically from this point; there is no manual import trigger.

Channel routing

Each notification event is posted to exactly one channel. Most event types have a fixed destination, but MENTION, COMMENT_REPLY, and COMMENT_ASSIGNED are context-sensitive β€” they follow the object they belong to rather than always going to the PM channel:

Object typeChannel used
Task or DocumentPM Notifications Channel
SD TicketService Desk Channel
Change RequestChange Management Channel

The bot must be a member of each channel it posts to β€” invite it with /invite @Decuga if messages are not appearing.

In addition to the channel post, Decuga always tries to DM the recipient:

  1. Look up the recipient's Decuga email in the Slack workspace (users.lookupByEmail).
  2. If found, open (or reuse) a direct-message channel (conversations.open).
  3. Post a personalised β€œHey Name” message to that DM channel.
DM delivery is best-effort. If the recipient is not in the Slack workspace, or if the workspace restricts DMs from apps, the DM is silently skipped β€” the channel post and in-app notification are unaffected.

Notification types

All 12 Decuga notification event types are supported. The Channel column shows which configured channel receives the event.

EventSlack labelChannelRecipient
TASK_ASSIGNEDπŸ“‹ Task assignedPMSent to the assignee when a task is created or reassigned.
MENTIONπŸ’¬ You were mentionedContextRoutes to PM, SD, or Change channel based on where the mention occurred.
COMMENT_REPLYπŸ”„ Reply to your commentContextRoutes to PM, SD, or Change channel based on the object being commented on.
COMMENT_ASSIGNEDπŸ“ Comment assigned to youContextRoutes to PM, SD, or Change channel based on the object being commented on.
TICKET_ASSIGNED🎫 Ticket assigned to youSDSent to the assignee when a service desk ticket is created or reassigned.
TICKET_STATUS_CHANGEDπŸ”„ Ticket status changedSDSent to the ticket creator when an agent changes the ticket status.
CHANGE_SUBMITTEDπŸ“₯ Change submitted for approvalChangeSent to the assigned reviewer when a change request is submitted.
CHANGE_APPROVEDβœ… Change request approvedChangeSent to the CR creator when all approvers have approved.
CHANGE_REJECTED❌ Change request rejectedChangeSent to the CR creator when any approver rejects.
CHANGE_COMPLETEDπŸŽ‰ Change completed successfullyChangeSent to the CR creator when the pipeline moves to COMPLETED.
CHANGE_FAILED🚨 Change implementation failedChangeSent to the CR creator when the pipeline moves to FAILED.
CHANGE_ROLLED_BACKβͺ Change rolled backChangeSent to the CR creator when the pipeline moves to ROLLED_BACK.

Troubleshooting

No messages appearing in any channel

Verify the bot token starts with xoxb- and was copied in full. Also confirm the Slack app was installed to the workspace (not just created). Check the Decuga installation shows "Notifications active" in Settings β†’ Integrations.

Messages appear in some channels but not others

The bot must be a member of each channel it posts to. Open the channel in Slack and type /invite @Decuga. Also verify the correct channel is selected in the Configure panel for that category.

Channel dropdowns are empty after connecting

The bot can only list channels it has been added to, plus public channels in most Slack plans. Invite the bot to the channels you want first, then reopen Configure.

Recipients are not receiving DMs

DMs require the user's Decuga account email to match a Slack workspace member. Confirm emails match. Some Slack plans also restrict DMs from apps β€” check your workspace settings under Permissions.

Notifications stopped after working for a while

The bot token may have been revoked if the Slack app was removed or reinstalled. Re-install the app to the workspace (no need to create a new manifest) and generate a fresh token. Disconnect and reconnect Slack in Decuga with the new token.

I assigned a task to myself but got no Slack message

Self-notifications are intentionally suppressed β€” if you are both the actor and the recipient of an event, no notification is sent (in-app or Slack).

Can I send Change Management events to the same channel as PM events?

Yes β€” set the same channel ID in both dropdowns. Each category is routed independently; pointing them at the same channel is fine.