PersistIQ

Send your event data from RudderStack to PersistIQ.

PersistIQ is an outbound sales automation and customer discovery platform. It helps you find new customers, onboard them, and organize your outreach strategies effectively.

Connection compatibility

Destination info
  • Status: Generally Available
  • Supported sources: Web, Cloud, Android, iOS , Unity, AMP , Warehouse, React Native , Flutter, Cordova, Shopify
  • Refer to it as PERSISTIQ in the Integrations object.

Connection modes
SourceCloud modeDevice modeHybrid mode
AMPsupportednot supportednot supported
Androidsupportednot supportednot supported
Cloudsupportednot supportednot supported
Cordovasupportednot supportednot supported
Fluttersupportednot supportednot supported
iOSsupportednot supportednot supported
React Nativesupportednot supportednot supported
Shopifysupportednot supportednot supported
Unitysupportednot supportednot supported
Warehousesupportednot supportednot supported
Websupportednot supportednot supported
Supported message types
SourceIdentifyPageTrackScreenGroupAlias
Cloud mode
Supported sourcessupportednot supportednot supportednot supportedsupportednot supported

Get started

Once you have confirmed that the source platform supports sending events to PersistIQ, follow these steps:

  1. From your RudderStack dashboard, add a source. Then, from the list of destinations, select PersistIQ.
  2. Assign a name to the destination and click Continue.

Connection settings

To successfully configure PersistIQ as a destination, you will need to configure the following settings:

  • PersistIQ REST API Key: Enter your PersistIQ API key. For more information on obtaining the API key, refer to the FAQ section below.
  • Map RudderStack user attributes to PersistIQ Lead attributes: Use this setting to map your RudderStack event properties to the custom or non-standard PersistIQ lead attributes.

Identify

You can use RudderStack’s identify call to create or update a lead (prospect) in PersistIQ. RudderStack sends the user information to PersistIQ via their /leads endpoint.

Creating a new lead

A sample identify call that creates a new lead in PersistIQ is shown below:

rudderanalytics.identify("1hKOmRA4GRlm", {
  name: "Alex Keener",
  address: "99 Blue Gum Street",
  email: "alex@example.com"
})

RudderStack automatically maps all common attributes like name, email, city, etc. to the PersistIQ lead attributes. To map specific event properties to the custom PersistIQ lead attributes, use the Map RudderStack user attributes to PersistIQ Lead attributes dashboard setting to specify the mapping.

Supported mappings

The following table lists the mappings between the RudderStack properties and PersistIQ attributes:

RudderStack propertyPersistIQ propertyData type
traits.dupdupString
traits.creator_idcreator_idString
context.traits.email
traits.email
lead[0].emailString
context.traits.country
traits.country
lead[0].countryString
context.traits.city
traits.city
lead[0].cityString
context.traits.gender
traits.gender
lead[0].genderString
context.traits.company
traits.company
lead[0].company_nameString
context.traits.phone
traits.phone
lead[0].phonePhone number
context.traits.facebookUrl
traits.facebookUrl
lead[0].facebookUrlURL
context.traits.twitterUrl
traits.twitterUrl
lead[0].twitterUrlURL
context.traits.linkedinUrl
traits.linkedinUrl
lead[0].linkedinUrlURL
traits.firstName
traits.firstname
traits.first_name
context.traits.firstName
context.traits.firstname
context.traits.first_name
lead[0].first_nameString
traits.lastName
traits.lastname
traits.last_name
context.traits.lastName
context.traits.lastname
context.traits.last_name
lead[0].last_nameString
traits.{x}
context.traits.{x}
lead[0].{x}-
warning
RudderStack does not batch events before sending them to PersistIQ. Hence, the index inside the lead array is always 0.

Updating an existing lead

RudderStack automatically updates a lead if the identify call contains the persistIqLeadId field in the externalId object. Otherwise, it creates a new lead.

A sample identify call that updates an existing PersistIQ lead is shown below:

rudderanalytics.identify("1hKOmRA4GRlm", {
  name: "Alex Keener",
  address: "99 Blue Gum Street",
  email: "alex@example.com"
}, {
  "externalId": [{
    "type": "persistIqLeadId",
    "id": "abc12345"
  }]
})
info
For more information on getting your PersistIQ lead ID, refer to the FAQ section below.

Supported mappings

The following table list the mappings between the RudderStack properties and PersistIQ attributes:

RudderStack propertyPersistIQ propertyData type
externalId.persistIqLeadId
Required
leadIdString
traits.status
context.traits.status
statusString
context.traits.email
traits.email
data.emailString
context.traits.country
traits.country
data.countryString
context.traits.city
traits.city
data.cityString
context.traits.gender
traits.gender
data.genderString
context.traits.company
traits.company
data.company_nameString
context.traits.phone
traits.phone
data.phoneString
context.traits.facebookUrl
traits.facebookUrl
data.facebookUrlURL
context.traits.twitterUrl
traits.twitterUrl
data.twitterUrlURL
context.traits.linkedinUrl
traits.linkedinUrl
data.linkedinUrlURL
traits.firstName
traits.firstname
traits.first_name
context.traits.firstName
context.traits.firstname
context.traits.first_name
data.first_nameString
traits.lastName
traits.lastname
traits.last_name
context.traits.lastName
context.traits.lastname
context.traits.last_name
data.last_nameString
traits.{x}
context.traits.{x}
data.{x}-
info
The lead status passed in the traits.status/context.traits.status must already be configured in your PersistIQ dashboard.

Group

You can use the group events to add or remove a lead from a group in PersistIQ. RudderStack uses the /campaigns endpoint to send this information to PersistIQ.

A sample group call is shown below:

rudderanalytics.group("group01", {
  mailbox_id: "mbid123",
  operation: "add" // set to remove to remove user from a group
}, {
  "externalId": [{
    "type": "persistIqLeadId",
    "id": "abc12345"
  }]
})
info
If not explicitly specified, RudderStack automatically sets the traits.operation parameter to add. To remove a user from the group, set this parameter to remove.

Supported mappings

The following table list the mappings between the RudderStack properties and PersistIQ attributes:

RudderStack propertyPersistIQ property
groupId
Required
campaign_id
externalId.persistIqLeadId
Required
leadId
traits.mailbox_id
context.traits.mailbox_id
mailbox_id

FAQ

Where can I find the PersistIQ API key?

To get your PersistIQ API key, follow these steps:

  1. Log in to your PersistIQ dashboard.
  2. From the bottom left corner, click your profile button and go to Settings and Billing > Integrations. Your API key will be listed here:
PersistIQ API Key

How do I get the PersistIQ lead ID and campaign ID?

To get a prospect’s lead ID in the PersistIQ dashboard, click the specific prospect. You can find the ID in the resulting URL:

PersistIQ lead ID

Similarly, to get a campaign ID, go to Campaigns in your dashboard and click the required campaign. The ID should be visible in the resulting URL.

PersistIQ campaign ID


Questions? Contact us by email or on Slack