Use the following built-in functions to get user data.

Get user channel

getUserChannel returns the platform channel the user is currently communicating on. This function returns:

  • lp_sms for SMS
  • lp_web for Web
  • lp_inapp for In-app SDK
  • lp_whatsapp for WhatsApp`
  • lp_rcs for RCS
  • lp_abc for Apple Business Chat, now called Apple Messages for Business
  • lp_fb for Facebook and Instagram
  • lp_viber for Viber
  • lp_line for LINE
  • lp_twitter for Twitter, now called X
  • lp_voice for Voice
  • lp_kakaotalk for KakaoTalk
  • lp_wechat for WeChat
  • twilio_sms for Twilio SMS
  • sms for SMS
  • web for Web
  • inapp for In-application

The "lp_" prefix indicates the LivePerson platform.

Function Name Arguments Returns
getUserChannel() None lp_sms, lp_web, etc. See above.

Example

var channel = botContext.getUserChannel();
botContext.printDebugMessage("channel used by the user is: " + channel);

Get user platform ID

getUserPlatformId is used to get the user’s unique ID that's valid only within the LivePerson Conversation Builder bot platform. This is the ID by which the bot identifies the user.

This scripting function isn't commonly used. However, it is used by those currently using the Agent Escalation API.

Function Name Arguments Returns
getUserPlatformId() None string: unique user ID within Conversation Builder

Example

// get the user’s ID within CB
var userId = botContext.getUserPlatformId();
// display the results…
botContext.printDebugMessage('The userPlatformId = ' + userId);

Get authenticated customer info

getLPUserPersonalInfo and getLPCustomerInfo return authenticated customer information. You can attempt to see if either method returns true or not. If the visitor is authenticated (typically they would set personal or customer info being logged in), you can access the Personal Info or Customer Info object array.

Function Name Arguments Returns
getLPUserPersonalInfo() See below for accessing attributes personal info object or nothing; Note: The address and language attributes aren't returned.
getLPCustomerInfo() See below for accessing attributes customer info object or nothing

Personal info example

This is an example JSON object for the Personal Info. Keep in mind that all fields might not be available for your conversation. In addition, one of the following fields (firstname, lastname, company) must be populated for this object to return; otherwise, it will be null.

{
    "type": "personal",
    "personal": {
        "firstname": "John",
        "lastname": "Doe",
        "age": {
            "age": 34,
            "year": 1980,
            "month": 4,
            "day": 1
        },
        "contacts": [
            {
                "email": "myname@example.com",
                "phone": "+1 555-333-7777",
                "phoneType": "HOME"
            }
        ],
        "gender": "MALE",
        "company": "company"
    }
}

Here is how you might use the getLPUserPersonalInfo() method in JavaScript to check for a user’s first and last name.

var personalInfo = botContext.getLPUserPersonalInfo();
botContext.printDebugMessage('PERSONAL INFO:'+personalInfo);
if(personalInfo){
    var fullName = personalInfo.firstname+" "+personalInfo.lastname;
    botContext.printDebugMessage('Full Name: '+fullName);
    botContext.setBotVariable("fullName",fullName,true,false);
}

Customer info example

Here is an example JSON object for the Customer Information.

{
    "type": "ctmrinfo",
    "info": {
        "companyBranch": "test",
        "ctype": "vip",
        "customerId": "138766AC",
        "balance": -400.99,
        "currency": "USD",
        "socialId": "11256324780",
        "imei": "99887766554433",
        "userName": "user000",
        "companySize": 500,
        "accountName": "bank corp",
        "role": "broker",
        "lastPaymentDate": {
            "day": 15,
            "month": 10,
            "year": 2014
        },
        "registrationDate": {
            "day": 23,
            "month": 5,
            "year": 2013
        },
        "storeNumber": "123865",
        "storeZipCode": "20505"
    }
}

Here is how you might use the getLPCustomerInfo() method in JavaScript to check for a user’s customerId.

var customerInfo = botContext.getLPCustomerInfo();
if(customerInfo){
    var customerId = customerInfo.customerId;
    botContext.printDebugMessage('customerId: '+customerId);
    botContext.setBotVariable("customerId",customerId,true,false);
}