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 integration, including release status, useful links, and the features supported in Stitch.

STITCH
Release Status

Open Beta

Supported By

Singer Community

Stitch Plan

Free

Singer GitHub Repository

LivePerson Repository

DATA SELECTION
Table Selection

Supported

Column Selection

Supported

REPLICATION SETTINGS
Anchor Scheduling

Supported

Advanced Scheduling

Unsupported

Table-level Reset

Unsupported

Configurable Replication Methods

Unsupported

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 sync

The Sync Historical Data setting will define the starting date for your LivePerson integration. This means that:

  • For tables using Incremental Replication, data equal to or newer than this date will be replicated to your data warehouse.
  • For tables using Full Table Replication, all data - including records that are older, 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 tables and columns to replicate

To complete the setup, you’ll need to select the tables and columns you want to replicate to your data warehouse.

Check out the Schema section to learn more about the available tables in LivePerson and how they replicate.

  1. In the list of tables that displays - or in the Tables to Replicate tab, if you skipped this step during setup - locate a table you want to replicate.
  2. To track a table, click the checkbox next to the table’s name. A green checkmark means the table is set to replicate.

  3. To track a column, click the checkbox next to the column’s name. A green 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.

Note: If you change these settings while a replication job is still in progress, they will not be used until the next job starts.

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 schemas

Replication Method :

Full Table

Primary Key :

id

API endpoint :

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

id
STRING

_meta
OBJECT

endTime
INTEGER

startTime
INTEGER

agent_activity (table), _meta (attribute)

agentEmployeeId
OBJECT

string
STRING

agent_activity (table), agentEmployeeId (attribute)

agentGroupID
OBJECT

long
INTEGER

agent_activity (table), agentGroupID (attribute)

agentID
OBJECT

long
INTEGER

agent_activity (table), agentID (attribute)

agentLoginname
OBJECT

string
STRING

agent_activity (table), agentLoginname (attribute)

agentNickname
OBJECT

string
STRING

agent_activity (table), agentNickname (attribute)

agentUsername
OBJECT

string
STRING

agent_activity (table), agentUsername (attribute)

concurrentEng
OBJECT

long
INTEGER

agent_activity (table), concurrentEng (attribute)

maxConcurrentEng
OBJECT

long
INTEGER

agent_activity (table), maxConcurrentEng (attribute)

prevConcurrentEng
OBJECT

long
INTEGER

agent_activity (table), prevConcurrentEng (attribute)

prevState
OBJECT

long
INTEGER

agent_activity (table), prevState (attribute)

state
OBJECT

long
INTEGER

agent_activity (table), state (attribute)

timestamp
OBJECT

long
INTEGER

agent_activity (table), timestamp (attribute)

type
OBJECT

long
INTEGER

agent_activity (table), type (attribute)

Replication Method :

Full Table

Primary Key :

id

API endpoint :

Get all 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.

id
STRING

deleted
BOOLEAN

description
STRING

isEnabled
BOOLEAN

name
STRING

parentGroupId
STRING


Replication Method :

Full Table

Primary Key :

id

API endpoint :

List agent statuses

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.

id
STRING

deleted
BOOLEAN

enabled
BOOLEAN

state
STRING

text
STRING


engagement_history

Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

API endpoint :

Retrieve engagement list by criteria

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

id
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

engagement_history (table), campaign (attribute)

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

engagement_history (table), coBrowseSessionsList (attribute)
engagement_history (table), coBrowseSessions (attribute)

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

engagement_history (table), info (attribute)

lineScores
ARRAY

lineRawScore
INTEGER

lineSeq
STRING

mcs
INTEGER

engagement_history (table), lineScores (attribute)

sdes
OBJECT

events
ARRAY

cartStatus
ANYTHING

customerInfo
ANYTHING

isAuthenticated
STRING

marketingCampaignInfo
ANYTHING

purchase
ANYTHING

sdeType
STRING

serverTimeStamp
STRING

engagement_history (table), events (attribute)
engagement_history (table), sdes (attribute)

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

value
STRING

engagement_history (table), values (attribute)
engagement_history (table), postChat (attribute)

preChat
ARRAY

displayName
STRING

name
STRING

questionID
NUMBER

scope
STRING

source
STRING

surveyID
NUMBER

time
DATE-TIME

timeL
NUMBER

value
STRING

values
ARRAY

value
STRING

engagement_history (table), values (attribute)
engagement_history (table), preChat (attribute)
engagement_history (table), surveys (attribute)

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

