maestro
latest
false
- Introduction
- Getting started
- Process modeling with BPMN
- Process modeling with Case Management
- Designing a persistent case entity schema
- Defining case keys (system vs. external)
- Establishing task I/O and write-back contracts
- Exit rules and early stage termination
- Modeling primary and secondary stages
- Triggering a case from Data Fabric
- Implementing stage-level personas and permissions
- Setting SLAs and automated escalation rules
- Configuring a rework loop (re-entry)
- Managing live case instances: pause, migrate, and retry
- Maestro case management component dictionary
- Process modeling with Flow
- Getting started
- Core concepts
- Node reference
- Build guides
- Orchestrate an AI agent
- Call an external API
- Process incoming emails
- Build a Slack notification workflow
- Add human approval to a workflow
- Handle errors
- Best practices
- Reference
- Process implementation
- Debugging
- Simulating
- Publishing and upgrading agentic processes
- Common implementation scenarios
- Extracting and validating documents
- Process operations
- Process monitoring
- Process optimization
- Reference information
Maestro user guide
What you'll build: A workflow that composes a dynamic Slack message from workflow data and sends it to a channel. You can attach this pattern to any trigger — a scheduled job, an incoming webhook, or an event from another system — to add real-time notifications to any automation.
What you'll need
- A UiPath Automation Cloud account with access to Maestro Flow.
- A Slack workspace where you have permission to add an app.
- A Slack connection configured in Integration Service (UiPath's connector platform). To set it up, go to Integration Service in the UiPath Platform, find the Slack connector, and authorize it with your workspace.
Nodes used
- Manual Trigger — starts the workflow on demand (replace with your real trigger later)
- Script — composes the message text dynamically
- Slack integration node — sends the message to a Slack channel
Steps
1. Create a new Flow and add a trigger
- Open Maestro → Flow and create a new workflow.
- Drag a Manual Trigger onto the canvas.
- In the trigger's configuration panel, add input variables for any data you want to include in the message — for example,
recordName(string) andstatus(string).
2. Compose the message
- Drag a Script node onto the canvas and connect it to the trigger.
- In the code editor, write the message text using your input variables:
return `✅ Update: *${recordName}* is now ${status}.\nTriggered at: ${new Date().toISOString()}`;
return `✅ Update: *${recordName}* is now ${status}.\nTriggered at: ${new Date().toISOString()}`;
- Set Output variable name to
messageText.
Adjust the format to match your team's conventions. Slack supports basic markdown in messages (*bold*, _italic_, \n for line breaks).
3. Add the Slack Send Message node
- In the node panel, open Integration nodes and find the Slack connector.
- Drag the Send message action onto the canvas and connect it to the Script node.
- In the configuration panel:
- Select your Slack Connection.
- Set Channel to the channel ID or name where the message should be sent (for example,
#alerts). - Map Message to
{{ $vars.messageText }}.
4. Test and debug
- Select Test.
- In the trigger dialog, enter sample values for
recordNameandstatus. - Run the test.
Check the Slack channel after the run completes. If the message does not appear:
- Verify the Slack connection is active in Integration Service.
- Check the channel name — use the channel ID (starts with
C) rather than the display name if you get a "channel not found" error. - Inspect the Slack node's output in the execution trace for any error details from the Slack API.
Result
Your workflow fires on demand, composes a dynamic Slack message from the trigger inputs, and posts it to the configured channel. You can confirm success by checking the channel directly and by inspecting the Slack node's output in the execution trace.
Extend this workflow
- Add a condition — Before the Slack node, add a Decision node to only send the message when a certain threshold is met (for example, only notify on
Failedstatus). - Replace the trigger — Swap the Manual Trigger for an integration trigger or a Scheduled Trigger to send notifications automatically.
- Send to multiple channels — Add a Switch node to route the message to different channels based on priority or team.