LivePerson integration summary

Stitch’s LivePerson integration replicates data using the LivePerson Data Access API. Refer to the Schema section for a list of objects available for replication.

LivePerson feature snapshot

A high-level look at Stitch's LivePerson (v1) integration, including release status, useful links, and the features supported in Stitch.

STITCH
Release status

Released on June 28, 2019

Supported by

Singer Community

Stitch plan

Standard

API availability

Available

Singer GitHub repository

singer-io/tap-liveperson

REPLICATION SETTINGS
Anchor Scheduling

Supported

Advanced Scheduling

Supported

Table-level reset

Unsupported

Configurable Replication Methods

Unsupported

DATA SELECTION
Table selection

Supported

Column selection

Supported

Select all

Supported

TRANSPARENCY
Extraction Logs

Supported

Loading Reports

Supported

Connecting LivePerson

LivePerson setup requirements

To set up LivePerson in Stitch, you need:

  • The API key administration privilege in LivePerson. This is required to generate API credentials in LivePerson.


Step 1: Generate LivePerson API credentials

  1. Sign into your LivePerson account.
  2. Click the Campaigns tab at the top of the page.
  3. On the Campaigns page, locate and click on the Data Sources link.
  4. On the Data Sources page, click the API tab.
  5. Click + Add new.
  6. In the Application details section, enter Stitch into the Application name and Developer name fields.
  7. In the Select APIs section:
    1. Click the Show advanced options option.
    2. Open the Data option.
    3. Click the Data Access option. This should also automatically check the Data Access API option.
    4. Click the Engagement History / Messaging Interactions option. This should also automatically check the Interaction History option.
  8. When finished, click the Save button in the lower right corner of the page.

An Authentication details section will display. Leave this page open for now - you’ll need it in the next step.

Step 2: Add LivePerson as a Stitch data source

  1. Sign into your Stitch account.
  2. On the Stitch Dashboard page, click the Add Integration button.

  3. Click the LivePerson icon.

  4. Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.

    For example, the name “Stitch LivePerson” would create a schema called stitch_liveperson in the destination. Note: Schema names cannot be changed after you save the integration.

  5. In the LivePerson App Key field, paste value from the App key field in LivePerson.
  6. In the LivePerson App Secret field, paste the value from the Secret field in LivePerson.
  7. In the LivePerson Access Token field, paste the value from the Access token field in LivePerson.
  8. In the LivePerson Access Token Secret field, paste the value from the Access token secret field in LivePerson.
  9. In the LivePerson Account ID field, enter your LivePerson account ID.

Step 3: Define the historical replication start date

The Sync Historical Data setting defines the starting date for your LivePerson integration. This means that data equal to or newer than this date will be replicated to your data warehouse.

Change this setting if you want to replicate data beyond LivePerson’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.

Step 4: Create a replication schedule

In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.

LivePerson integrations support the following replication scheduling methods:

To keep your row usage low, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.

Step 5: Set objects to replicate

The last step is to select the tables and columns you want to replicate. Learn about the available tables for this integration.

Note: If a replication job is currently in progress, new selections won’t be used until the next job starts.

For LivePerson integrations, you can select:

  1. Individual tables and columns

  2. All tables and columns

Click the tabs to view instructions for each selection method.

  1. In the integration’s Tables to Replicate tab, locate a table you want to replicate.
  2. To track a table, click the checkbox next to the table’s name. A blue checkmark means the table is set to replicate.

  3. To track a column, click the checkbox next to the column’s name. A blue checkmark means the column is set to replicate.

  4. Repeat this process for all the tables and columns you want to replicate.
  5. When finished, click the Finalize Your Selections button at the bottom of the screen to save your selections.
  1. Click into the integration from the Stitch Dashboard page.
  2. Click the Tables to Replicate tab.

  3. In the list of tables, click the box next to the Table Names column.
  4. In the menu that displays, click Track all Tables and Fields:

    The Track all Tables and Fields menu in the Tables to Replicate tab

  5. Click the Finalize Your Selections button at the bottom of the page to save your data selections.

Initial and historical replication jobs

After you finish setting up LivePerson, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.

For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.

Free historical data loads

The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.


LivePerson table reference

agent_activity

The agent_activity table contains info about agent session data. Activity data is a list of sessions that occur from the agent’s login time to their logout time.

Replication Method

Full Table

Primary Key

id

Useful links

agent_activity schema on GitHub

LivePerson API method

_meta

OBJECT

endTime

