Enhancing the LiveEngage SMS Experience with Twilio Functions Document Version: 3.0 October 2017

Similar documents
Profiles (permissions) Document Version: V1.6 March 2018

LiveEngage Messaging Platform: Security Overview Document Version: 2.0 July 2017

LiveEngage Secure Form. Document Version: 1.2 June 2018

LiveEngage System Requirements and Language Support Document Version: 5.0 February Relevant for LiveEngage Enterprise In-App Messenger SDK v2.

LiveEngage System Requirements and Language Support Document Version: 5.6 May Relevant for LiveEngage Enterprise In-App Messenger SDK v2.

Web Messaging Configuration Guide Document Version: 1.3 May 2018

LiveEngage System Requirements and Language Support Document Version: 6.4 March 2018

Tisio CE Release Notes

Microsoft Dynamics GP. Extender User s Guide Release 9.0

SUPPORT MATRIX. Comtrade OMi Management Pack for Citrix

Creating Your User Account. LANDESK Self-Service Support Portal

Application Note: NTP server access via SiteManag-

x10data Smart Client 7.0 for Windows Mobile Installation Guide

SUPPORT MATRIX. HYCU OMi Management Pack for Citrix

TERMS & CONDITIONS. Complied with GDPR rules and regulation CONDITIONS OF USE PROPRIETARY RIGHTS AND ACCEPTABLE USE OF CONTENT

Miracle Service Meter Center Guide. Last revised: December 17, 2013

Cloud Access Manager SonicWALL Integration Overview

Engagement Attributes Overview Document Version: 1.6 July 2017

BRM Accelerator Release Notes - On Premise. Service Pack

MyCreditChain Terms of Use

WorkPlace Agent Service

Microsoft Dynamics GP. Extender User s Guide

BlackBerry Enterprise Server for Microsoft Exchange

Application Note: Split Public Addresses between WAN and DMZ

Wave IP. Wave Call Classifier Assistant. Marketing Campaign Companion. Quick Start

Mile Terms of Use. Effective Date: February, Version 1.1 Feb 2018 [ Mile ] Mileico.com

CA SiteMinder. Advanced Password Services Release Notes 12.52

Enterprise Chat and Supervisor s Guide, Release 11.5(1)

Terms of Use. Changes. General Use.

App Store Design Specifications v2

Upgrading BankLink Books

HYCU SCOM Management Pack for F5 BIG-IP

TrustGate Identify the ToS bits

Microsoft Dynamics GP Release Integration Guide For Microsoft Retail Management System Headquarters

SpellCheck for Dynamics GP

Agreements & Contracts: Electronic Documents User Agreement CUSTOMER SERVICE SKOWHEGAN SAVINGS

CA SSO. Agent for Oracle PeopleSoft Release Notes. r12.51

Operating Instructions

SiteManager Application Note Setting up an Agent for a custom USB device

DME-N Network Driver Installation Guide for M7CL

Spotlight on SQL Server Enterprise Spotlight Management Pack for SCOM

Cisco Interaction Manager Supervision Console User s Guide

RSA Two Factor Authentication

Setting up the DR Series System on Acronis Backup & Recovery v11.5. Technical White Paper

Bluetooth 4.0 USB Adapter Model

StorTrends 3400 Software Re-Installation Procedure for StorTrends itx (version 2.8)

IPNexus Server Secure Instant Messaging & Integrated Collaboration

ADP Vantage HCM: Manage Time-Off Requests for Employees

Silver Peak. AWS EC-V for Multi- Instance Inbound Load Balancing

CA Cloud Service Delivery Platform

Copyright 2015 YEALINK NETWORK TECHNOLOGY CO., LTD.

Quest Migration Manager for Exchange Resource Kit User Guide

CA DLP. NBA Release Notes. Release 14.0

Huawei OceanStor 6800 V3 Converged Storage Interoperability Matrix

How to Deploy and Use the CA ARCserve RHA Probe for Nimsoft

Trustwave SEG Cloud Customer Guide

Team Approach Synchronization Guide

SMS SERVICE PROVISION

Scribe Monitor App. Version 1.0

Cluster and SVM Peering Express Guide

Table of Contents. Part I About Oxygen Software. Part II Introduction. Part III Data extraction. Part IV Settings. Part V Copyright notes.

hp digital home networking phoneline USB network adapter hn210p quick start guide

User Manual Arabic Name Romanizer Name Geolocation System

Stellar WAB to PST Converter 1.0

Configuring SMS Gateways on GateManager

Title Page. Working with Task Workflows

