Documentation Index
Fetch the complete documentation index at: https://docs.duvo.ai/llms.txt
Use this file to discover all available pages before exploring further.
| Time to complete | 20–30 minutes |
| Difficulty | Beginner to Intermediate |
| Prerequisites | Slack Workspace connection (team admin installs once) |
| You’ll build | Assignments your team can trigger from any enabled Slack channel by mentioning the Duvo app |
Why Trigger Assignments from Slack?
The Problem: Most automation tools require team members to log into a separate interface, find the right assignment, fill in a form, and wait for results elsewhere. When work starts in Slack — an inbound request, an incident in the #ops channel, a question in #finance — switching contexts adds friction and slows teams down. The Solution: Mention the Duvo app in any enabled Slack channel with a request and supporting context. Duvo starts a Job immediately, posts live progress in the thread, and delivers results without anyone leaving Slack. What your team can achieve:- Pull on-demand reports and data summaries from shared channels without logging into a separate tool
- Route incoming Slack requests (IT help, HR questions, ops tasks) automatically so nothing falls through the cracks
- Kick off full multi-step workflows by mentioning Duvo in the thread where the request already lives
- Review drafts, get feedback, or approve actions — all from the same Slack thread
- Let anyone on the team trigger automations they would otherwise need a specialist to run
Before You Start
Make sure these are in place before using Slack-triggered assignments:- Slack Workspace connection installed — A team admin must install the Duvo app once for your workspace from the Connections page. See Slack Workspace.
- Slack account linked — Each user goes to Settings > Notifications and links their personal Slack account so Duvo can reach them for Human-in-the-Loop requests.
- Slack trigger enabled — On each assignment you want to trigger from Slack, open Setup and enable the Slack trigger.
- Duvo invited to your channels — Invite the Duvo app to any channel where you plan to use it (
/invite @Duvo). In direct messages, the bot is available automatically.
How It Works
Once set up, triggering an assignment is as simple as mentioning the Duvo app in a channel:@Duvo so you can pick which assignment to run. If only one assignment matches, it starts automatically. Channel message triggers work differently — they fire all matching assignments simultaneously from the same message rather than showing a menu. See Skip the mention with a channel message trigger in Tips below.
Files and images attached to Slack messages are passed to the assignment automatically, so you can include a PDF, spreadsheet, or screenshot in your Slack message and the assignment receives it as context.
Use Case 1: On-Demand Reports from Shared Channels
Outcome: Any team member can ask for a report or data lookup in a shared channel and get results posted back — without logging into another tool, waiting for a scheduled run, or asking an analyst. This is useful for reports that come up irregularly: “what’s the status on these five accounts?”, “how many orders are stuck in pending?”, “can you pull the supplier lead times from our ERP?”.Step 1: Create Your Assignment
- Click + Create Assignment from your dashboard.
- Select Use Assignment Builder.
Step 2: Write Your SOP
Write the SOP to expect a request as input and pull the right data based on what is asked:Step 3: Enable the Slack Trigger
- Open your assignment and go to Setup.
- Enable the Slack trigger.
- Save.
Step 4: Add Connections
Under Connections, enable the connection to your data source — for example:- Google Sheets — for spreadsheet-based data
- Salesforce — for CRM records
- Snowflake — for warehouse queries
Expected Results
- A team member mentions Duvo with a report request in any enabled channel
- A live progress status appears in the thread and updates while the Job runs, showing what the assignment is currently doing
- Results appear in the thread within a few minutes, formatted and ready to share
Use Case 2: Request Intake and Routing in Shared Channels
Outcome: Requests that arrive in shared Slack channels — IT help, HR questions, ops tasks, finance approvals — are read, categorized, and routed to the right person or queue automatically. Nothing falls through the cracks and the channel stays organized. This removes the need for a dedicated person to watch a shared channel and manually triage each message.Step 1: Create Your Assignment
- Click + Create Assignment from your dashboard.
- Select Use Assignment Builder.
Step 2: Write Your SOP
Adapt the categories and routing destinations to your team’s workflow:Step 3: Enable the Slack Trigger
Enable the Slack trigger on this assignment in Setup.Step 4: Add Connections
Under Connections, enable:- Slack — required because this SOP sends direct messages and posts in channels other than the trigger thread (e.g.,
#finance-requests,#ops-queue). In-thread replies in the trigger thread are handled by the Slack Workspace connection automatically. - Any ticketing or operations system your SOP writes to (e.g., Jira, Linear, ServiceNow)
Expected Results
- Team members post requests in the shared channel and mention Duvo
- Each request is acknowledged in the thread within seconds
- Tickets are created and the right people are notified automatically
- The requester sees confirmation in the thread without following up separately
Use Case 3: Kicking Off Workflows from Existing Slack Conversations
Outcome: When a conversation in Slack reaches a decision point — a refund to process, a record to update, a document to generate — one mention starts the full workflow without leaving the thread. The whole conversation history becomes context for the assignment. This is ideal for operations, support, and account management teams who already coordinate in Slack and want to act on what they discuss without switching tools.Step 1: Create Your Assignment
- Click + Create Assignment from your dashboard.
- Select Use Assignment Builder.
Step 2: Write Your SOP
Step 3: Enable the Slack Trigger
- Open your assignment and go to Setup.
- Enable the Slack trigger.
- Save.
Step 4: Add Connections
Enable the connections to the systems your workflow touches — your order management system, CRM, Google Drive, etc. Posting confirmations to the trigger thread is handled automatically by the Slack Workspace connection. Human-in-the-Loop requests are delivered as Slack DMs to the relevant user. The personal Slack connection is only needed if your SOP also sends DMs or posts to other channels as assignment steps.Expected Results
- Team members discuss a request or decision in a Slack thread, then mention Duvo
- Duvo reads the full thread and understands what action was agreed
- The assignment carries out the workflow and posts results in the thread
- Approvals for sensitive actions appear as interactive buttons — respond directly in Slack
Use Case 4: Sharing Files for Processing
Outcome: Team members can drop a document, spreadsheet, or image into a Slack channel, mention Duvo, and have it processed immediately — extracted, validated, summarized, or loaded into a system. Any files attached to messages in the thread are automatically available to the assignment.Example SOP for Document Processing
Expected Results
- Drop a PDF invoice in the channel, mention Duvo, and it is logged to your spreadsheet within minutes
- Attach a screenshot to ask Duvo to extract or describe the content
- No manual downloading or re-uploading required — files from the Slack thread are passed to the assignment directly
Tips for Better Results
Write the SOP to handle “I’ll know it when I see it” requests: Slack requests are often phrased informally. Write your SOP to interpret the intent, not just exact phrasing. For example: “understand what the user is asking for and check the relevant data source” works better than “if the message contains the word ‘report’…”. Keep one assignment per topic: A single all-purpose assignment that tries to handle IT tickets, finance approvals, and report requests will produce inconsistent results. Create separate assignments for distinct workflows and let the selection menu route the request to the right one. Use Human-in-the-Loop for actions with consequences: Add an approval step before the assignment takes any irreversible action. Approvals appear as interactive buttons in a Slack DM to the relevant user — they can approve or deny without leaving Slack. See Human-in-the-Loop. Start results with a one-line summary: Instruct your SOP to lead the Slack response with a single sentence summary before the detail. Long output in a Slack thread is hard to scan. Include thread context when you mention Duvo: The more context the thread contains, the better the assignment can respond. If you are kicking off a workflow, paste the relevant details into the thread before mentioning Duvo — or simply let the conversation build up naturally before triggering. Skip the mention with a channel message trigger: If you want an assignment to start automatically on every message in a channel — or every message containing a specific keyword — you can set up a channel message trigger instead. The assignment fires without anyone needing to tag the Duvo app, which is useful for monitoring channels like #alerts or #support-inbox where every message should be processed. In Setup, enable the Channel Message trigger, select the channel, and optionally specify keywords or patterns to filter which messages start the assignment. Unlike mention triggers, if multiple assignments have matching Channel Message triggers, they will all start simultaneously from the same message — no selection menu appears, so use specific keywords to avoid unintended overlaps.Troubleshooting
Duvo does not respond when mentioned
- Confirm the Duvo app has been invited to the channel (
/invite @Duvo) - Check that the assignment has the Slack trigger enabled in Setup
- Verify the Slack Workspace connection is active on the Connections page
- Verify all connections required by the assignment are linked and authorized under Connections — a missing connection can stop the Job from starting
- Ensure the assignment has a published build — a draft-only assignment cannot be triggered
A selection menu appears instead of the Job starting
This means more than one of your assignments has Slack triggers enabled. Select the assignment you want from the menu. To avoid the menu in the future, disable the Slack trigger on assignments you do not intend to trigger from this channel.The assignment cannot see files attached to my message
- Confirm the files are attached to messages in the same Slack thread where you mentioned Duvo
- Files must be attached at the time of the mention, or in messages in the thread before the mention
- Very large files may take longer to process
Results appear incomplete or cut off
- Slack has message length limits. Instruct your SOP to summarize results rather than dump raw data. For large outputs, write results to a Google Sheet or document and post the link in the thread instead.
Job starts but fails or returns no results
- Check that all connections the assignment needs are enabled and authorized under Connections — for example, if the SOP reads from Salesforce or writes to Google Sheets, those connections must be linked
- Re-authorize any connection that shows as disconnected on the Connections page
- Open the Job in Duvo to see the full error detail in the session log
Human-in-the-Loop requests are not appearing in Slack
- Confirm your Slack account is linked in Settings > Notifications
- Check that Slack notifications are enabled in your notification settings
- Make sure the Duvo app is not muted in Slack