INTEGER

startTime

INTEGER

agentEmployeeId

OBJECT

agentGroupID

OBJECT

agentID

OBJECT

agentLoginname

OBJECT

agentNickname

OBJECT

agentUsername

OBJECT

concurrentEng

OBJECT

id

STRING

maxConcurrentEng

OBJECT

prevConcurrentEng

OBJECT

prevState

OBJECT

state

OBJECT

long

INTEGER

timestamp

OBJECT

type

OBJECT

long

INTEGER

agent_groups

The agent_groups table contains info about the agent groups in your LivePerson account.

Note: Stitch will query for and replicate deleted agent groups.

Replication Method

Full Table

Primary Key

id

Useful links

LivePerson documentation

agent_groups schema on GitHub

LivePerson API method

deleted

BOOLEAN

description

STRING

id

STRING

isEnabled

BOOLEAN

name

STRING

parentGroupId

STRING

agent_state_distribution

The agent_state_distribution table contains info about the agent state distribution in your LivePerson account.

Replication Method

Full Table

Primary Key

id

Useful links

agent_state_distribution schema on GitHub

LivePerson API method

id

STRING

timestamp

INTEGER

agent_status

The agent_status table contains data for each of the agent statuses in your LivePerson account.

Note: Stitch will query for and replicate deleted agent statuses.

Replication Method

Full Table

Primary Key

id

Useful links

LivePerson documentation

agent_status schema on GitHub

LivePerson API method

deleted

BOOLEAN

enabled

BOOLEAN

id

STRING

state

STRING

text

STRING

engagement_history

The engagement_history table contains info about the engagements in your LivePerson account.

Replication Method

Key-based Incremental

Primary Key

id

Useful links

LivePerson documentation

engagement_history schema on GitHub

LivePerson API method

campaign

OBJECT

behaviorSystemDefault

BOOLEAN

campaignEngagementId

STRING

campaignEngagementName

STRING

campaignId

STRING

campaignName

STRING

engagementAgentNote

STRING

engagementApplicationId

STRING

engagementApplicationName

STRING

engagementApplicationTypeId

STRING

engagementApplicationTypeName

STRING

engagementSource

STRING

goalId

STRING

goalName

STRING

lobId

INTEGER

lobName

STRING

locationId

STRING

locationName

STRING

profileSystemDefault

BOOLEAN

visitorBehaviorId

STRING

visitorBehaviorName

STRING

visitorProfileId

STRING

visitorProfileName

STRING

coBrowseSessions

OBJECT

coBrowseSessionsList

ARRAY

agentId

STRING

duration

INTEGER

endReason

STRING

endTime

DATE-TIME

endTimeL

INTEGER

interactive

BOOLEAN

sessionId

STRING

startTime

DATE-TIME

startTimeL

INTEGER

type

STRING

id

STRING

info

OBJECT

accountId

STRING

agentDeleted

BOOLEAN

agentFullName

STRING

agentGroupId

STRING

agentGroupName

STRING

agentId

STRING

agentLoginName

STRING

agentNickName

STRING

alertedMCS

INTEGER

brandId

STRING

browser

STRING

channel

STRING

chatDataEnriched

STRING

chatMCS

INTEGER

chatRequestedTime

DATE-TIME

chatRequestedTimeL

INTEGER

chatStartPage

STRING

chatStartUrl

STRING

closeReason

STRING

closeReasonDescription

STRING

conversationId

STRING

csatRate

INTEGER

device

STRING

duration

INTEGER

endReason

STRING

endReasonDesc

STRING

endTime

DATE-TIME

endTimeL

INTEGER

ended

STRING

engagementId

STRING

engagementSequence

STRING

engagementSet

STRING

firstConversation

BOOLEAN

interactive

STRING

isAgentSurvey

STRING

isInteractive

STRING

isPartial

BOOLEAN

isPostChatSurvey

STRING

isPreChatSurvey

STRING

latestAgentFullName

STRING

latestAgentGroupId

INTEGER

latestAgentGroupName

STRING

latestAgentId

STRING

latestAgentLoginName

STRING

latestAgentNickname

STRING

latestQueueState

STRING

latestSkillId

INTEGER

latestSkillName

STRING

mcs

INTEGER

operatingSystem

STRING

sharkEngagementId

STRING

skillId

STRING

skillName

STRING

source

STRING

startReason

STRING

startReasonDesc

STRING

startTime

DATE-TIME

startTimeL

INTEGER

status

