Workflow Blocks Library

Workflow Blocks Library

Sebin

Sebin

September 2, 2025

Triggers


Trigger blocks are the starting point of every workflow. They define the exact event that causes a workflow to begin running—whether that’s a customer message, a ticket update, or an approaching SLA deadline.

When a trigger fires, it passes along data (like ticket properties, customer info, message content) to the rest of the workflow. You can then use that data in conditions and action blocks to automate intelligent responses.

Each workflow in SparrowDesk can have one trigger, and multiple workflows can share the same trigger.

Below is a list of all supported trigger types, along with explanations, options, and common use cases.


Workflow Choosing a Trigger.png


1. Conversation Created

What it does:

This trigger runs as soon as a new conversation (ticket) is created in SparrowDesk—whether it's from email, live chat, or future channels like social media.

Must Configure:

  • Channel: Choose which channel(s) to listen to (e.g., Email, Chat).

Optional Add-ons:

  • Conditions: Add filters like source, tag, or customer property.
  • Time Elapsed: Delay the trigger based on how much time has passed since ticket creation.

Common uses:

  • Auto-tag new tickets based on source
  • Assign new tickets to a team
  • Delay auto-responses by 10 minutes for a human feel

2. Conversation Updated

What it does:

This trigger activates when a ticket field is updated—like status, priority, assignee, or a custom field.

Must Configure:

  • Field: Choose the specific field to watch (e.g., “Status”).

Optional Add-ons:

  • Conditions: Filter further based on tag, channel, etc.
  • Time Elapsed: Fire only after a certain time since the last update.

Common uses:

  • When status changes to “Resolved,” wait 24 hours then auto-close
  • When priority is updated to “High,” notify the team lead

Note: This trigger only works when the field is changed—it won't run just because the ticket is opened.


3. Customer Sends First Message

What it does:

Runs the first time a customer sends a message that starts a conversation.

Must Configure:

  • Channel: Select one or more (e.g., Email, Chat).

Optional Add-ons:

  • Keyword Filter: Trigger only if the message contains words like "urgent," "cancel," or "refund".
  • Time of Day: Restrict to business hours or after-hours.

Common uses:

  • Send a greeting or acknowledgment
  • Route to a specific team based on keywords
  • Collect customer information if it’s a first-time visitor

Tip: This is different from “Conversation Created”—this focuses on who sends the message and when.


4. Customer Sends Any Message

What it does:

Fires every time a customer sends a message—after the conversation is already active.

Must Configure:

  • Channel: Select Email, Chat, or both.

Optional Add-ons:

  • Keyword Filter: Look for specific message content
  • Time of Day: Limit replies to working hours

Common uses:

  • Reopen a resolved ticket if the customer replies
  • Send a quick thank-you when customers say "Thanks"
  • Flag specific replies for escalation

5. Customer is Unresponsive

What it does:

Triggers when the customer hasn’t replied for a set period of time after the agent sends a message.

Must Configure:

  • Channel
  • Duration of Inactivity (e.g., 2 hours, 3 days)

System behavior:

  • Only fires if the last message was from the agent
  • Will not trigger just because a customer pauses between messages

Common uses:

  • Follow up when customers don’t respond
  • Remind agents to close stale tickets
  • Reassign idle tickets to another team

6. Agent Sends Reply

What it does:

Triggers when an agent sends a reply in the conversation.

Must Configure:

  • Channel

Optional Add-ons:

  • Author: Filter replies by specific agents or roles

Common uses:

  • Assign the ticket to the replying agent (Self-Assign workflow)
  • Add a tag after the first agent response
  • Update ticket status from "New" to "Open"

7. Agent is Unresponsive

What it does:

Triggers when an agent hasn’t replied to a customer’s message for a set amount of time.

Must Configure:

  • Duration (e.g., 12 hours)
  • Channel

System behavior:

  • Only triggers if the last message was from the customer

Common uses:

  • Alert a manager when response times are slipping
  • Escalate to another agent if there's no reply
  • Apply SLAs for response expectations

8. Internal Note Added

What it does:

Fires when an internal note is added to the conversation.

Must Configure:

  • Channel

Optional Add-ons:

  • Author: Trigger only when notes are added by certain agents

Common uses:

  • Notify team leads when agents document important info
  • Add tags based on internal comments
  • Update status based on internal actions

Run Only When for Targeting

Use conditions to narrow down when this workflow should run. You can add filters such as brand, conversation and contact attributes to target specific scenarios.

  • One or more conditions (e.g., Status is "Pending", Priority is "High")

