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.
Field | Description | |
---|---|---|
text | Text to display to user when | Optional Default: null |
speech | Text to speak to the user | Optional Only applies to voice integrations |
assignee | String 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 |
department | Assign the chat to an agent in this department. Used instead of assignee . | Optional Zendesk Chat only |
note | The text of the note displayed to the agent in the customer service software | Optional Default: null Markdown is supported by many customer service integrations |
timeout | The 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_flow | The flow to invoke on a transfer timeout. | Optional |
timeout_action | The action to invoke when starting the timeout flow. | Optional Default: null. Advanced use-case. |
timeout_data | The data to pass to the timeout flow. | Optional |
visitor_details | A 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_ended | This flow will be triggered when the user or agent ends the conversation. | Optional Salesforce Live Agent and Zendesk Chat only |
chat_request_success | This 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_failed | This flow will be triggered if no agent is available, or every agent rejects the conversation. | Optional Salesforce Live Agent only |
chat_transferred | This flow will be triggered every time the conversation is transferred to another agent. | Optional Salesforce Live Agent and Zendesk Chat only |
queue_update | This flow will be triggered every time the user's position in the queue changes. | Optional Salesforce Live Agent and Zendesk Chat only |
chat_agent_disconnect | This flow will be triggered if the agent disconnects from the session. | Optional Salesforce Live Agent only |
connection_update | This flow will be triggered when the connection status changes, such as when the connection fails. | Optional Zendesk Chat only |
chat_established | This 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.
Field | Description | Notes |
---|---|---|
flow | The flow to execute when the event occurs. | Required for any callback event you want to handle. |
data | Data 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
.
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."
Field | Description | |
---|---|---|
text | The text of the note displayed to the agent in the customer service software | Required |
speech | Text to speak to the user | Optional 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.
Updated about 6 years ago