Salesforce integration [Classic]
Our Salesforce integration enables complete scheduling integration through all phases of the customer lifecycle.
You do not need an assigned product license to install and update Salesforce account settings, though you do need to be an administrator. Learn more
NoteThe integration is available to Salesforce plans at Professional level or higher, so long as they include API access. Please note Professional Salesforce plans may need to purchase API access from their Salesforce account executive, separate from their plan. Learn more
<script id="snippet-prepend">$(function(){
/*disable in widget*/ if($('.w-documentation-article').length === 0){
var ToC = "<nav role='navigation' class='table-of-contents toc-top'><h4>In this article:" + "<ul>"; var el, title, link, header; //Define the heading levels you want to use in ascending order. Can add extra or remove unneeded. $(".hg-article-body h1, .hg-article-body h2, .hg-article-body h3, .hg-article-body h4").each(function() { el = $(this); title = el.text(); if(title != ''){ anchorTitle = el.text().replace(/([~!@#$%^&*()_+=`{}\[\]\|\\:;'<>,.\/\? ])+/g, '-').toLowerCase(); link = "#" + anchorTitle; //Set all headers to a 0-nesting level. header = 'header-nesting-0'; //Adjust header-nesting layers so that they point to the correct html tag. header-nesting-1 should match the second .hg-article-body h# listed above; header-nesting-2 should match the third, etc. if($(this).is('h2')){ header = 'header-nesting-1'; }else if($(this).is('h3')){ header = 'header-nesting-2' } el.html('<a id="'+anchorTitle+'" class="toc-anchor">' + el.html()); newLine = "<li class='"+header+"'>" + "<a class='article-anchor' href='" + link + "'>" + title + "" + "";
ToC += newLine; } }); ToC += "" + ""; $("#snippet-prepend").before(ToC); }});
</script><style>/* CSS to style the TOC as it displays and the auto-created anchors.toc-top styles the box for the TOC; adjust styles here to tweak look and feel */
.toc-top { background-color: #FAFAFA; /* set to #fff or delete entirely for no background */ border: 1px solid #C8C8C8; /* adjust the color hex here to change border color */ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05) inset; margin-top: 24px; margin-bottom: 36px; min-height: 20px; padding: 13px 20px; max-width: 75%;}.toc-top h4 { font-size: 18px; line-height: 26px; margin: 0 0 8px; font-weight: 400;}.toc-top ul { padding: 0 0 0 15px !important; margin-bottom: 0;}.toc-top > ul { margin-bottom: 13px!important;}.toc-anchor { display: block; height: 90px; margin-top: -90px; visibility: hidden;}
/* Set the indentation for the nesting levels. May need to be edited to match changes above. Increase or decrease the margin-left to get your desired level of indentation. */.header-nesting-1 { margin-left: 14px;}.header-nesting-1:before { background-image: url(https://dyzz9obi78pm5.cloudfront.net/app/image/id/5d31bcc88e121c9b25ba22c4/n/bulletv2.svg)!important;}.header-nesting-2 { margin-left: 28px;}.header-nesting-2:before { background-image: url(https://dyzz9obi78pm5.cloudfront.net/app/image/id/5d31be536e121cf22b0cc6ae/n/bulletv3.svg)!important;}</style>Setting up the Salesforce integration
Section titled “Setting up the Salesforce integration”Before you can begin sending your booking data to Salesforce, you must set up the connector. This first step of the setup process is connecting the API User. The API User in Salesforce ensures that all API calls between OnceHub and Salesforce have the required permissions.
Once you have connected to Salesforce using the API User, you can install the OnceHub connector for Salesforce.
Note You can test the OnceHub connector for Salesforce with a Salesforce Sandbox environment. The setup will be kept when you switch back to your production environment.
To test the connector in your Sandbox environment, connect OnceHub to an API User created in your Salesforce Sandbox environment and complete the connector setup. Then disconnect and connect to an API User created in your production environment. Learn more about connecting to a Salesforce Sandbox environment
Permission Sets
Section titled “Permission Sets”Permission Sets in Salesforce define what functions and features your Users have access to in Salesforce. To use the OnceHub connector for Salesforce, the API User you create must be granted the appropriate permissions. This is done by assigning the OnceHub permission set.
Salesforce Activity Events
Section titled “Salesforce Activity Events”When a booking is made, a Salesforce Activity Event is always created and related to a Salesforce Lead, Contact, Person Account, or Case record. After the Activity Event is created, it is continuously updated through all phases of the booking lifecycle: Scheduled, Rescheduled, Completed, Canceled, or No-show. Learn more about activity statuses
The Event status (which indicates the current phase of the booking in the booking lifecycle) and the Cancel/reschedule reason fields are provided with the OnceHub connector for Salesforce and are mapped to OnceHub data. You can track the Event Status and the Cancel/reschedule reason by adding these fields to the Activity Event layout.
Configuring the connector
Section titled “Configuring the connector”There are two types of mapping which must be created between OnceHub and Salesforce:
- Universally required Salesforce fields: Universally required fields that do not have a default value in Salesforce must receive a value for an object to be created. For example, if Company is a universally required field for a Lead record, the record cannot be created via the Salesforce API unless a value is provided for the Company field. If it has not been mapped in the field validation step, OnceHub will pass a default value to this field.
- Non-mandatory Salesforce fields: Non-mandatory fields can contain additional Customer data and booking data, some of which is mapped to non-mandatory Salesforce fields by default. You can use these to pass any other optional data to Salesforce.
Note There are some restrictions on the type of data which can be passed between OnceHub and Salesforce. See Supported and non-supported field types in the Salesforce integration for full details.
After configuring the field validation mapping and field mapping, you must define your creation rules. Here you can specify what happens when a new Lead, Contact, Person Account, or Case is created from a booking or when it is updated.
For example, you can decide whether a booking should override an existing Salesforce Lead or update it and who it should be assigned to.
Using the Salesforce integration
Section titled “Using the Salesforce integration”After you’ve completed the connector setup process, you’ll need to connect your OnceHub User account to Salesforce in order to use the Salesforce integration. Each User connects to their own personal Salesforce Account. If you’re an Administrator, you can also make changes to the connector setup after connecting to your Salesforce Account.
In the Salesforce settings section of your Booking page, you can map Salesforce Record Types to the Lead, Contact, Account, Event, and Case records, add an Event to the Salesforce calendar, and select which type of records should be created when you use General links.
Learn more about configuring Salesforce connector settings on your Booking page
When scheduling with existing Salesforce Leads, Contacts, Person Account, or Case records, you can either use our Personalized links (Salesforce ID) for your Salesforce email templates or Salesforce emails, use Salesforce scheduling buttons, or use the Salesforce Record ID to identify Customers during the booking process.
Troubleshooting
Section titled “Troubleshooting”A number of issues may cause problems with the Salesforce integration, such as an API User connection issue or required fields which are not mapped.
You can read more about these issues and how to resolve them in our Salesforce connector troubleshooting article.