What happens next:

  • If condition is met → then only workflow will be triggered
  • If not → workflow will not be triggered

Supported objects and fields:

  • Ticket (Status, Priority, Tags, etc.)
  • Contact (Email, Name, Type, etc.)

Example:

  • If priority is "Urgent" → notify manager
  • Else → assign to Tier 1 support


Actions

Action blocks define what your workflow does once it’s triggered. After a trigger fires—and optional conditions are met—action blocks perform specific tasks like updating fields, sending messages, or integrating with third-party tools.

SparrowDesk supports a wide range of action blocks that allow you to fully automate routine tasks, follow-ups, notifications, and data syncs.

You can add multiple actions in a single workflow and place them sequentially, conditionally (using If/Else), or even in parallel.


1. Update Fields

What it does:

Updates ticket, contact, or custom object fields to a new value.

Supported Field Types:

  • Conversation and contact fields

Behaviour:

  • Update one or more fields in a single block
  • Dynamically insert values using variables (e.g., {{contact.name}})
  • Validation based on field type (e.g., email formatting, dropdown option checks)

Common uses:

  • Set status to "Closed" after auto-resolving
  • Add tags like “urgent” or “follow-up”
  • Update custom fields from webhook response

2. Send Reply

What it does:

Sends a message inside the ticket as a reply—via the same channel (Chat or Email) that the conversation is happening on.

Inputs Required:

  • Message body (plain text or rich text with variables)
  • Optional: Attachments (images, PDFs, etc.)

Key Behavior:

  • Automatically uses the correct channel (e.g., Chat reply goes to chat)

Common uses:

  • Auto-response when customer says "hello"
  • Notify customer after a long wait: "Still there?"
  • Send a final message before closing the ticket

3. Send Email

What it does:

Sends an email outside the ticket thread—useful for notifying people who aren’t part of the current conversation.

Inputs Required:

  • Recipient (Requester, CCs, Assignee, specific teammates)
  • Subject
  • Email Body (support for variables)
  • Optional: Attachments

Behavior:

  • Not tied to an open ticket reply
  • Sends from your brand's primary support email address

Common uses:

  • Email a CSAT survey after ticket resolution
  • Notify team leads about escalations
  • Send backup alerts to external teams

4. Add Internal Note

What it does:

Leaves a private note on the ticket visible only to your team (not to the customer).

Inputs:

  • Note content (supports formatting and variables)
  • Optional: Mentions (@teammate) or file attachments

Common uses:

  • Document why a ticket was auto-closed
  • Mention a team member for handoff
  • Add AI-summarized context for escalations

6. Wait (Delay)

What it does:

Pauses the workflow before moving to the next step.

Inputs Required:

  • Duration (in minutes, hours, or days)
  • Max wait: 300 days

Common uses:

  • Wait 3 hours before auto-closing a resolved ticket
  • Pause for 1 day before sending a satisfaction survey
  • Create grace periods between escalation steps

7. Send HTTP Request

What it does:

Sends a customizable HTTP request to any third-party service (CRM, project tools, Slack, etc.).

Supported Methods:

  • GET, POST, PUT, PATCH, DELETE

Inputs:

  • Method and URL (can include variables)
  • Optional: Headers, Body, Authentication (Basic or Bearer)

Extras:

  • Built-in test tool
  • Preview response status (e.g., 200 OK, 401 Unauthorized)

Common uses:

  • Push ticket updates to a CRM
  • Trigger Slack notifications
  • Sync contact info with external systems

Use Conditions as required


Condition blocks let your workflow make decisions.

After a workflow is triggered, you may want it to take different actions based on specific criteria—like the ticket’s status, priority, tags, or the customer’s attributes. Condition blocks help you define this logic.

Inputs Required:

  • One or more conditions (e.g., Status is "Pending", Priority is "High")

What happens next:

  • If condition is met → workflow follows the If (True) path
  • If not → workflow follows the Else (False) path

Supported objects and fields:

  • Ticket (Status, Priority, Tags, etc.)
  • Contact (Email, Name, Type, etc.)
  • SLA state (First Response Breached, Resolution Approaching, etc.)
  • Custom fields (Dropdowns, Dates, Numbers, Text)

Example:

  • If priority is "Urgent" → notify manager
  • Else → assign to Tier 1 support



Add Exit to End Workflow


What it does:

Ends the workflow at that point.

Use Case:

  • When a condition isn't met and no further actions are required
  • To stop the workflow cleanly after a final message or update

Example:

If a customer isn’t marked as VIP, exit the workflow instead of escalating.

Powered By SparrowDesk