Salesforce integration with LivePreso (Lightning)

Note: A corresponding client-facing document can be located here on drive. Any changes to the internal confluence page below should be reflected on the client-facing document additionally.

 

 

We provide Salesforce integration out of the box. After following the instructions below in the “Enable LivePreso access to Salesforce” section, your LivePreso instance would be integrated with Salesforce in the following ways.

Salesforce data

Basic fields from Accounts, Contacts and Opportunities are synced from SFDC so they are searchable from LivePreso. This allows sales reps to create a preso for existing customers/contacts in SFDC.

By default, SFDC is configured as the single source of truth for this data, meaning that it can only be input or edited in SFDC, before syncing over to LivePreso. Subject to your SFDC edition limits, data updated in SFDC generally appear in LivePreso within 30 seconds.

LivePreso Events

All key events in LivePreso automatically and instantly create the relevant Events for Accounts, Contacts and Opportunities in SFDC. These events include:

  1. User presenting a preso

  2. User sharing an online preso

  3. User sharing a PDF preso

  4. Contact viewing a shared online preso

  5. Contact downloading a shared PDF preso

This means users don't need to remember to update SFDC with any of this information as it all happens automatically.

Enable LivePreso access to Salesforce

LivePreso will require the following items from your Salesforce Administrator:

  1. Connected App

  2. Login credentials (username & password)

  3. Consumer Key

  4. Consumer Secret

  5. Security Token

  6. (Sandbox only) Full complement of customer data for testing the sync and integration

NB: These items are required for both sandbox & production.

Create a new Connected App

You must create a new “connected app” so that LivePreso can use the Salesforce REST API.

  1. Login as an administrator.

  2. Setup→Apps→App Manager

  3. In the “App Manager” view click the “New Connected App” button on the top right

  4. Use “LivePreso” for Connected App Name. “API Name” will be automatically filled in. Add a “Contact Email” of “support@livepreso.com”.

  5. Tick “Enable OAuth Settings” under API. Use https://localhost:8443/oauth2/callback for Callback URL.

  6. From “Selected OAuth Scopes” select “Access and manage your data (api)” and click the Add arrow.

  7. Click “Save” button at the bottom of the page, click “Continue” on the following page, and on the final feedback page, copy the “Consumer Key” and “Consumer Secret”. You must click “Click to reveal” to see the Consumer Secret.

Create a new user

You must also create a new user so that LivePreso can access Salesforce.

Creating “LivePreso” user

  1. As an administrator navigate to the new user creation page (Setup→Users→Users)

  2. Click the “New User” button.

  3. Fill out the form, using “LivePreso” as Last Name. Use a real email address.

  4. “Username” and “Nickname” will be automatically filled when the email address has been entered.

  5. Select no Role, select “Salesforce” in the User License dropdown, and choose “Standard User” from the Profile dropdown.

  6. Ensure “Generate new password and notify user immediately” is ticked (it is right at the bottom of the screen, near the “Save” button.)

  7. Click the “Save” button and check the user’s email for an email from Salesforce. Click the link in this email and follow the instructions to assign a new password to the user.

Ensuring “LivePreso” user’s password doesn’t expire

Without this configuration, the LivePreso integration will stop working after 90 days. Unfortunately the Salesforce feature used to work around this limitation is only available to Enterprise level salesforce accounts (not Professional etc.)

  1. As an administrator navigate to the user management page (Setup→Users→Users)

  2. Click on the “Profile” cell of the table row belonging to the “LivePreso” user, click the “Clone” button (and give the new profile a name, e.g. “noexpiry”.) Click the “Save” button

  3. On the next page click the “Edit” button. Now tick the “LivePreso” box under “Connected App Access”, and tick “Password Never Expires” box (best to Ctrl-f to find this one.) Click the “Save” button

  4. Now you need to assign the new profile to the “LivePreso” user.

  5. Navigate back to the user management page (Setup→Users→Users) and click the “Edit” link next to the “LivePreso” user’s row. From the Profile dropdown select the profile name you supplied earlier then click the “Save” button.

Generate Security Token for “LivePreso” user

The final piece of information LivePreso requires is the “LivePreso” user’s security token.

  1. Login as the new “LivePreso” user navigate to the personal information management page (LivePreso user dropdown→Settings)

  2. Click Reset My Security Token on the left

  3. Click the “Reset Security Token” button. An email containing the token will be emailed to the “LivePreso” user created earlier. LivePreso needs to know the “LivePreso” user’s password and security token, as well as the “Consumer Secret” and “Consumer Key” mentioned earlier.

