Coding Language Examples
The Example Experience
{
"name": "Acme Customer Support",
"welcomeMessageExecute": "greeting",
"workflows": [
{
"name": "greeting",
"intents": ["greeting"],
"expressions": [
"hello",
"hi",
"hey",
"good morning",
"good afternoon",
"start"
],
"actions": [
{
"name": "send-welcome",
"send": {
"message": {
"text": "Welcome to Acme Support! How can I help you today?",
"quickReplies": [
{
"type": "text",
"title": "Track an order",
"payload": "track_order",
"execute": "order-tracking"
},
{
"type": "text",
"title": "Start a return",
"payload": "start_return",
"execute": "returns"
},
{
"type": "text",
"title": "Talk to an agent",
"payload": "human_agent",
"execute": "escalate-to-human"
}
]
}
}
}
]
},
{
"name": "order-tracking",
"intents": ["track_order", "order_status"],
"expressions": [
"where is my order",
"track my package",
"order status",
"when will my order arrive",
"has my order shipped"
],
"actions": [
{
"name": "ask-order-number",
"send": {
"message": {
"text": "Please enter your order number (format: ACM-XXXXX)."
}
}
},
{
"name": "capture-order-number",
"waitFor": {
"data": "text",
"content": "orderNumber",
"timeout": "3m",
"executeOnTimeout": "order-number-timeout"
}
},
{
"name": "validate-order-number",
"validation": {
"content": "orderNumber",
"pattern": "^ACM-\\d{5}$",
"executeOnError": "invalid-order-number"
}
},
{
"name": "fetch-order-status",
"send": {
"request": {
"url": "https://api.acme.com/v1/orders/{orderNumber}",
"method": "GET",
"headers": {
"Authorization": "Bearer {apiToken}",
"Accept": "application/json"
},
"response": {
"status": "orderStatus",
"carrier": "carrierName",
"estimatedDelivery": "deliveryDate"
},
"retries": 2,
"fallback": "order-lookup-failed"
}
}
},
{
"name": "send-order-status",
"send": {
"message": {
"text": "Order {orderNumber}: {orderStatus}\nCarrier: {carrierName}\nEstimated delivery: {deliveryDate}",
"quickReplies": [
{
"type": "text",
"title": "Track shipment",
"payload": "track_shipment"
},
{
"type": "text",
"title": "Something else",
"payload": "main_menu",
"execute": "greeting"
}
]
}
}
}
]
},
{
"name": "escalate-to-human",
"intents": ["human_agent", "speak_to_agent"],
"expressions": [
"talk to a person",
"speak to an agent",
"human please",
"I need help from a person"
],
"actions": [
{
"name": "send-escalation-message",
"send": {
"message": {
"text": "Connecting you to a support agent now. Average wait time is 2 minutes."
}
}
},
{
"name": "set-priority-high",
"updateSettings": {
"conversation": {
"priority": "high"
}
}
},
{
"name": "tag-for-agent",
"assignTags": ["needs-human", "escalated"]
},
{
"name": "notify-support-team",
"send": {
"email": {
"to": "[email protected]",
"subject": "Escalation request from {contactPhone}",
"text": "A customer has requested to speak with an agent.\nPhone: {contactPhone}\nTime: {currentTimestamp}"
}
}
}
]
}
]
}Deploying the Experience
Last updated
Was this helpful?

