Customer service components

human.transfer

This component allows you to transfer control of your bot to a human agent. You can also add a note with relevant information about the customer.

📘

Tip

Use the timeout property if you want to transfer back to the bot in case no agent has answered quickly enough.

transfer:
    component: human.transfer
    properties:
        text: >
            One moment while I transfer you to a live agent who will
            process your credit application. This may take a few minutes...
        assignee: "Inigo Montoya"
        note: |
            Customer wants to apply for a card
            name - {{ user.full_name }}
            email - {{ user.email }}
            dob - {{ user.dob }}
            annual income - {{ user.annual_income }}
transfer:
    component: human.transfer
    properties:
        text: "Transferring to a human."
        note: "The human has 60s to answer."
        timeout: 60  # in seconds
        timeout_flow: agent_timeout
        timeout_data:
            x: 1
            y: 2
            foo: bar

📘

Assignee

Please refer to the particular customer service integration you're using for the proper format of the assignee field and the assignment logic. For example, Intercom supports team and admin names.

FieldDescription
textText to display to user whenOptional Default: null
speechText to speak to the userOptional
Only applies to voice integrations
assigneeString indicating how to assign the conversation.Optional Default: null
1) If null, a random human agent will be assigned - Intercom & Front only
2) If set, the conversation will be assigned to the agent matching the string
departmentAssign the chat to an agent in this department. Used instead of assignee.Optional
Zendesk Chat only
noteThe text of the note displayed to the agent in the customer service softwareOptional Default: null
Markdown is supported by many customer service integrations
timeoutThe amount of time in seconds before cancelling the transfer, and reassigning the conversation back to the bot.Optional Default: null. Maximum value: 1 million
timeout_flowThe flow to invoke on a transfer timeout.Optional
timeout_actionThe action to invoke when starting the timeout flow.Optional Default: null. Advanced use-case.
timeout_dataThe data to pass to the timeout flow.Optional
visitor_detailsA list of Salesforce fields that will be updated or created.

If a field exists, the field will appear in both the transcript details as well as the visitor details.

If the field doesn't exist, the field will only appear in the visitor details.
Optional
Salesforce Live Agent and Zendesk Chat only
chat_endedThis flow will be triggered when the user or agent ends the conversation.Optional
Salesforce Live Agent and Zendesk Chat only
chat_request_successThis flow will be triggered when a chat session has been established with Live Agent. Useful for displaying queue information on first connect.Optional
Salesforce Live Agent only
chat_request_failedThis flow will be triggered if no agent is available, or every agent rejects the conversation.Optional
Salesforce Live Agent only
chat_transferredThis flow will be triggered every time the conversation is transferred to another agent.Optional
Salesforce Live Agent and Zendesk Chat only
queue_updateThis flow will be triggered every time the user's position in the queue changes.Optional
Salesforce Live Agent and Zendesk Chat only
chat_agent_disconnectThis flow will be triggered if the agent disconnects from the session.Optional
Salesforce Live Agent only
connection_updateThis flow will be triggered when the connection status changes, such as when the connection fails.Optional
Zendesk Chat only
chat_establishedThis flow will be triggered when the agent first sends a message.Optional
Zendesk Chat only

For Salesforce Live Agent and Zendesk Chat only, the event handlers listed above each support the following two fields.

FieldDescriptionNotes
flowThe flow to execute when the event occurs.Required for any callback event you want to handle.
dataData to pass to the flow.Optional

Timeout on transfer

If timeout is specified (in seconds), the bot will automatically take back control if a human agent doesn't respond in time. Optionally, you can automatically start a new flow when the timeout occurs using timeout_flow.

397

human.note

Send a note to your agents at various stages in the flow. This can include information collected by the bot about the customer, giving agents more insights.

states:
    send_note:
        component: human.note
        properties:
            text: "They are a great customer! Treat them right."
FieldDescription
textThe text of the note displayed to the agent in the customer service softwareRequired
speechText to speak to the userOptional
Required if using the Google Actions integration

human.close

Close a conversation/ticket from a flow.

states:
    close_chat:
        component: human.close

📘

Currently only supported for Intercom.