Articles in this section
Category / Section

Chat Workflow: Automate Actions for Efficient Customer Support

Updated:

BoldDesk Chat Workflows let you automate actions based on conversation events, collect structured customer input through UI blocks, and standardize agent operations across all supported chat sources.

How BoldDesk Triggers Start a Workflow

Workflows can start when specific conversation events occur in BoldDesk. You can easily manage and monitor workflows that execute automatically based on specific events. Ensure seamless execution of tasks, improve efficiency, and maintain control over workflow automation with a structured and intuitive interface. The following are the workflow triggers available in BoldDesk;

Workflow Trigger
Conversation Created Triggered when a customer starts a new conversation.
Conversation Field Updated Occurs when any field in a conversation is updated
Conversation Status Changed Triggers an action when a customer or agent changes the conversation status.
Conversation Assignee Updated Occurs when a conversation is assigned or reassigned to different agents.
SLA Breached Triggered when a conversation breaches its response due or resolution due time.
Transferred From AI to Agent Triggered when a conversation is transferred from an AI bot to a human agent.
Sticky Button Clicked Triggered when a user clicks a sticky button.
Customer Inactivity Triggered when a customer is inactive for the specified time.
Agent Inactivity Triggered when an agent is inactive for the specified time.
Reusable Workflow Allows reusing a predefined workflow within another workflow for automation.

These triggers ensure your automation runs at the right moment, whether a chat begins, a field changes, or an AI handoff occurs.

Understanding Workflow Blocks

Workflow blocks are grouped into categories in the context menu. Each block performs a specific function within a workflow.

User Input Blocks

User Input Blocks collect structured and validated information directly from the customer. These blocks are fully compatible across all BoldDesk Omnichannel chat channels, allowing you to guide conversations consistently and accurately.

Supported User Input Blocks for Omnichannel Chat Workflows
The following table provides an overview of all supported User Input Blocks, along with their purpose and typical usage scenarios.

Input Block Purpose Common Use Cases
Get Date Value Captures a date-only response. Scheduling visits, pickups, booking confirmations.
Get Numeric Value Accepts whole numbers only. Order numbers, ticket IDs, verification codes.
Get Decimal Value Accepts decimal numbers. Payment amounts, weight or size inputs, service fees.
Get Value Matching the Pattern Validates input using a custom pattern (regex). Email validation, phone number formats, account numbering rules.
Get Short Text Input Collects short text responses. First name, last name, brief descriptions, identifiers.
Get Detailed Text Input Collects longer text responses. Issue details, explanations, detailed feedback.

Additional User Input Options

Button-Based Input

  • Get Choice via Buttons
  • Get Choice via Yes/No

Ideal for quick, minimal‑typing decisions that accelerate the workflow.

Customer Identification

  • Get Customer Details

Used to retrieve or confirm customer information before continuing the workflow.

Drop-down Selection

  • Get Choice via Drop-down
  • Get Choices via Multi-Select

Action Blocks (Workflow Operations)

Action Blocks execute the operational steps that move work forward in BoldDesk.

1) Send Message

Purpose: Post a message into the conversation thread—typically visible to the requester, but you can also log an internal note.

Key controls shown:

  • Send as private message (checkbox):
    • Unchecked → posts a public message visible to the requester and agents.
    • Checked → posts an internal/agent‑only note (not visible to the requester). Useful for logging workflow decisions or instructions to agents.
  • Message (rich text area): Compose the text.
    • Supports bold, italics, underline, links, emoji, inline images, and file attachments.
    • Insert Placeholders → personalize content with fields such as Requester Name, Conversation ID, Subject, Group, Agent, Status, Priority, or custom fields. These resolve at run time.

2) Set Conversation Field

Purpose: Update metadata on the conversation so downstream routing, SLAs, or views respond accordingly.

Typical fields you can set:

  • Status: Open, Pending, On Hold, Resolved, Closed (exact options depend on your configuration).
  • Priority: Low/Medium/High/Urgent (or your custom scale).
  • Category: For reporting, routing, and analytics.
  • Tags: Add/remove tags to drive searches, filters, or automations.

3) Trigger Webhook

Purpose: Call an external API to fetch, validate, or push data, then map the response back into your conversation.

The three-step UI:

  1. General Configuration

    • Name & Description: Identify purpose (e.g., “Check fraud score”).
    • Request Type: Typically GET/POST/PUT/PATCH/DELETE.
    • Destination URL (HTTPS required): Must be TLS-secured.
    • Enable Authentication: Supply credentials (e.g., token-based) as headers.
    • Enable Signing: Sign the request (e.g., HMAC) so your endpoint can verify authenticity.
    • Custom Header: Add extra headers (e.g., X-Workflow-Id, X-Brand).
    • Insert Placeholders: Dynamically pass conversation data into URL, headers, or body (e.g., {"email":"{{RequesterEmail}}"}).
  2. Test API Call

    • Run a live test using sample data to validate connectivity, auth, and payload format.
    • Inspect status code, response body, and headers.
  3. Response Mapping

    • Map JSON fields from the response into conversation fields (e.g., response.risk.score → customField.riskScore).

Example payload (POST):

{
  "conversationId": "{{ConversationId}}",
  "email": "{{RequesterEmail}}",
  "subject": "{{Subject}}",
  "tags": "{{Tags}}"
}

4) Trigger Auto-Assignment

Purpose: Automatically assign conversations to agents in a specified group.

Options: You can choose Use an Existing Auto-Assignment or Create New Auto-Assignment