engagement_history (table), lines (attribute)
engagement_history (table), transcript (attribute)

visitorInfo
OBJECT

browser
STRING

browserType
STRING

city
STRING

country
STRING

countryCode
STRING

device
STRING

ipAddress
STRING

isp
STRING

operatingSystem
STRING

org
STRING

state
STRING

engagement_history (table), visitorInfo (attribute)

messaging_interactions

Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

API endpoint :

Retrieve conversations

The messaging_interactions table contains info about contact center messaging interactions.

id
STRING

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

messaging_interactions (table), agentParticipants (attribute)

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

messaging_interactions (table), campaign (attribute)

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

messaging_interactions (table), coBrowseSessionsList (attribute)
messaging_interactions (table), coBrowseSessions (attribute)

consumerParticipants
ARRAY

avatarURL
STRING

consumerName
STRING

email
STRING

firstName
STRING

lastName
STRING

participantId
STRING

phone
STRING

time
DATE-TIME

timeL
INTEGER

token
STRING

messaging_interactions (table), consumerParticipants (attribute)

conversationSurveys
ARRAY

surveyData
ARRAY

answer
STRING

question
STRING

messaging_interactions (table), surveyData (attribute)

surveyStatus
STRING

surveyType
STRING

messaging_interactions (table), conversationSurveys (attribute)

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

messaging_interactions (table), info (attribute)

interactions
ARRAY

assignedAgentFullName
STRING

assignedAgentId
STRING

assignedAgentLoginName
STRING

assignedAgentNickname
STRING

interactionTime
DATE-TIME

interactionTimeL
INTEGER

interactiveSequence
INTEGER

messaging_interactions (table), interactions (attribute)

messageRecords
ARRAY

device
STRING

dialogId
STRING

messageData
OBJECT

msg
OBJECT

text
STRING

messaging_interactions (table), msg (attribute)
messaging_interactions (table), messageData (attribute)

messageId
STRING

participantId
STRING

sentBy
STRING

seq
INTEGER

source
STRING

time
DATE-TIME

timeL
INTEGER

type
STRING

messaging_interactions (table), messageRecords (attribute)

messageScores
ARRAY

mcs
INTEGER

messageId
STRING

messageRawScore
INTEGER

time
DATE-TIME

timeL
INTEGER

messaging_interactions (table), messageScores (attribute)

messageStatuses
ARRAY

messageDeliveryStatus
STRING

messageId
STRING

participantId
STRING

participantType
STRING

seq
INTEGER

time
DATE-TIME

timeL
INTEGER

messaging_interactions (table), messageStatuses (attribute)

sdes
OBJECT

events
ARRAY

cartStatus
ANYTHING

customerInfo
ANYTHING

marketingCampaignInfo
ANYTHING

purchase
ANYTHING

sdeType
ANYTHING

serverTimeStamp
STRING

serviceActivity
ANYTHING

messaging_interactions (table), events (attribute)
messaging_interactions (table), sdes (attribute)

summary
OBJECT

lastUpdatedTime
INTEGER

text
STRING

messaging_interactions (table), summary (attribute)

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

messaging_interactions (table), transfers (attribute)

Replication Method :

Full Table

Primary Key :

id

API endpoint :

Retrieve queue metrics

The queue_health table contains queue-related metrics.

id
STRING

abandonedEng
NUMBER

abandonmentRate
NUMBER

availableSlotsCount
NUMBER

availableSlotsSum
NUMBER

averageAvailableSlots
NUMBER

averageQueueSize
NUMBER

avgTimeToAbandon
NUMBER

avgTimeToAnswer
NUMBER

connectedEng
NUMBER

currentAvailableSlots
NUMBER

currentQueueSize
NUMBER

enteredQEng
NUMBER

maxAvailableSlots
NUMBER

maxQueueSize
NUMBER

minAvailableSlots
NUMBER

minQueueSize
NUMBER

queueSizeCount
NUMBER

queueSizeSum
NUMBER

skill
STRING

timestamp
INTEGER

totalTimeToAbandon
NUMBER

totalTimeToAnswer
NUMBER


Replication Method :

Full Table

Primary Key :

id

API endpoint :

Get all skills

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

Note: Stitch will query for and replicate deleted skills.

id
STRING

deleted
BOOLEAN

name
STRING

pid
STRING


Replication Method :

Full Table

Primary Key :

id

API endpoint :

Get all 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.

id
STRING

deleted
BOOLEAN

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.