Cloodot
Workflows

Workflows

Automate your conversation management with visual, drag-and-drop workflows that trigger on events and take action automatically.

Workflows handle the repetitive parts of conversation management for you. Set one up once and it runs every time a matching event happens — no more manually assigning conversations, adding labels, or sending follow-ups.

Think "if this happens, then do that" — with the power to chain steps, branch on conditions, wait for the right moment, and call external services.

What to automate

  • Route conversations — assign incoming messages to the right teammate or AI persona based on channel, content, or labels
  • Send automated messages — welcome new conversations, follow up after a delay, or notify customers of status changes
  • Organize conversations — add or remove labels, star important ones, resolve the finished
  • Extract insights — use the AI agent to auto-extract labels, sentiment, and custom field values
  • Connect external services — call your other tools through their APIs

The Workflows page

Open Workflows in the sidebar to see every workflow in a table:

  • Name and description
  • Trigger type — the event that starts the workflow
  • Status — Draft, Active, Paused, or Archived
  • Versions — how many saved versions exist
  • Executions — how many times the workflow has run

Filter by status, search by name, and sort by any column. The row menu also offers Duplicate (a draft copy with the same steps and settings) and Export JSON.

Workflow statuses

StatusWhat it means
DraftSaved but not running. You can edit freely.
ActiveLive and triggering on matching events.
PausedTemporarily stopped. Can be resumed anytime.
ArchivedNo longer in use. Preserved for reference.

Create a workflow

Click Create Workflow at the top right to open the template gallery. Browse by category, search by name, and check each template's step-by-step preview before committing.

CategoryTemplates
Get startedStart from scratch (blank canvas)
MessagingWelcome new conversations · Follow up after an hour · Ask for feedback when resolved
RoutingFlag urgent messages · Route new conversations to AI
AITriage with AI — extract sentiment and urgency, star the urgent ones
HousekeepingAuto-resolve stale conversations
IntegrationsForward webhooks to your API · Alert your team on workflow failures

Templates marked Ready to publish work the moment you create them — tweak the copy to match your voice and publish. Templates marked Needs setup tell you exactly what to fill in first (an endpoint URL, an AI persona).

You can also start from one of your own workflows: the gallery lists them with a Use as template button that clones the workflow as a new draft.

Pick a starting point, give it a name and optional description (templates suggest both), and click Create Workflow — you land in the visual editor with the steps already wired.

The workflow editor

Build automation logic visually.

Canvas

Drag nodes from the sidebar onto the canvas, then connect them by dragging from one node's output handle to another node's input handle.

Handy controls:

  • Auto-layout — the wand icon arranges nodes neatly
  • Mini map — the map icon gives you a bird's-eye view of larger workflows
  • Snap to grid — nodes align automatically for a clean layout

Lists node types by category:

  • Triggers — events that start your workflow
  • Actions — things the workflow does (send messages, assign conversations, etc.)
  • Logic — decision nodes, delays, and end nodes

Drag any node onto the canvas. The Simple API Request node isn't in the sidebar — add it from the command bar with ⌘K.

Click any node to open its configuration panel on the right. Cloodot saves changes as you configure them.

Top action bar

  • Runs — execution history and logs
  • Test — run the workflow with sample data
  • Clear — discard unsaved changes
  • Save — create a new version without publishing
  • Publish — save and activate the workflow

Triggers

Every workflow starts with exactly one trigger — the event that kicks things off.

Available triggers

TriggerFires when...
New ConversationA brand-new conversation is created
AI Agent AssignedAn AI persona is assigned to a conversation
Human Agent AssignedA team member is assigned to a conversation
Conversation OpenedA conversation's status changes to Open
Conversation ResolvedA conversation is marked as Resolved
Conversation StarredA conversation is starred
Label AddedA label is added to a conversation
Label RemovedA label is removed from a conversation
Incoming WebhookAn external system calls the workflow's webhook URL
Workflow ErrorAnother workflow fails — use it to build error handlers (see Execution settings)

Actions