In Create New Auto-Assignment configure the following:

  • Name: Label it meaningfully (e.g., “WhatsApp Billing RR”).
  • Assignment Mode:
    • Round Robin (Even Distribution): Rotates assignments equally among eligible agents.
    • Round Robin (Load Based): Prefers agents with lower active workload.
  • Choose a group that is eligible for auto-assignment:
    • Only agents in that group and marked available are selected.
    • Brand boundaries matter: assignment must align with the conversation’s brand; cross-brand assignment isn’t allowed.

5) Manage Inputs

Purpose: Control who can send messages while the workflow is active.

Toggles:

  • Allow Requester Input: Let the requester continue chatting (e.g., needed during verification steps).
  • Allow Agent Input: Permit agents to respond while automation runs.
  • Allow System Messages: Allow bot/system auto-posts (e.g., SLA reminders or integration notices).

Recommended patterns:

  • Temporarily disable requester input during strict verification (to avoid derailing the flow), then re‑enable after key checks.
  • Enable system messages to keep a clear audit trail of automated actions.
  • When collecting structured data via quick replies/forms, consider disabling agent input to avoid conflicting instructions, then re-enable once data collection completes.

Watch-outs:

  • Over-restricting inputs can feel unresponsive; set a timeout or a fallback message (“We’re almost done—hold on a moment.”).

6) Send Email

Purpose: Send a formal email from the workflow—useful for escalations, internal notices, or external stakeholders not active in the conversation thread.

Fields:

  • To (recipient selector):
    • Can target User(s) (requester or agent emails) or groups—depending on your environment.
  • Subject: Use Insert Placeholders to contextually title the email.
  • Body (rich text): Supports formatting, emojis, and placeholders.

Best practices:

  • Use Send Email for stakeholders who don’t need to log into the portal (finance, logistics, vendor teams).
  • Keep Subject consistent (include Conversation ID) to aid threading.
  • If sending externally, consider clean, customer-safe phrasing (no internal jargon).

Differences vs. “Send Message”:

  • Send Message posts inside the conversation and usually notifies via the chat/portal channel.
  • Send Email delivers via SMTP to the recipient’s mailbox—ideal for people outside the requester/agent loop.

7) Set Assignee

Purpose: Explicitly assign the conversation to a specific agent in a specific group.

Fields:

  • Choose a group that is eligible for assignment: Must match the brand and the workflow’s routing expectations.
  • Choose an agent: Must belong to the selected group and be eligible/active.

Branching

These blocks allow conditional execution:

  • Branch via Conditions
  • Branch via Buttons

Exit

These blocks define workflow termination behavior:

  • End & Start Another Workflow
  • End & Transfer to AI
  • End Current Workflow

Creating & Managing Workflows

1. Navigate to Workflows

  • Go to Admin → Chat → Chat Automation → Workflows.

  • This section allows you to create automation rules for managing live chat conversations.

    Workflow_Triggers_Page.png

2. Create a New Workflow

  • Click Add Workflow under the Conversation Created trigger.

    Option_to_Add_Workflow.png

  • Enter a workflow name (e.g., “Auto-Assign Chats”).

  • Select the brand and chat source, then confirm.

    • The selected brand determines which brand’s conversations this workflow will apply to.
    • The chat source specifies whether this workflow should apply to conversations from live chat, WhatsApp, SMS, or other channels.
  • Once confirmed, a draft workflow will be created.

    Dialog_for_creating_a_new_workflow_2.png

  • After creating the workflow, the Workflow Designer screen opens.

  • Inside the Workflow Designer, add a block by clicking the plus icon.

    Designer_page_in_a_Workflow.png

3. Complete and Activate the Workflow

  • After configuring the required blocks, add one of the Exit Workflow blocks.
  • This ensures the workflow executes properly and completes automation properly.
  • Click the Activate button at the top of the screen.
  • The workflow is now live, and new conversations will be assigned automatically based on your settings.

Best Practices

  • Use Reusable Workflows for common tasks to maintain efficiency.
  • Ensure logical Branching conditions to avoid workflow loops.
  • Keep workflows organized and labeled for easy management.

By leveraging workflows, you can enhance customer experience and automate key processes in your helpdesk chat module.

Frequently Asked Questions (FAQs)

1) Do workflows apply across brands or only within the selected brand?
A. Workflows are brand‑scoped. A workflow created for one brand applies only to that brand’s conversations and channels; cross‑brand assignment or AI transfers aren’t allowed.

2) Can multiple workflows run on the same trigger, and how do I avoid conflicts?
A. No — if more than one active workflow matches an event (e.g., Conversation Created), only the workflow on top will run.

3) What’s the difference between “Send Message” and “Send Email”?
A. Send Message posts inside the conversation (public or private) and notifies via the chat/portal. Send Email sends an SMTP email to external recipients (e.g., finance/vendors) and is best for stakeholders outside the conversation thread.

4) When should I use “Trigger Auto‑Assignment” vs. “Set Assignee,” and what if no agents are eligible?
A. Use Auto‑Assignment to distribute workload (Even or Load‑Based) within a group; use Set Assignee for a specific agent (VIPs/specialists).

5) How do “Manage Inputs” toggles affect User Input steps?
A. Disabling Requester Input prevents the customer from responding—even to prompts—until re‑enabled. Keep System Messages on for audit visibility, and strategically toggle Agent Input to avoid conflicting instructions during structured data capture.

Was this article useful?
Like
Dislike
Help us improve this page
Please provide feedback or comments
Comments (0)
Access denied
Access denied