Workflows are sequences of actions that let your Duckie agent handle tickets in a predictable, automated way. Workflows give you full control over your agent’s behavior, combining deterministic logic with LLM-driven decision-making.

Purpose of Workflows

The goal of workflows is to let you teach your AI agent to follow your runbook or SOPs.

If you have a defined process for handling a type of ticket — like how to cancel a subscription or how to troubleshoot a product feature — you can use workflows to automate that logic. The AI agent will follow the steps you define, just like a human agent would.

With workflows, you can:

  • Define how your agent responds to different types of tickets
  • Control decision-making using conditions
  • Customize the response and escalation logic of your agent
  • Call Agent Tools to trigger actions (e.g. process refunds, fetch logs)

Key Concepts

Node

The basic building block of a workflow. Each node performs a specific task or decision.

  • Node Input: Data provided to a node (e.g. conversation context, values, previous outputs).
  • Node Output: The result produced by a node that can be used by downstream nodes.

Action Node

Action nodes perform tasks, like sending a message, searching your knowledge base, or calling an Agent Tool. Action nodes perform tasks like:

  • Respond: Send a message to the customer (LLM-generated or predefined).
  • Knowledge Search: Search your connected knowledge sources.
  • Escalate: Notify your support team and optionally send an update to the customer.
  • LLM Call: Call the LLM with a specific prompt and context.
  • App-specific actions: Call app-specific actions like creating a Zendesk ticket, route a ticket to a Slack channel, etc.
  • Custom Agent Tools: Call agent tools you created.

Conditional Node

Determine which task to perform next by splitting the workflow path based on specific conditions:

  • AI-Based: Use an LLM to decide the next step (e.g. detect intent from message).
  • Rule-Based: Use a deterministic comparison (e.g. if user message contains certain keywords).

Workflow Node

Calls a sub-workflow (child workflow) to keep your logic modular. Use it to route tickets to different workflows based on intent. For example:

  • A payment workflow for billing issues (e.g. refunds, subscription checks)
  • A product how-to workflow for usage questions
  • A bug report workflow for logging issues and filing tickets

You can have a main workflow that detects the ticket type and ties these sub-workflows together, making your automation modular and easy to manage.

→ Next: How to Create a Workflow