Standard Salesforce fields synced by LivePreso:

Account

  • Description

  • IsDeleted

  • LastModifiedDate

  • Name

  • Website

 

Contact

  • AccountId

  • Description

  • Email

  • FirstName

  • IsDeleted

  • LastModifiedDate

  • LastName

  • Name

  • Phone

  • Title

 

Opportunity

  • Account

  • Close Date

  • Created Date

  • Deleted

  • Description

  • Last Activity

  • Last Modified Date

  • Lead Source

  • Name

  • Next Step

  • Opportunity Type

  • Stage

  • System Modstamp

 

ContactRole

  • Contact

  • Created Date

  • Deleted

  • Last Modified Date

  • Opportunity

  • Primary

  • Role

  • System Modstamp

In order to be able to create associated Events in SalesForce:

Our API user requires the ability to create Event objects and set values for the following fields

  • Who (ForeignKey to Contact)

  • Subject

  • Start Date Time

  • End Date Time

  • Description

  • Activity Date Time

  • Duration In Minutes

  • What (ForeignKey to an Account, Contact, or Opportunity)

 


Salesforce Classic integration

We provide Salesforce integration out of the box. After following the instructions below in the “Enable LivePreso access to Salesforce” section, your LivePreso instance would be integrated with Salesforce in the following ways.

Salesforce data

Basic fields from Accounts, Contacts and Opportunities are synced from SFDC so they are searchable from LivePreso. This allows sales reps to create a preso for existing customers/contacts in SFDC.

By default, SFDC is configured as the single source of truth for this data, meaning that it can only be input or edited in SFDC, before syncing over to LivePreso. Subject to your SFDC edition limits, data updated in SFDC generally appear in LivePreso within 30 seconds.

LivePreso Events

All key events in LivePreso automatically and instantly create the relevant Events for Accounts, Contacts and Opportunities in SFDC. These events include:

  1. User presenting a preso

  2. User sharing an online preso

  3. User sharing a PDF preso

  4. Contact viewing a shared online preso

  5. Contact downloading a shared PDF preso

This means users don't need to remember to update SFDC with any of this information as it all happens automatically.

Enable LivePreso access to Salesforce

LivePreso will require the following items from your Salesforce Administrator:

  1. Connected App

  2. Login credentials (username & password)

  3. Consumer Key

  4. Consumer Secret

  5. Security Token

  6. (Sandbox only) Full complement of customer data for testing the sync and integration


NB: These items are required for both sandbox & production.

Create a new Connected App

You must create a new “connected app” so that LivePreso can use the Salesforce REST API.

  1. Login as an administrator.

  2. Setup Create → (under Build)→Apps

  3. In the “Connected Apps” table (at bottom of screen) click the “New” button.

  4. Use “LivePreso” for Connected App Name. “API Name” will be automatically filled in. Add a “Contact Email” of “support@livepreso.com”.

  5. Tick “Enable OAuth Settings” under API. Use https://localhost:8443/oauth2/callback for Callback URL.

  6. From “Selected OAuth Scopes” select “Access and manage your data (api)” and click the Add arrow.

  7. Click “Save” button at the bottom of the page, click “Continue” on the following page, and on the final feedback page, copy the “Consumer Key” and “Consumer Secret”. You must click “Click to reveal” to see the Consumer Secret.

Create a new user

You must create a new user so that LivePreso can access Salesforce.

Creating “LivePreso” user

  1. As an administrator navigate to the new user creation page (Setup→Manage Users→Users)

  2. Click the “New User” button.

  3. Fill out the form, using “LivePreso” as Last Name. Use a real email address.

  4. “Username” and “Nickname” will be automatically filled when the email address has been entered.

  5. Select no Role, select “Salesforce Platform” in the User License dropdown, and choose “Standard Platform User” from the Profile dropdown.

  6. Ensure “Generate new password and notify user immediately” is ticked (it is right at the bottom of the screen, near the “Save” button.)

  7. Click the “Save” button and check the user’s email for an email from Salesforce. Click the link in this email and follow the instructions to assign a new password to the user.

Ensuring “LivePreso” user’s password doesn’t expire

