Slack
Deliver Decuga notifications to Slack channels and DM recipients directly β powered by a Bot OAuth Token
Overview
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.
Setup
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.
{
"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.
chat:writeβ post messages to channels and DMschannels:read/groups:readβ list channels for the dropdownsim:writeβ open DM conversationsusers:read/users:read.emailβ look up recipients by email
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-.
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.
| Field | Description |
|---|---|
| Bot OAuth Token | The xoxb-β¦ token from step 2 β stored encrypted |
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.
| Setting | Events routed here |
|---|---|
| PM Notifications Channel | TASK_ASSIGNED Β· MENTION / COMMENT_REPLY / COMMENT_ASSIGNED on tasks or documents |
| Service Desk Channel | TICKET_ASSIGNED Β· TICKET_STATUS_CHANGED Β· MENTION / COMMENT_REPLY / COMMENT_ASSIGNED on tickets |
| Change Management Channel | CHANGE_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 type | Channel used |
|---|---|
| Task or Document | PM Notifications Channel |
| SD Ticket | Service Desk Channel |
| Change Request | Change 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:
- Look up the recipient's Decuga email in the Slack workspace (
users.lookupByEmail). - If found, open (or reuse) a direct-message channel (
conversations.open). - Post a personalised βHey Nameβ message to that DM channel.
Notification types
All 12 Decuga notification event types are supported. The Channel column shows which configured channel receives the event.
| Event | Slack label | Channel | Recipient |
|---|---|---|---|
| TASK_ASSIGNED | π Task assigned | PM | Sent to the assignee when a task is created or reassigned. |
| MENTION | π¬ You were mentioned | Context | Routes to PM, SD, or Change channel based on where the mention occurred. |
| COMMENT_REPLY | π Reply to your comment | Context | Routes to PM, SD, or Change channel based on the object being commented on. |
| COMMENT_ASSIGNED | π Comment assigned to you | Context | Routes to PM, SD, or Change channel based on the object being commented on. |
| TICKET_ASSIGNED | π« Ticket assigned to you | SD | Sent to the assignee when a service desk ticket is created or reassigned. |
| TICKET_STATUS_CHANGED | π Ticket status changed | SD | Sent to the ticket creator when an agent changes the ticket status. |
| CHANGE_SUBMITTED | π₯ Change submitted for approval | Change | Sent to the assigned reviewer when a change request is submitted. |
| CHANGE_APPROVED | β Change request approved | Change | Sent to the CR creator when all approvers have approved. |
| CHANGE_REJECTED | β Change request rejected | Change | Sent to the CR creator when any approver rejects. |
| CHANGE_COMPLETED | π Change completed successfully | Change | Sent to the CR creator when the pipeline moves to COMPLETED. |
| CHANGE_FAILED | π¨ Change implementation failed | Change | Sent to the CR creator when the pipeline moves to FAILED. |
| CHANGE_ROLLED_BACK | βͺ Change rolled back | Change | Sent 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.