STRING

visitorId

STRING

visitorName

STRING

lineScores

ARRAY

lineRawScore

INTEGER

lineSeq

STRING

mcs

INTEGER

sdes

OBJECT

events

ARRAY

isAuthenticated

STRING

sdeType

STRING

serverTimeStamp

STRING

surveys

OBJECT

postChat

ARRAY

displayName

STRING

name

STRING

questionID

NUMBER

scope

STRING

source

STRING

surveyID

NUMBER

time

DATE-TIME

timeL

NUMBER

value

STRING

values

ARRAY

preChat

ARRAY

displayName

STRING

name

STRING

questionID

NUMBER

scope

STRING

source

STRING

surveyID

NUMBER

time

DATE-TIME

timeL

NUMBER

value

STRING

values

ARRAY

transcript

OBJECT

lines

ARRAY

agentId

STRING

by

STRING

cannedAnswerType

INTEGER

controlType

NUMBER

json

STRING

lineSeq

STRING

source

STRING

subType

STRING

text

STRING

textType

STRING

time

DATE-TIME

timeL

NUMBER

visitorInfo

OBJECT

browser

STRING

browserType

STRING

city

STRING

country

STRING

countryCode

STRING

device

STRING

ipAddress

STRING

isp

STRING

operatingSystem

STRING

org

STRING

state

STRING

messaging_interactions

The messaging_interactions table contains info about contact center messaging interactions.

Replication Method

Key-based Incremental

Primary Key

id

Useful links

LivePerson documentation

messaging_interactions schema on GitHub

LivePerson API method

agentParticipants

ARRAY

agentFullName

STRING

agentGroupId

INTEGER

agentGroupName

STRING

agentId

STRING

agentLoginName

STRING

agentNickname

STRING

permission

STRING

role

STRING

time

DATE-TIME

timeL

INTEGER

userType

STRING

userTypeName

STRING

campaign

OBJECT

behaviorSystemDefault

BOOLEAN

campaignEngagementId

STRING

campaignEngagementName

STRING

campaignId

STRING

campaignName

STRING

engagementAgentNote

STRING

engagementApplicationId

STRING

engagementApplicationName

STRING

engagementApplicationTypeId

STRING

engagementApplicationTypeName

STRING

engagementSource

STRING

goalId

STRING

goalName

STRING

lobId

INTEGER

lobName

STRING

locationId

STRING

locationName

STRING

profileSystemDefault

BOOLEAN

visitorBehaviorId

STRING

visitorBehaviorName

STRING

visitorProfileId

STRING

visitorProfileName

STRING

coBrowseSessions

OBJECT

coBrowseSessionsList

ARRAY

agentId

STRING

duration

INTEGER

endReason

STRING

endTime

DATE-TIME

endTimeL

INTEGER

interactive

BOOLEAN

sessionId

STRING

startTime

DATE-TIME

startTimeL

INTEGER

type

STRING

consumerParticipants

ARRAY

avatarURL

STRING

consumerName

STRING

email

STRING

firstName

STRING

lastName

STRING

participantId

STRING

phone

STRING

time

DATE-TIME

timeL

INTEGER

token

STRING

conversationSurveys

ARRAY

surveyData

ARRAY

answer

STRING

question

STRING

surveyStatus

STRING

surveyType

STRING

id

STRING

info

OBJECT

agentDeleted

BOOLEAN

alertedMCS

INTEGER

brandId

STRING

browser

STRING

closeReason

STRING

closeReasonDescription

STRING

conversationId

STRING

csatRate

NUMBER

device

STRING

duration

INTEGER

endTime

STRING

endTimeL

INTEGER

firstConversation

BOOLEAN

isPartial

BOOLEAN

latestAgentFullName

STRING

latestAgentGroupId

INTEGER

latestAgentGroupName

STRING

latestAgentId

STRING

latestAgentLoginName

STRING

latestAgentNickname

STRING

latestQueueState

STRING

latestSkillId

INTEGER

latestSkillName

STRING

mcs

INTEGER

operatingSystem

STRING

source

STRING

startTime

DATE-TIME

startTimeL

INTEGER

status

STRING

interactions

ARRAY

assignedAgentFullName

STRING

assignedAgentId

STRING

assignedAgentLoginName

STRING

assignedAgentNickname

STRING

interactionTime

DATE-TIME

interactionTimeL

INTEGER

interactiveSequence

INTEGER

messageRecords

ARRAY

device

STRING

dialogId

STRING

