Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Content Zone
Table of Contents

Prerequisites

To obtain the specifics of the Live Agent connection, contact support@orbita.ai. The serverURL, organizationId, deploymentId, and buttonId will be provided by the team.

Experience Manager

ChatBot Settings

  • Click the ChatBot Settings under the Develop menu on the left navigation.

  • Choose an existing chatbot setting or create a copy of the Default Bot settings.

  • Add the below code snippet under the Settings tab.

Code snippet:

Code Block
"liveAgent": {
   
    "sfchoursOfOperation": {
   
        "serverURLtimezone": {server URL},  //String
            "organizationId": {Organization ID},  //String
            "deploymentId": {Deployment ID}, //String"America/New_York",
             "buttonIddays": {Buttong ID},  //String
            "messagesmonday": {
                "ChatRequestSuccessstart": "Waiting for the agent to accept your request14",
                "ChatRequestUnavailableend": "I'm so sorry, all agents are offline. The hours of our agents are 8:00AM to Midnight EST. Would you like to give me your contact information and I can have an agent call back you? Is there something I could help you with?",
 20:20"
            },
              "ChatEstablishedtuesday": "Agent accepted your request",{
                 "QueueUpdatestart": "Looks like there is a little bit of a wait. Feel free to wait or if you want, you can fill out a Contact Me form and we'll reach out to you once an agent is free.12",
                "ChatRequestFailend": "I'm so sorry, all agents are busy at this time. Would you like to give me your contact information and I can have an agent call you back?",
                "ChatEnded": "Hi. Me again. Just wanted to see how things went with "
            }23:40"
            },
        }     }

...

Property

...

Description

...

ChatRequestSuccess

...

Defines the content to show when the user triggers the Live Agent connection.

...

ChatRequestUnavailable

...

When there is no active Live Agent available to connect with or if the request is rejected, this property specifies the content that will be displayed.

...

ChatEstablished

...

When the Live Agent connection request is approved, this property specifies the content that will be shown.

...

QueueUpdate

...

Defines what the user sees when waiting to be connected to a Live Agent.

...

ChatRequestFail

...

When the Live Agent does not respond to the connection request, this property specifies the content that should be displayed.

...

ChatEnded

...

When the Live Agent reconnects after an unforeseen connection disconnect, this property specifies the content that will be shown.

Adaptive Card

  • Please import the below code as a new Adaptive Card.

  • Go to Adaptive Cards under the Design menu on the left navigation panel.

  • Click on Create an Adaptive Card button.

  • Save and go back to the listing screen.

  • Click on the 3-dot menu and click Import action.

Code snippet:

Code Block
{
    "type": "adaptivecard",
    "template": {
 "wednesday": {
      "type": "AdaptiveCard",         "$schemastart": "http://adaptivecards.io/schemas/adaptive-card.json",
        "body": [
            {14",
                  "bleedend": true,
                "items20:20":
[                     {
                        "type": "ColumnSet",
 },
                      "columns": [
                            {
              "thursday": {
                 "itemsstart": [
                                    {
                                        "type": "Input.Text",
                  "12",
                     "isRequiredend": true,
                                        "errorMessage": "Enter First Name","23:40"
            }
        }
    },
               "id": "firstName",
                     "sfc": {
                  "placeholder"serverURL": "First Name"
                                    }
                                ],
{server URL}, //String
                               "type"organizationId": "Column",
                                "width": "stretch"
                            },
{Organization ID}, //String
                           {
                                "items": [
                                    {
                                        "type": "Input.Text",
                         "deploymentId": {Deployment ID}, //String
              "id"buttonId": "lastName",
                                        "isRequired": true,
                {Buttong ID}, //String
                       "errorMessage"messages": "Enter{
Last Name",                                         "placeholder"ChatRequestSuccess": "LastWaiting Name"for the agent to accept                                 }
                                ],
                                "type": "Column",
           your request",
                    "width"ChatRequestUnavailable": "stretch"I'm                             }
                        ]
                    }
                ],
                "type": "Container",
                "style": "emphasis"
            },
            {
                "placeholder": "Email",
so sorry, all agents are offline. The hours of our agents are 8:00AM to Midnight EST. Would you like to give me your contact information and I can have an agent call back you? Is there something I could help you with?",
               "errorMessageChatEstablished": "InvalidAgent emailaccepted address",
                "type": "Input.Text",
   your request",
            "idQueueUpdate": "email",Looks like there is a little bit of          "regex": "^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$",
                "isRequired": true
            },
            {
                "placeholder": "Phone"a wait. Feel free to wait or if you want, you can fill out a Contact Me form and we'll reach out to you once an agent is free.",
                "errorMessageChatRequestFail": "InvalidI'm phoneso number"sorry, all agents are busy at            "type": "Input.Text",
                "id": "phonethis time. Would you like to give me your contact information and I can have an agent call you back?",
                "regexChatEnded": "^(\\+\\d{1,2}\\s?)?1?\\-?\\.?\\s?\\(?\\d{3}\\)?[\\s.-]?\\d{3}[\\s.-]?\\d{4}$",
                "isRequired": trueHi. Me again. Just wanted to see how things went with "
        }
    },
            {
                "actions": [
                    {
                        "data": {
                            "message": "Start Chatting Message",
                            "eventName": "A-Live-Agent"
                        },
                        "title": "Talk to a person",
                        "style": "positive",
                        "type": "Action.Submit"
                    }
                ],
                "id": "submit",
                "type": "ActionSet"
            }
        ],
        "version": "1.3"
    },
    "templateData": {},
    "hostAppName": {
        "name": "default"
    }
}
}

Property

Description

ChatRequestSuccess

Defines the content to show when the user triggers the Live Agent connection.

ChatRequestUnavailable

When there is no active Live Agent available to connect with or if the request is rejected, this property specifies the content that will be displayed.

ChatEstablished

When the Live Agent connection request is approved, this property specifies the content that will be shown.

QueueUpdate

Defines what the user sees when waiting to be connected to a Live Agent.

ChatRequestFail

When the Live Agent does not respond to the connection request, this property specifies the content that should be displayed.

ChatEnded

When the Live Agent reconnects after an unforeseen connection disconnect, this property specifies the content that will be shown.

Sample Project setup

A basic flow for settings up the SalesForce Live Agent is given flow. Please import this JSON at the project level.

View file
nameSalesForce Live Agent project sample.zip

  • Importing the above project JSON will get us the needed data for the Intents, Flow studio, Experience Designer flows and the Adaptive Cards.

  • After import, deploy the Google Agent.

Filter by label (Content by label)
showLabelsfalse
max5
showSpacefalse
cqllabel = "live-agent"