Documentation Index Fetch the complete documentation index at: https://docs.duckie.ai/llms.txt
Use this file to discover all available pages before exploring further.
This page provides a complete reference for all node types and condition options available in workflows.
Node Types
Action Node
Executes a tool or external operation.
Configuration:
Field Description Name Display name for this node Tool Which tool to execute Inputs Map data to tool parameters Outputs Define output variable names
Outputs:
Success — Tool executed successfully
Failure — Tool execution failed
Example uses:
Search the knowledge base
Call an external API
Create a Jira ticket
Update a Zendesk ticket
Decision Node
Branches based on a condition.
Configuration:
Field Description Name Display name for this node Condition Expression to evaluate
Condition syntax:
// Equality
order . status == "delivered"
// Comparison
order . total > 100
// Boolean
customer . is_premium
// Contains
order . tags . includes ( "urgent" )
// Multiple conditions
order . status == "delivered" && order . total > 50
Outputs:
Yes — Condition is true
No — Condition is false
AI Decision Node
Uses LLM to make a judgment-based decision.
Configuration:
Field Description Name Display name for this node Prompt What to evaluate Context Additional data to include Options Possible outcomes
Example prompt:
Based on the customer's message and conversation history,
determine if they are satisfied with the resolution provided.
Consider their tone, any explicit statements of satisfaction
or dissatisfaction, and whether their original issue appears resolved.
Options:
Satisfied
Not satisfied
Unclear / needs follow-up
Outputs:
One output per option defined.
Extracts structured data from conversation using AI.
Configuration:
Field Description Name Display name for this node Instructions What to extract Output Schema Structure of extracted data
Example instructions:
Extract the following from the customer's message:
- Order number (format: ORD-XXXXXX)
- Product name mentioned
- Issue type (shipping, quality, wrong item, other)
Output schema:
{
"order_number" : "string" ,
"product_name" : "string" ,
"issue_type" : "string"
}
Outputs:
Success — Extraction completed
Failure — Could not extract required data
Respond Node
Sends a message to the customer.
Configuration:
Field Description Name Display name for this node Message Response template Use AI Allow AI to enhance/personalize
Message template:
Use variables from previous nodes:
Hi {{customer.name}},
Your refund for order {{order.id}} has been processed!
You'll see {{order.refund_amount}} credited to your
{{order.payment_method}} within 5-7 business days.
Is there anything else I can help you with?
Outputs:
Success — Message sent
Failure — Failed to send
Start Node
Entry point for the workflow (automatically added).
Outputs:
Next — Begins workflow execution
End Node
Terminates the workflow.
Configuration:
Field Description Status Success or Failure Summary Optional completion message
Condition Reference
Comparison Operators
Operator Description Example ==Equals status == "active"!=Not equals status != "cancelled">Greater than amount > 100<Less than days < 30>=Greater or equal priority >= 2<=Less or equal attempts <= 3
Logical Operators
Operator Description Example &&AND active && premium||OR urgent || vip!NOT !cancelled
String Operations
Function Description Example .includes()Contains substring email.includes("@gmail").startsWith()Starts with id.startsWith("ORD-").endsWith()Ends with file.endsWith(".pdf").lengthString length message.length > 500
Array Operations
Function Description Example .includes()Contains element tags.includes("urgent").lengthArray length items.length > 0
Null Checks
// Check if value exists
order . tracking_number != null
// Check if value is empty
message != ""
Available Variables
Source Access Pattern Example Conversation conversation.*conversation.latest_messageCustomer customer.*customer.emailPrevious node {node_name}.*lookup_order.orderMetadata metadata.*metadata.source
Conversation Variables
Variable Description conversation.latest_messageMost recent message text conversation.historyFull message history conversation.sourceChannel (zendesk, slack, etc.) conversation.idUnique conversation ID
Static Values
Enter literal values directly:
Strings: "pending"
Numbers: 100
Booleans: true
Best Practices
Node Naming
Use descriptive names: “Check order eligibility” not “Decision 1”
Include the action: “Lookup order in database”
Be consistent across workflows
Error Handling
Always connect Failure outputs
Provide fallback paths for errors
Consider retry logic for transient failures
Testing
Test each path through the workflow
Verify variable mapping works correctly
Check edge cases and error conditions
Next Steps
Create Workflows Build workflows using these nodes
Tools Reference See available tools for Action nodes