πŸ’¬

Slack

Deliver Decuga notifications to Slack channels and DM recipients - and manage tasks, tickets, and change requests right from a Slack conversation with the Decuga AI assistant. Powered by a Bot OAuth Token.

Notification channel
AI assistant (Pro+)
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 does two things. First, it's 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.

Second, on Pro and higher plans, Decuga becomes a two-way AI assistant right inside Slack - DM it or @mention it in a channel to create and update tasks, triage tickets, move change requests through approval, and more, in plain English. See AI assistant below.

In addition to channel posts, Decuga will attempt to DM each notification recipient directly 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

Click Connect Slack

In your Decuga project, go to Integrations β†’ Connections and click Connect on the Slack card. You're redirected straight to Slack's own authorization screen - no app to create, nothing to copy or paste.

Decuga requests only the scopes it actually uses:
  • chat:write - post messages to channels and DMs
  • channels:read / groups:read - list channels for the dropdowns
  • channels:history / groups:history - read a channel thread's messages, so the AI assistant has the whole thread as context, not just the one message that mentioned it
  • im:write / im:history - open DM conversations and receive replies sent there
  • users:read / users:read.email - look up recipients by email to DM them
  • users.profile:read - identify who's messaging the Decuga bot, by their Slack profile email
  • app_mentions:read / files:read - the Decuga bot's DM/@mention features (Pro+)
2

Approve the requested permissions

Slack shows exactly which workspace you're installing to and what the Decuga bot will be able to do. Review it, then click Allow.

You're redirected straight back into Decuga's Integrations tab with the Slack card already showing Connected - there's no token to copy, and nothing is ever shown to you in plain text.

3

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.

Add Decuga to each channel you pick. A channel can appear in the dropdown even though the bot has not joined it, and Slack rejects posts to channels the bot is not a member of - so the channel stays silent with no error shown in Decuga. In each channel, type /invite @Decuga (or Channel settings β†’ Integrations β†’ Add apps). Private channels only appear in the dropdown after the bot has been invited.
SettingEvents routed here
Task Notifications ChannelTASK_ASSIGNED Β· TASK_STATUS_CHANGED Β· TASK_DUE_TODAY Β· MENTION / COMMENT_REPLY / COMMENT_ASSIGNED on tasks or documents
Service Desk ChannelTICKET_ASSIGNED Β· TICKET_STATUS_CHANGED Β· TICKET_CUSTOMER_REPLY Β· TICKET_SLA_BREACHED Β· 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 DocumentTask Notifications Channel
SD TicketService Desk Channel
Change RequestChange Management Channel

The bot must be a member of each channel it posts to (public or private) - invite it with /invite @Decuga. Without membership Slack rejects the post and nothing appears in that channel. The same applies to @mentioning the bot in a channel: it only receives mentions from channels it has joined. Direct messages do not require channel membership.

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 15 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.
TASK_STATUS_CHANGEDπŸ”„ Task status changedPMSent to people watching a task when its status changes.
TASK_DUE_TODAY⏰ Task due todayPMSent to the assignee on the day a task is due.
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.
TICKET_CUSTOMER_REPLYπŸ’¬ Customer replied on a ticketSDSent to the assignee, and to watchers who are project members, when a customer replies through the portal or by email.
TICKET_SLA_BREACHED⏳ Ticket SLA breachedSDSent when a service desk ticket breaches its SLA.
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.

AI assistant

The AI assistant is a Pro and higher feature. On Free plans, the Slack connector still delivers notifications - messaging the bot returns β€œSlack collaboration features require a Pro or higher plan.”

Once connected, Decuga is a real conversational assistant in Slack - the same one available from the dashboard's chat panel, with access to virtually everything you can do there: creating and updating tasks, triaging Service Desk tickets, moving change requests through approval, managing sprints, goals, and roadmap items, and more. Every reply is automatically scoped to your own Decuga account and permissions - exactly like logging into the dashboard yourself.

In a direct message

Just type - no need to mention the bot by name. Every message you send Decuga in a DM is treated as a request.

In a channel

Start with @Decuga so it knows the message is for it and not the rest of the channel. The bot must be a member of the channel first - invite it with /invite @Decuga.

Replying to a question Decuga asked: if it asks you something back (β€œWould you like me to create a new task with that title?”), just reply in the same thread - you don't need to @mention it again. Decuga recognizes its own threads and picks the conversation back up; a plain reply anywhere else it didn't start is left alone, the same way you wouldn't expect a reply in someone else's thread to be about you.

Referring to a task, ticket, or change request: use its code (e.g. DT-51) when you know it, or describe it in plain words (β€œthe task about the login redirect”) and Decuga will look it up for you. If more than one thing matches, it asks which one you meant rather than guessing.

Example commands

A sample of what you can ask - not an exhaustive list. Type naturally; these are just starting points.

Tasks & sub-tasks

  • β€œCreate a task to update the login page copy
  • β€œAdd a sub-task of DT-51 called Fix mobile layout
  • β€œAssign DT-42 to Amit
  • β€œMove DT-42 to In Review
  • β€œWhat are my open tasks?
  • β€œShow me DT-51

Sprints & backlog

  • β€œWhat's in the current sprint board?
  • β€œStart Sprint 5
  • β€œWhat's in the backlog?
  • β€œComplete the current sprint

Comments & watchers

  • β€œAdd a comment to DT-51 saying it's deployed to staging
  • β€œWho's watching DT-42?
  • β€œAdd Priya as a watcher on DT-51

Service Desk

  • β€œCreate a ticket for a customer who can't log in
  • β€œWhat tickets are assigned to me?
  • β€œChange ticket TKT-118 to Resolved

Change management

  • β€œSubmit CR-12 for approval
  • β€œApprove CR-12
  • β€œWhat change requests are pending my review?

Goals, roadmap & reporting

  • β€œWhat's the status of our Q3 OKRs?
  • β€œAdd a roadmap item for dark mode
  • β€œGive me a project analytics summary
  • β€œShow the burndown for the current sprint
If a request is genuinely ambiguous - which task, which sprint, which teammate - Decuga asks a brief clarifying question instead of guessing. It never invents an ID or fabricates an answer it can't look up.

Troubleshooting

No messages appearing in any channel

Confirm the Decuga installation shows "Notifications active" in Integrations β†’ Connections. If it shows "Disconnected" instead, the workspace admin may have removed the app from Slack - reconnect from that same screen.

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

Someone likely removed the Decuga app from your Slack workspace, or a workspace admin revoked its access directly. Decuga detects this automatically and marks the connection disconnected - just click Connect again in Integrations β†’ Connections to reauthorize.

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.

I @mentioned Decuga in a channel but it didn't reply

The bot must be a member of that channel first - type /invite @Decuga there, then try again. If you're on a Free plan, the assistant is a Pro-and-higher feature; Decuga replies with a link to upgrade instead of ignoring you.

I replied to Decuga's question in a thread and nothing happened

Decuga only treats a mention-less thread reply as directed at it when it's a thread Decuga itself started - ordinary conversation between teammates in another thread is left alone. If the bot asked the question in a DM, just reply normally; if it was in a channel, make sure you're replying in that same thread, not starting a new message.

I laid out details across a whole thread, then @mentioned Decuga to act on it - but it asks basic questions as if it never read the thread

If your workspace connected Decuga before this capability was added, the underlying Slack app may be missing the channels:history/groups:history scopes it needs to read a channel thread's messages - without them, Decuga can only see the single message that mentioned it, not the rest of the thread. Go to Integrations β†’ Connections, disconnect the Slack card, then reconnect it - that re-runs OAuth and picks up any scopes added since you first connected.