Salesforce Integration

Learn how to integrate WorkCast with Salesforce

Clients of WorkCast Producer+ and Enterprise licenses have the option to integrate with their Salesforce CRM marketing system.

Salesforce

The Salesforce CRM Platform can be integrated with the WorkCast Platform using the following process.

Registration Import

Salesforce does not include the ability to create and publish forms. This functionality is instead provided by the Salesforce sister product Pardot.

Please see the Pardot Integration document for information on how to send Form data to a 3rd Party (which can include the Salesforce CRM Platform).

WorkCast Salesforce API Integration Service

Salesforce Setup

The WorkCast Salesforce Integration Service requires the credentials of a user account with at least the following set of permissions:-

Administrative Permissions

API Enabled = True

Standard Object Permissions

Accounts:     Basic Access 

                       Read / Create / Edit / Delete = True

Contacts:      Basic Access           

                       Read / Create / Edit / Delete = True

Leads:            Basic Access 

                       Read / Create / Edit / Delete = True


WorkCast also suggests that this user profile is set up to be an “API Only User”.


The following credentials for the above user are required by the WorkCast Platform:-

User Name

Password

API Token

You enter these details into your account, following the connection guide.

WorkCast Service Operation

The WorkCast Salesforce Integration Service runs at scheduled intervals on WorkCasts servers.

Registration and Attendance data for all configured accounts and events are retrieved from the WorkCast Data Warehouse database.

Live data is shipped to the Data Warehouse on a 15-minute cycle. This in effect means that any new data should be pushed to the client's Salesforce account in under an hour. There may be occasions where it will take longer. This may be due to system load and waiting for database locks to be released.

During each cycle, the service performs the following sequence of tasks for each configured client account:-

  • Get the date and time of the last data record read from the WorkCast database.
  • Update the current state of the process for this account in the database to ‘Processing’. Include the last processed date time in this record.
  • Get the Salesforce User, Password, and API Token for this account from the WorkCast database.
  • Login to the Salesforce API
  • Get a list of email filter strings from the WorkCast database. If any new Lead Email addresses contain any of these filter strings then they will not be created in Salesforce.
  • Retry any failed Salesforce API operations from previous runs. This process is described in greater detail in another section of this document.
  • Get all the WorkCast Event Sessions that have been configured to be pushed to Salesforce.
  • For each configured WorkCast Event Session the service performs the following tasks:-
    • Get all Registration Data for that Event Session.
    • Get all Attendance Data for that Event Session.
    • Get the last 10 Poll Questions and Answers for each Attendance.
    • Get the last 5 Chat Messages and Replies for each Attendance.
    • Reject all potential Leads that contain filter strings in their email addresses.
    • Populate an outbound data structure for each Registration and Attendance.
    • Process each Lead Record.
      • If the Email Address exists as a Lead in Salesforce, update it with any modified Lead fields and add a new Activity record for this new activity.
      • If this Lead does not already exist then if the Email Address exists as a Contact in Salesforce, update it with any modified Contact fields and add a new Activity record for this new activity.
      • If neither of the above, create a new Lead record, populate the Lead fields and add an initial Activity record for this activity.
      • If any of the Reads, Updates or Creates in the above 3 steps fail, then add a new Retry record to the WorkCast database. Retry processing is detailed further in the next section.
      • The Activity records mentioned above will either have a Subject Field of ‘Webinar Registration’ or ‘Webinar Attendance’.

    • Increment the number of Successful or Failed records.

 

  • Update the current state of the process for this account in the database to Complete. Include the last processed date time and the number of successful and failed records.
  • Logout from the Salesforce API

Retry Processing

At the start of each service cycle, it checks to see if there are any failed Lead / Contact or Activity Updates or Creates that failed during previous runs.

If there are, then the service takes the first 50 records (oldest first) for that account and attempts to reprocess them.

Each of the Retry records is basically a serialized JSON representation of the Lead / Contact or Activity wrapped with some required processing data. The wrapper includes the Type, Operation, and remaining number of retries of the failed transaction.

Each Salesforce API operation will be tried 5 times. If they have not succeeded after 5 attempts it can safely be assumed that they are fundamentally flawed and will never succeed. They will remain in the Retry database table with a remaining number of retries of 0 so that they can be picked up by WorkCast Support and investigated.

After each processing attempt, the number of remaining retries is decremented. If the processing attempt succeeded then the Retry record is deleted from the database.

Field Mappings

Lead

Salesforce

WorkCast

FirstName

Firstname

LastName

Surname

Salutation

Title

Title

JobTitle

Company

CompanyName

Street

AddressLine1

AddressLine2

AddressLine3

City

City

State

CountyOrState

PostalCode

PostalCode

Country

CountryCode

Phone

Phone1

Email

Email

LeadSource

Webinar

 

Contact

Salesforce

WorkCast

FirstName

Firstname

LastName

Surname

Salutation

Title

Title

JobTitle

Company

CompanyName

MailingStreet

AddressLine1

AddressLine2

AddressLine3

MailingCity

City

MailingState

CountyOrState

MailingPostalCode

PostalCode

MailingCountry

CountryCode

Phone

Phone1

Email

Email

LeadSource

Webinar

 

Activity

Salesforce

WorkCast

ActivityType

Event

ActivityDate

Registration Date Time or Attendance Date Time

Subject

Webinar Registration or Webinar Attendance

DurationInMinutes

0

ActivityDateTime

Registration Date Time or

Attendance Date Time

WhoId

Lead / Contact Id

Description

10 x Poll Questions and Answers

5 x Chat Messages and Replies