Without this configuration, the LivePreso integration will stop working after 90 days. Unfortunately the salesforce feature used to work around this limitation is only available to Enterprise level salesforce accounts (not Professional etc.)

  1. As an administrator navigate to the user management page (Setup→Manage Users→Users)

  2. Click on the “Profile” cell of the table row belonging to the “LivePreso” user, click the “Clone” button (and give the new profile a name, e.g. “noexpiry”.) Click the “Save” button

  3. On the next page click the “Edit” button. Now tick the “LivePreso” box under “Connected App Access”, and tick “Password Never Expires” box (best to Ctrl-f to find this one.) Click the “Save” button

  4. Now you need to assign the new profile to the “LivePreso” user.

  5. Navigate back to the user management page (Setup→Manage Users→Users) and click the “Edit” link next to the “LivePreso” user’s row. From the Profile dropdown select the profile name you supplied earlier then click the “Save” button.

Generate Security Token for “LivePreso” user

The final piece of information LivePreso requires is the “LivePreso” user’s security token.

  1. Login as the new “LivePreso” user and navigate to the personal information management page (LivePreso user dropdown→My Settings→Personal→Reset My Security Token)

  2. Click the “Reset Security Token” button. An email containing the token will be emailed to the “LivePreso” user created earlier. LivePreso needs to know the “LivePreso” user’s password and security token, as well as the “Consumer Secret” and “Consumer Key” mentioned earlier.

Standard Salesforce fields synced by LivePreso:

Account

  • Description

  • IsDeleted

  • LastModifiedDate

  • Name

  • Website

 

Contact

  • AccountId

  • Description

  • Email

  • FirstName

  • IsDeleted

  • LastModifiedDate

  • LastName

  • Name

  • Phone

  • Title

 

Opportunity

  • Account

  • Close Date

  • Created Date

  • Deleted

  • Description

  • Last Activity

  • Last Modified Date

  • Lead Source

  • Name

  • Next Step

  • Opportunity Type

  • Stage

  • System Modstamp

ContactRole

  • Contact

  • Created Date

  • Deleted

  • Last Modified Date

  • Opportunity

  • Primary

  • Role

  • System Modstamp

In order to be able to create associated Events in SalesForce:

Our API user requires the ability to create Event objects and set values for the following fields:

  • Who (ForeignKey to Contact)

  • Subject

  • Start Date Time

  • End Date Time

  • Description

  • Activity Date Time

  • Duration In Minutes

  • What (ForeignKey to an Account, Contact, or Opportunity)

 


Installing LivePreso for Salesforce launch buttons

Introduction

The LivePreso application has the ability to be opened directly from Salesforce Buttons. Standard Salesforce buttons can be created for Accounts, Contacts, and Opportunity objects. These Buttons can tell the LivePreso application to open on the Appointment creation window, with the Account, Contact or Opportunity information pre–filled.

Salesforce Classic

From the Salesforce “Setup” page (link top right), type the word “button” into the LHS search filter; you’ll see various submenu items called “Buttons, Links, and Actions”: one under each of Accounts, Contacts, and Opportunities. Click one of them then click the “New Button or Link” button. The “Content Source” should be set to “URL”. The available URL formats are detailed below.

Salesforce Lightning

From the Salesforce “Setup” page (link top right), type the word “button” into the LHS search filter; you’ll see the “Object Manager” link, click on it. On the Object Manager page is a table. Click on one of the Account or Contact or Opportunity rows, then the “Buttons, Links and Actions” submenu item. Click the “New Button or Link” button. The “Content Source” should be set to “URL”. The available URL formats are detailed below.

 

There follows a description of some example URLs and their effect when clicked:

 

Open the LivePreso application and prepare to create a new preso.

https://<client>.livepreso.com/preso/new/

 

Open the testing LivePreso application and prepare to create a new preso.

https://<client>.livepreso.com/preso/new/?s=testing

 

Open the LivePreso application and prepare to create a preso for this Salesforce Contact (the {!Contact.Id} token will be expanded when Salesforce renders the button.)

https://<client>.livepreso.com/preso/new/?cr=salesforce&c={!Contact.Id}

 

Open the LivePreso application and prepare to create a preso for a Contact belonging to this Salesforce Account (the {!Account.Id} token will be expanded when Salesforce renders the button.)

 

Open the LivePreso application and prepare to create a preso for a Contact belonging to the Salesforce Account who owns this Opportunity (the {!Opportunity.Id} token will be expanded when Salesforce renders the button.)

 

Open the LivePreso application and prepare to create a preso for a Contact belonging to this Salesforce Lead (the {!Lead.Id} token will be expanded when Salesforce renders the button.)

 

When testing button links in a staging environment, the query paramer &s=release will need to be included.