Action nodes do the work. Add as many as you need.

Messaging

  • Send Message — send an automated message. Compose the text right in the node.
  • Send WhatsApp Template — send an approved WhatsApp template.

Conversation management

  • Open Conversation — set status to Open
  • Resolve Conversation — mark as Resolved
  • Star Conversation — star for quick access
  • Unstar Conversation — remove the star

Labels

  • Add Label — apply one or more existing labels
  • Remove Label — remove one or more labels

Assignment

  • Assign to User — assign to a specific teammate
  • Assign to AI — assign to a specific AI persona

AI-powered

  • AI Extraction — auto-extract labels, custom fields, and sentiment from the conversation

Installed Skill Sets also appear here under Skills — each is named {Skill Set} · {skill} and only shows up when the Skill Set is installed.

Loop prevention

To stop infinite loops, certain actions are blocked based on your trigger. For example, a workflow triggered by "Label Added" can't include an "Add Label" action. The same rule applies to other matching trigger-action pairs.

Using variables

Reference data from the trigger or any earlier step with {{variable}} templates. Type {{ in a message field, or use the Variables picker on any input that supports them.

  • From the trigger{{trigger.messageText}}, {{trigger.conversationId}}, webhook payload fields like {{trigger.payload.orderId}}, even array elements like {{trigger.payload.items.0.sku}}.
  • From earlier steps — each step is addressed by its name: a step called "CRM Lookup" exposes {{crm_lookup.response.body}}. The picker shows exactly what each step produces.

Variables flow forward only — a step can read from the trigger and from steps that run before it on the same path. Renaming a step updates every reference automatically, and saving checks references so a typo or orphan is flagged with the exact step to fix instead of silently sending an empty value.

Decision nodes

Create conditional branches — the workflow follows one path if the conditions match, another if they don't.

Set one up

  1. Add a decision node to your canvas.
  2. Set up one or more conditions.
  3. Choose whether all conditions must be true (AND) or any condition can be true (OR).
  4. Connect the True path (conditions met) and False path (conditions not met) to different nodes.

Available condition fields

FieldWhat you can check
Conversation StatusOpen or Resolved
Conversation Labelswhether specific labels are present or absent
Conversation Channelwhich channel the conversation is on (WhatsApp, Facebook, Instagram)
Conversation Starredwhether the conversation is starred
Message Textthe triggering message — equals, contains, starts with, ends with
24h Reply Windowwhether the WhatsApp 24-hour customer-service window is open
Variablethe value of a variable from earlier in the workflow

Delay nodes

Pause the workflow for a set amount of time before continuing.

Set the delay

Pick a duration and unit:

  • Minutes — quick follow-ups
  • Hours — same-day automation
  • Days — longer sequences

Quick presets — 5 min, 15 min, 30 min, 1 hour, 2 hours, 24 hours, 1 day, 3 days.

Simple API Request nodes

The Simple API Request node calls external services directly — no code required. Add it from the command bar (⌘K); it isn't in the left sidebar.

Configure the request

  • HTTP Method — GET, POST, PUT, PATCH, or DELETE
  • Request URL — must start with http:// or https://
  • Headers — add custom headers like Authorization or Content-Type
  • Request Body — for POST, PUT, and PATCH, the payload to send

Use cases

  • Forward conversation data to a webhook
  • Look up customer info in an external CRM
  • Trigger actions in other tools on specific events
  • Log events to an external monitoring service

Versioning

Each save creates a new version. Only one version is active at a time — that's the one that runs.

  • Save creates a new version without activating it.
  • Publish creates a new version and makes it the active one.
  • Previous versions stay around for review.

Execution settings

Click the settings (gear) icon in the editor toolbar to control how runs behave when something goes wrong.

SettingWhat it does
Automatic retriesRetry a failed run up to 5 times. Each retry restarts the workflow from the beginning, so steps that already ran will run again. Off by default.
Wait between retriesHow long to wait before the first retry. The wait doubles after each attempt — 1 minute becomes 2, then 4.
Continue on step failureKeep going when an action or API request fails, instead of stopping the run. The failed step stays visible in run history.
Error workflowA workflow to run whenever this one fails for good (after all retries). Useful for alerting a channel or calling an external service.
Run timeoutA wall-clock budget for each run, including time spent in delay steps. Runs past the budget are marked failed.

Build an error workflow

  1. Create a new workflow with the Workflow Error trigger.
  2. Add steps — for example, a Simple API Request that posts to your alerting tool.
  3. Publish so it's Active.
  4. In any other workflow's settings, select it under Error workflow.

The error workflow receives failure details as variables — {{trigger.failedWorkflowName}}, {{trigger.error}}, {{trigger.failedRunNumber}}, and {{trigger.conversationId}} when the failed run involved a conversation. Error workflows never trigger other error workflows, so a broken alert can't cascade.

Test a workflow

Before going live:

  1. Click Test in the editor toolbar.
  2. A modal opens with sample data based on the trigger type (conversation ID, status, labels, channel, message text, etc.).
  3. Edit the sample values to match your test scenario.
  4. Click Run.
  5. Open the Runs page to see execution details and step-by-step results.

Cloodot labels test executions separately from production runs so they're easy to tell apart.

Execution history

Click Runs to see every execution. The list updates live while runs are in progress.

Each execution shows:

  • Status — Pending, Running, Completed, Failed, or Cancelled
  • Trigger data — the event that started the run
  • Timing — start and end times
  • Error details — what went wrong on failure
  • Step details — expand to see what happened at each node

Retry and cancel runs

  • Retry — open a failed run's menu or detail view to retry. The retry restarts the workflow with the same trigger data and shows up as a new run with an attempt counter.
  • Cancel — pending and running executions can be cancelled. No further steps execute after cancellation.

Execution modes

  • Production — real executions triggered by live events
  • Test — runs you launched manually from the editor
  • Manual — manually triggered executions

Export and import workflows

Move workflows between organizations or keep your own backups with JSON export and import.

  • Export — open a workflow's row menu and choose Export JSON. The file contains steps, connections, and execution settings. It never includes anything tied to your organization — no IDs, no webhook secrets, no error-workflow references.
  • Import — click Import at the top of the Workflows page and pick a .workflow.json file. The workflow arrives as a draft.

Review before publishing

Imported steps that reference things specific to the source organization — labels, team members, AI personas — need to be re-pointed at your own. The editor highlights unconfigured steps so they're easy to spot.

Workflow examples

Here are a few common patterns to get you started.

Auto-assign by channel

Route WhatsApp conversations to a specialist:

Trigger: New Conversation
→ Decision: Channel is WhatsApp?
  → True: Assign to User (WhatsApp team lead)
  → False: Assign to AI (General support persona)

Delayed follow-up

Send a follow-up if a conversation stays open:

Trigger: New Conversation
→ Send Message ("Thanks for reaching out! We'll be with you shortly.")
→ Delay: 1 hour
→ Decision: Conversation still open?
  → True: Send Message ("Just checking in — is there anything else we can help with?")

Smart labeling and escalation

Detect urgent messages and route them appropriately:

Trigger: New Conversation
→ Decision: Message contains "urgent"?
  → True: Add Label (Urgent) → Assign to User (Senior agent)
  → False: AI Extraction → Assign to AI

Notify an external system

Send conversation data to a webhook when resolved:

Trigger: Conversation Resolved
→ Fetch API: POST to your webhook URL with conversation details

Tips for reliable workflows

  • Start simple — one trigger, one or two actions, then add complexity.
  • Test before publishing — always run a test to confirm things work as expected.
  • Use descriptive names — clear names make workflows easy to find later.
  • Watch run history — check the Runs page regularly to catch failures early.
  • Lean on labels — labels make great building blocks for decisions and organization.
  • AI Agent — configure the AI personas your workflows can assign to
  • Labels — create labels to use in conditions and actions
  • Skill Sets — build custom skills for your workflows
  • Contacts & Segments — the contacts your workflows interact with

On this page