USER GUIDE. MailMeter. Individual Search and Retrieval. User Guide. Version 4.3.

Network-MIDI Driver Installation Guide

Microsoft Dynamics GP. Purchase Vouchers

Operator s Manual. Telnet Function

ivms-5200 Mobile Surveillance V1.1.0 Port List

Technician Web Portal User Guide

NCD ThinPATH PC Installation Guide and Release Notes

SmartList Builder for Microsoft Dynamics GP 10.0

Installation and Configuration Manual. Price List Utilities. for Microsoft Dynamics CRM Dynamics Professional Solutions Ltd 1 / 14

SAM4 Reset Controller (RSTC)

MERIDIANSOUNDINGBOARD.COM TERMS AND CONDITIONS

One Identity Quick Connect Express

USB Personal Video Recorder. USB Hybrid TV Tuner. (USB2.0 / 1.1 PNP TV Capture Box) UAD-880 User s Guide

Migrating BlackBerry-enabled mailboxes from Microsoft Exchange 5.5 to Microsoft Exchange 2000

Stellar Phoenix Password Recovery For Windows Server. Version 2.0. User Guide

May 2014 Product Shipping Configuration Change Notice

UNIBOX. An Intelligent Network Controller. Knowledge Base: Billing Module

One Identity Password Manager User Guide

BlackBerry Messenger. Version 1.0. User Guide

Bar Code Discovery. Administrator's Guide

CA PMA Chargeback. Release Notes. Release

CA Nimsoft Monitor. Probe Guide for DHCP Server Response Monitoring. dhcp_response v3.2 series

Price List Utilities. For Dynamics CRM 2016

SK hynix Drive Manager Easy Kit. Installation Guide

Cisco Unified Web and Interaction Manager Supervision Console User s Guide

CA Nimsoft Service Desk

Application Note: NetOp Remote Control Agent

How to Show Grouping in Scatterplots using Statistica

Purchase Order Management For Magento 1.x

Application Note Using SiteManager as Web Proxy And/or Mail Relay Server

Stellar Repair for Video

BlackBerry Java Development Environment (JDE)

To set up and use mass mail merge in AccountMate, perform the following steps:

Quest VROOM Quick Setup Guide for Quest Rapid Recovery for Windows and Quest Foglight vapp Installers

Transcription:

Enhancing the LiveEngage SMS Experience with Twilio Functions Document Version: 3.0 October 2017

Contents Introduction... 3 Gateway level enhancements... 3 Off-hours messages... 3 TCPA or SLA message on first inbound conversation... 4 Blacklisting... 5 Regular expression masking... 7 2

Introduction This document delves into some of the Twilio functions that will enable your brand to enhance the SMS experience through LiveEngage. Gateway level enhancements LiveEngage leverages Twilio SMS as one of its out of the box messaging connectors. Twilio offers a feature called Functions which allows your brand to create and run snippets of code on receipt of a message from the consumer. The following sections of this article cover a series of sample use cases on how Twilio functions can be leveraged to enhance the consumer s messaging experience. All of the code snippets below are examples that are intended as a starting point for you to design and build your own custom functions. Please ensure you test each function thoroughly before rolling it out to your brand s consumers. Off-hours messages This function has been designed to send an auto response to consumers if their message arrives during off hours. You can create the code to define hours that your agents will be working and check whether an inbound message arrives within those hours. If it arrives during scheduled hours, then the message will be received in LiveEngage. If not, an auto response will be sent back advising the customer that they have messaged during off hours and the consumer s original message will be forwarded into LiveEngage and placed in queue, ready for the next shift. 3

Note: Since the off-hours message is sent outside of LiveEngage, it will not be visible in the conversation in the LiveEngage console. The agent will only see messages the consumer types and messages they type themselves. TCPA or SLA message on first inbound conversation When a consumer first messages the brand, you can use functions to send a message stating the SLA for the phone number/skill they are texting into and/or to provide instructions regarding Stop functionality to assist brands in meeting their TCPA requirements. You can modify the below code to include verbiage that is applicable to your brands policies and standards. This type of message can be combined with off hours messaging, if required. Note: Since these messages are sent outside of LiveEngage, it will not be visible in the conversation in the LiveEngage console. The agent will only see messages the consumer types and messages they type themselves. 4

