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.

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."

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.