Response Workflows are AI-powered automations that produce personalized, context-aware replies in Zendesk. This tutorial shows how to design effective workflows, use placeholders, add conditional logic, and decide when to run automatically versus manually.
Table of Contents
- What are Response Workflows?
- Understanding Placeholder Types
- Creating Your First Workflow
- Using Zendesk Data in AI Prompts
- Advanced Conditional Logic
- Background vs. Manual Execution
- Common Patterns and Examples
- Troubleshooting
- Best Practices
- Advanced Tips
- Getting Started Checklist
- Need Help
What are Response Workflows?
Response Workflows combine:
• Static text (greetings, signatures)
• Zendesk placeholders (ticket, requester, custom fields)
• AI-generated content (guided by your instructions and context)
• External data (for example, Shopify order details)
Static Text Is Sent Verbatim
Just like a macro, text not provided in a Prompt Block
Tips
• Put reusable, compliance-sensitive copy in static text to guarantee exact wording.
• Use placeholders only where values must change; use AI placeholders [[...]] only where you want the AI to write or transform text.
Understanding Placeholder Types
Response Workflows support three placeholder types. They resolve in this order before sending the reply.
- Zendesk placeholders: {{...}}
Pulled directly from the ticket and resolved before the AI runs.
Examples:
•{{ticket.id}}(Ticket number)
•{{ticket.subject}}(Subject line)
•{{ticket.tags}}(Comma-separated tags)
•{{ticket.requester.first_name}}(Requester’s first name)
•{{ticket.ticket_field_123456}}(Custom field by ID)
Tip: For a complete list, see the Zendesk Placeholder Reference Guide.
- AI placeholders: [[...]]
Generated by the AI from your instructions and the resolved ticket context.
Example:
•[[ORDER_STATUS_RESPONSE]] - External placeholders: [[shopify...]]
Resolved from connected systems such as Shopify.
Examples:
•[[shopify.order.number]]
•[[shopify.order.status]]
•[[shopify.customer.email]]
•[[shopify.order.tracking_number]]
Tip: For the full set of external fields, see the Shopify Placeholder Reference Guide.
Creating Your First Workflow
Example: order status inquiry
Click on the Stylo Smile in the Wysiwyg toolbar and then "AI prompt" then
INSTRUCTIONS
You are a customer service representative helping with order inquiries.
Write a friendly, professional reply about the customer’s order status.
REPLY TEMPLATE
Hi {{ticket.requester.first_name}},
[[ORDER_STATUS_RESPONSE]]
Best regards,
Customer Service Team
How this runs
- {{ticket.requester.first_name}} and {{ticket.subject}} resolve first.
- The AI sees the resolved data (for example, “Customer name: John” and “Ticket subject: Where is my order #12345?”).
- The AI generates [[ORDER_STATUS_RESPONSE]].
- The final reply includes the personalized content.
Using Zendesk Data in AI Prompts
Incorrect
INSTRUCTIONS
Generate a greeting based on customer name {{ticket.requester.first_name}}Why this fails: The placeholder may not be reliably available to the AI if it’s embedded in a sentence without clear context.
Correct
Customer name: {{ticket.requester.first_name}}
INSTRUCTIONS
Use the customer name provided above to generate a personalized greeting.Real-world example: regional team routing
INSTRUCTIONS
You are creating a personalized greeting based on regional tags in a ticket.
Current ticket tags: {{ticket.tags}}
Rules
• Look for exactly one of these tags: region1, region2, region3, region4, region5.
• Produce a greeting in this format: Hi [Department] [Region] Team.
• If none of the tags appear, use: Hi [Department] Team.
Mappings
• region1 → Hi [Department]
• region2 → Hi [Department]
• region3 → Hi [Department]
• region4 → Hi [Department]
• region5 → Hi [Department]
Store identification logic
• Detect store numbers (3–4 digits, formats like “Store 123” or “#123”).
• If found: Store [NUMBER] — Thank you for sending over these requests!
• If not found: Store Team — Thank you for sending over these requests!
REPLY TEMPLATE
[[GREETING]]
Could you please review the items in the request and make any needed adjustments?
If no changes are needed, please provide the requester with relevant context or clarification.
If you have questions about adding or removing items, contact support@example.comAdvanced Conditional Logic
You can restrict when a workflow runs using conditions.
Tag-based conditions
• Require specific tags to be present.
• Exclude tickets that contain certain tags.
Channel restrictions
• Only email, only chat, or exclude API-created tickets.
• Use different workflows per channel if needed.
Custom field conditions
• Trigger on priority, customer type, product, or any custom field.
• Combine multiple field conditions for precision.
Example: priority-based response time
INSTRUCTIONS
Customer priority: {{ticket.priority}}
Custom urgency: {{ticket.ticket_field_123456}}
Based on priority and urgency, select one:
• High: We’ll respond within 2 hours.
• Normal: We’ll respond within 24 hours.
• Low: We’ll respond within 48 hours.
REPLY TEMPLATE
Hi {{ticket.requester.first_name}},
Thank you for contacting us. [[PRIORITY_RESPONSE]]
We appreciate your patience.
Best regards,
Support Team
Background vs. Manual Execution
Manual execution
• An agent clicks to run the workflow.
• Works even if some placeholders require agent input.
• Best for complex cases that need human judgment.
Background execution (automatic)
• Runs automatically when a ticket arrives and conditions match.
• Auto-send requirements:
– All placeholders resolve successfully.
– The workflow passes quality checks.
– Background processing is enabled in your settings.
Background restrictions (typical defaults, contact support@askstylo.com to discuss removing if necessary)
• API channel: Usually disabled by default for safety.
• One public comment: Ticket should have a single public comment.
• End-user origin: The last comment must be from an end user.
• No unresolved placeholders: Any unresolved field prevents sending.
Common Patterns and Examples
- Dynamic greeting by customer data
INSTRUCTIONS
Name: {{ticket.requester.first_name}}
Organization: {{ticket.organization.name}}
Customer type: {{ticket.ticket_field_987654}}
Create a greeting matched to the customer type and organization.
REPLY TEMPLATE
[[PERSONALIZED_GREETING]]
How can we help you today?- Order status with Shopify integration
INSTRUCTIONS
Order number: [[shopify.order.number]]
Status: [[shopify.order.status]]
Tracking: [[shopify.order.tracking_number]]
Generate a clear status update.
REPLY TEMPLATE
Hi {{ticket.requester.first_name}},
[[ORDER_UPDATE]]
Track your order here: [[shopify.order.tracking_url]]
Thanks!- Technical escalation
INSTRUCTIONS
Subject: {{ticket.subject}}
Priority: {{ticket.priority}}
Customer: {{ticket.requester.name}}
Organization: {{ticket.organization.name}}
Produce a concise escalation summary for engineering.
REPLY TEMPLATE
Escalation: Ticket {{ticket.id}}
Customer: {{ticket.requester.name}} ({{ticket.organization.name}})
Priority: {{ticket.priority}}
[[TECHNICAL_SUMMARY]]
Next steps: [[RECOMMENDED_ACTION]]Troubleshooting
Problem: A placeholder appears literally in the reply (for example, “Hi {{ticket.requester.first_name}}”).
Fix: Check the placeholder syntax and confirm the field exists on the ticket.
Problem: The workflow does not auto-send.
Fix: Verify background processing is enabled, confirm ticket meets channel and comment restrictions, ensure no unresolved placeholders, and check tag or field conditions.
Problem: The AI cannot “see” Zendesk data.
Fix: Put Zendesk placeholders outside the instruction block and reference them in the instructions. Example:
Customer name: {{ticket.requester.first_name}}
INSTRUCTIONS
Use the customer name above to personalize the greeting.
Problem: Custom fields are not resolving.
Fix: Confirm the field ID ({{ticket.ticket_field_123456}}), ensure the field has a value, and for dropdowns use the option title placeholder ({{ticket.ticket_field_option_title_123456}}) when you need the label.
Best Practices
Template structure
INSTRUCTIONS
• Provide clear context and relevant data.
• Give specific instructions and examples when useful.
REPLY TEMPLATE
• Compose the final message with placeholders.
Write specific instructions
• Prefer precise asks (for example, “Write a 2–3 sentence apology with a next step”).
• Include relevant ticket context.
• Provide an example if quality is critical.
• State exclusions (for example, “Do not mention internal systems or tags”).
Placeholder tips
• Test with real tickets.
• Decide how to handle missing data (fallbacks or manual runs).
• Use descriptive AI placeholder names (for example, [[GREETING]], [[ORDER_UPDATE]]).
Quality assurance
• Test edge cases: empty fields, special characters, and multilingual content.
• Review drafts for tone, accuracy, and brand voice.
• Monitor unresolved placeholders and address recurring failures.
Maintenance
• Audit monthly: performance, accuracy, and usage.
• Update conditions as patterns change.
• Archive unused workflows to keep things clean.
Advanced Tips
Sentiment-aware responses
INSTRUCTIONS
Ticket tags: {{ticket.tags}}
If tags include “frustrated” or “angry,” use extra empathy and offer escalation options.
If tags include “compliment,” acknowledge their positive feedback.
Custom-field-driven tone
INSTRUCTIONS
Customer tier: {{ticket.ticket_field_option_title_111111}}
Account status: {{ticket.ticket_field_222222}}
Prior interactions: {{ticket.ticket_field_333333}}
Adjust formality and detail based on customer tier and status.
Getting Started Checklist
- Plan the workflow
• Define the use case (for example, order status, escalation).
• Identify the Zendesk data you need.
• Choose manual or background execution. - Build the structure
• Write clear instructions for the AI.
• Add required placeholders.
• Draft the reply template. - Test thoroughly
• Use real tickets.
• Confirm every placeholder resolves.
• Review AI output for accuracy and tone. - Set conditions
• Define trigger tags and field rules.
• Configure channel restrictions.
• Enable background processing if appropriate. - Monitor and refine
• Track unresolved placeholders and failures.
• Gather feedback from agents.
• Iterate to improve quality and coverage.
Need Help?
• Zendesk Placeholder Reference Guide: full list of ticket, requester, and custom fields.
• Shopify Placeholder Reference Guide: full list of order and customer fields.
• Manual Mode: always test in manual mode before enabling background execution.
• Support: contact support@askstylo.com for complex conditions, integrations, or QA reviews.
Comments
0 comments
Please sign in to leave a comment.