//Welcome Message exports.handler = function(context, event, callback) { let twiml = new Twilio.twiml.MessagingResponse(); const client = context.gettwilioclient(); const got = require('got'); let tdiff = new Date().getTimezoneOffset() let off = 600 - tdiff /*offset hours x 60 mins*/ let now = new Date().setHours(new Date().getHours() + (off/60)); let h = new Date(now).getHours(); let d = new Date(now).getDay(); let welcomemessage = 'WELCOME_MESSAGE_TEXT'; let filterdate = new Date(); filterdate.setdate(filterdate.getdate()-1); client.messages.list({ datesentafter: filterdate.toisostring(), from: event.from }).then((messages) => { if(messages.length > 1) { twiml.redirect('https://msggw_domain/api/account_num/api/25638322/default/twilio'); } else { twiml.message(welcomemessage); twiml.redirect('https://msggw_domain/api/account_num/default/twilio'); } callback(null,twiml); }); }; Blacklisting Many brands have policies around blocking consumers who use offensive or abusive language when talking with agents. The code below shows a basic example of a hard-coded function with the ability to check for blacklisted numbers (those added into the code) and return an auto message to the consumer if they are have been added to the 'black-list'. A more scalable method for Blacklisting would be to modify this code further to check a list of numbers in a csv file on your servers or a cloud server. Note: Since these messages are sent outside of LiveEngage, it will not be visible in the conversation in the LiveEngage console, the agent will only see messages the consumer types and messages they type themselves. 5

This is a code snippet. Copy and paste me; don t try to replicate me. If you want to highlight something, use this color. //Blacklisting exports.handler = function(context, event, callback) { let twiml = new Twilio.twiml.MessagingResponse(); const msggwdomain = 'https://msggw_domain/api/account_num/default/twilio'; const blacklistmessage = 'BLACK_LIST_MESSAGE'; const blacklist = [ '+1855XXXXXXX', '+1855XXXXXXX', '+1855XXXXXXX' ]; }; if (blacklist.includes(event.from)) { twiml.message(blacklistmessage); } else { twiml.redirect(msggwdomain); } callback(null, twiml); 6

Regular expression masking Many brands choose to mask specific data patterns to prevent consumers from inadvertently sharing data such as account or credit card information in plain text within the body of the conversation. A Twilio function can therefore be created to handle regex masking and regex auto-response. The below example searches for a specific pattern and blanks the pattern within the conversation body. The code can also be used to send an auto-response back to the consumer letting them know that their message has been redacted. Note: Since auto-response messages are sent outside of LiveEngage, it will not be visible in the conversation in the LiveEngage console. The agent will only see messages the consumer types and messages they type themselves. 7

This is a code snippet. Copy and paste me; don t try to replicate me. If you want to highlight something, use this color. //Regex Masking exports.handler = function(context, event, callback) { let twiml = new Twilio.twiml.MessagingResponse(); const got = require('got'); const msggwdomain = 'https://msggw_domain/api/account_num/default/twilio'; const masksensitivedatamessage = 'MASK_DATA_MESSAGE'; let ccregex = /(?!000 666)[0-9]{3}([ -]?)(?!00)[0-9]{2}\1(?!0000)[0-9]{4}$/ig; }; if (event.body.match(ccregex)) { var redactedmessage = event.body.replace(ccregex, "XXX-XX-XXXX"); got.post(msggwdomain, { json: true, body: { Body: redactedmessage, From: event.from, To: event.to } }).then(function(response) { twiml.message(masksensitivedatamessage); callback(null, twiml); }).catch(function(error) { callback(error); }); } else { twiml.redirect(msggwdomain); callback(null, twiml); } This document, materials or presentation, whether offered online or presented in hard copy ("LivePerson Informational Tools") is for informational purposes only. LIVEPERSON, INC. PROVIDES THESE LIVEPERSON INFORMATIONAL TOOLS "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. The LivePerson Informational Tools contain LivePerson proprietary and confidential materials. No part of the LivePerson Informational Tools may be modified, altered, reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), without the prior written permission of LivePerson, Inc., except as otherwise permitted by law. Prior to publication, reasonable effort was made to validate this information. The LivePerson Information Tools may include technical inaccuracies or typographical errors. Actual savings or results achieved may be different from those outlined in the LivePerson Informational Tools. The recipient shall not alter or remove any part of this statement. Trademarks or service marks of LivePerson may not be used in any manner without LivePerson's express written consent. All other company and product names mentioned are used only for identification purposes and may be trademarks or registered trademarks of their respective companies. LivePerson shall not be liable for any direct, indirect, incidental, special, consequential or exemplary damages, including but not limited to, damages for loss of profits, goodwill, use, data or other intangible losses resulting from the use or the inability to use the LivePerson Information Tools, including any information contained herein. 2017 LivePerson, Inc. All rights reserved. 8