messageData

OBJECT

messageId

STRING

participantId

STRING

sentBy

STRING

seq

INTEGER

source

STRING

time

DATE-TIME

timeL

INTEGER

type

STRING

messageScores

ARRAY

mcs

INTEGER

messageId

STRING

messageRawScore

INTEGER

time

DATE-TIME

timeL

INTEGER

messageStatuses

ARRAY

messageDeliveryStatus

STRING

messageId

STRING

participantId

STRING

participantType

STRING

seq

INTEGER

time

DATE-TIME

timeL

INTEGER

monitoring

OBJECT

browser

STRING

city

STRING

conversationStartPage

STRING

conversationStartPageTitle

STRING

country

STRING

countryCode

STRING

device

STRING

ipAddress

STRING

isp

STRING

operatingSystem

STRING

org

STRING

state

STRING

sdes

OBJECT

events

ARRAY

serverTimeStamp

STRING

summary

OBJECT

lastUpdatedTime

INTEGER

text

STRING

transfers

ARRAY

assignedAgentId

STRING

by

STRING

reason

STRING

sourceAgentFullName

STRING

sourceAgentId

STRING

sourceAgentLoginName

STRING

sourceAgentNickname

STRING

sourceSkillId

INTEGER

sourceSkillName

STRING

targetSkillId

INTEGER

targetSkillName

STRING

time

DATE-TIME

timeL

INTEGER

unAuthSdes

OBJECT

events

ARRAY

serverTimeStamp

INTEGER

messaging_queue_health

The messaging_queue_health table contains messaging queue-related metrics.

Replication Method

Full Table

Primary Key

id

Useful links

messaging_queue_health schema on GitHub

LivePerson API method

actionableAndConsumerLastMessage

NUMBER

actionableAndDuringTransfer

NUMBER

actionableAndManualSla

NUMBER

actionableConversations

NUMBER

avgWaitTimeForAgentAssignment_AfterTransfer

NUMBER

avgWaitTimeForAgentAssignment_AfterTransferFromAgent

NUMBER

avgWaitTimeForAgentAssignment_AfterTransferFromBot

NUMBER

avgWaitTimeForAgentAssignment_NewConversation

NUMBER

id

STRING

maxWaitTimeForAgentAssignment

NUMBER

maxWaitTimeForAgentAssignment_AfterTransferFromAgent

NUMBER

notActionableAndManualSla

NUMBER

notActionableConversations

NUMBER

notActionableDuringTransfer

NUMBER

skill

STRING

timestamp

INTEGER

unassignedConversations

NUMBER

unassignedConversationsAndFirstTimeConsumer

NUMBER

waitTimeForAgentAssignment_50thPercentile

NUMBER

waitTimeForAgentAssignment_90thPercentile

NUMBER

queue_health

The queue_health table contains queue-related metrics.

Replication Method

Full Table

Primary Key

id

Useful links

queue_health schema on GitHub

LivePerson API method

abandonedEng

NUMBER

abandonmentRate

NUMBER

availableSlotsCount

NUMBER

availableSlotsSum

NUMBER

averageAvailableSlots

NUMBER

averageQueueSize

NUMBER

avgTimeToAbandon

NUMBER

avgTimeToAnswer

NUMBER

connectedEng

NUMBER

currentAvailableSlots

NUMBER

currentQueueSize

NUMBER

enteredQEng

NUMBER

id

STRING

maxAvailableSlots

NUMBER

maxQueueSize

NUMBER

minAvailableSlots

NUMBER

minQueueSize

NUMBER

queueSizeCount

NUMBER

queueSizeSum

NUMBER

skill

STRING

timestamp

INTEGER

totalTimeToAbandon

NUMBER

totalTimeToAnswer

NUMBER

skills

The skills table contains info about the agent skills in your LivePerson account.

Note: Stitch will query for and replicate deleted skills.

Replication Method

Full Table

Primary Key

id

Useful links

LivePerson documentation

skills schema on GitHub

LivePerson API method

deleted

BOOLEAN

id

STRING

name

STRING

pid

STRING

users

The users table contains info about the users in your LivePerson account. This includes agents, agent managers, administrators, and campaign managers.

Note: Stitch will query for and replicate deleted users.

Replication Method

Full Table

Primary Key

id

Useful links

LivePerson documentation

users schema on GitHub

LivePerson API method

deleted

BOOLEAN

id

STRING

loginName

STRING

pid

STRING


Questions? Feedback?

Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.