Skip to main content
All CollectionsIntegrationsSalesforce
Salesforce<>Coconut: Field Mapping
Salesforce<>Coconut: Field Mapping
Paul Sullivan avatar
Written by Paul Sullivan
Updated over a month ago

Objective

In this article, you’ll learn how to map your Salesforce fields to Coconut for your integration.

NOTE: Salesforce is a paid add-on. Please connect with your Customer Success Manager to get started.

Steps

From Settings, you can modify existing field mappings, add new field mappings, import custom fields, or restore default field mappings for your integration.

​​Configure settings

Here you can adjust client mapping settings to specify how Coconut identifies and aligns clients with Salesforce records when direct matches to Salesforce IDs are unavailable during appointment bookings.

  1. From the navigation menu, click Settings

  2. From Integrations & API, click CRM

  3. From Salesforce, click Settings

    • Decide whether Coconut should align unmatched clients with Salesforce’s Leads, Contacts or Accounts (Person) objects when it looks for an existing client record.

    • This selection decides how Coconut attempts to match clients without a Salesforce ID.

    • For example, if incoming clients in Coconut should map against Leads in Salesforce, select Leads for “Existing clients should match what type of record?”

  4. If you selected Leads in the previous step, further specify how you want Coconut to interact with those Leads.

    • Choose between Contacts or Opportunities to indicate the subsequent object type Coconut should consider when handling unmatched Leads.

  5. If you select Contacts or Person Accounts in the previous step, then the next selection ‘Leads get converted into what type of record?’ is not applicable.

  6. Next, define the sequence Coconut employs to match clients in Salesforce.

    • For instance, selecting Phone Number means Coconut first attempts to match clients based on their Salesforce ID

    • If unsuccessful, it then searches by Phone Number, followed by Name and Email in the order specified

    • This indicates your preference for the matching order

    • Both attributes will still be used to find a match

    • This matching order preference tells Coconut about how you want it to look up Leads/Contacts when it doesn’t have a matching Salesforce ID in Coconut

  7. Lastly, when a new client record is created in Coconut, you can select whether to create Lead or Contact or Person Account in Salesforce

    • Or, choose None so no new record is created in Salesforce

  8. Make the desired changes on your Settings screen in Coconut and they will be automatically Saved and applied on the Salesforce Integration settings.


Salesforce Integration settings page

NOTE: Adjustments to client matching settings directly affect how client data is synchronized and managed between Coconut and Salesforce, impacting the integration’s efficiency and data integrity.

Modify existing field mappings

To modify existing field mappings for your organization’s Salesforce <> Coconut integration:

  1. From the navigation menu, click Settings

  2. From Integrations & API, click CRM

  3. Select a field to be mapped from the Coconut Software dropdown list

  4. Confirm the value for the mapped pair by selecting it from the Salesforce dropdown list

  5. Make your desired modifications

  6. Click Save

NOTE: If you selected Contacts or Leads as a response to “Existing clients should match which type of record?”, make sure to set up the appropriate field mappings in this section.

Add a field mapping

To add a field mapping:

  1. From the navigation menu, click Settings

  2. From Integrations & API, click CRM

  3. From Field Mappings, click Show mappings for Contact, Leads, and Events to expand the field mappings columns

  4. Click Add mapping

  5. Select a field to be mapped from the Coconut Software dropdown list

  6. Confirm the value for the mapped pair by selecting it from the Salesforce dropdown list

  7. Click Save

Salesforce Field Mapping page used to configure which Salesforce fields map to Coconut data


NOTE: Once you sync your Salesforce instance that has person account record type with Coconut then you will Person Accounts as a section under field mappings.

Import custom field mappings

If your organization has custom fields scoped to events, person accounts, or contacts/leads in Salesforce, these are imported into Coconut and mapped as part of your organization’s Salesforce<>Coconut integration.

To import field mappings:

  1. From the navigation menu, click Settings

  2. From Integrations & API, click CRM

  3. Click Import Salesforce Fields

The changes are imported and the custom fields display as options in the Salesforce dropdown list.

Field Mapping Reference

Default Field Mappings

Salesforce fields without a dropdown list are required fields for the integration. While the corresponding Coconut field includes a dropdown list, Coconut recommends NOT modifying the default for these mappings.

The following are required as part of the Salesforce<>Coconut integration.

Leads

Coconut Software Field

Salesforce Field

SFDC User Id

Owner ID

Client Last Name

Last Name

Client Full Name

Company

Events

Coconut Software Field

Salesforce Field

Staff Platform ID

Assigned To ID

Client Platform ID

Name ID

Appointment Start

Start Date Time

Appointment End

End Date Time

Contacts

Coconut Software Field

Salesforce Field

Staff Platform ID

Assigned To ID

Client Platform ID

Name ID

Appointment Start

Start Date Time

Appointment End

End Date Time

Person Accounts

Coconut Software Field

Salesforce Field

First Name

First Name

Last Name

Last Name

Email

Email

Staff Platform ID

Owner ID

Available Coconut Fields

The following fields in Coconut are available for mapping to your organization’s Salesforce fields.

Coconut Software Field

Description

Coconut Client ID

The client’s unique Coconut Software identifier

Client Platform ID

The client’s unique Salesforce identifier

Client First name

The client’s first name

Client Last name

The client’s last name

Client Full name

The client’s full name

Client Email

The client’s email name

Client Address

The client’s street address

Client City

The client’s city of residence

Client State/Province

The client’s state/province of residence

Client Zip/Postal Code

The client’s zip/postal code

Client Country

The client’s country of residence

Client Phone

The client’s phone number

Client Cell Phone

The client’s cell phone number

Client Work Phone

The client’s work phone number

Client Notes

Client profile notes

Coconut Staff Id

The staff’s unique Coconut Software identifier

Staff Platform ID

The staff’s unique Salesforce identifier

Staff First name

The staff’s first name

Staff Last name

The staff’s last name

Staff Full name

The staff’s full name

Coconut Appointment Id

The unique Coconut Software identifier associated with the appointment

SFDC Event Id

The unique Salesforce identifier associated with the appointment

Appointment Start

The appointment’s start time

Appointment End

The appointment’s end time

Appointment Notes

Notes for staff about appointment details

Appointment Meeting Method

The appointment’s meeting method

Appointment Meeting Link

The appointment’s meeting link (applies to video calls)

Location Name

The branch location associated with the appointment

Service Name

The service associated with the appointment

Attendee Notes

Notes shared with clients about their upcoming appointment

Question (i.e. What is your Annual Household Income?)*

The value associated with a custom question configured in Coconut

* The number of questions accessible from the dropdown will match the number of questions within http://{subdomain}.coconutcalendar.com/settings/questions.

Available Salesforce Fields

Options in the Salesforce dropdown reflect the optional fields within your organization’s Salesforce instance at the time of initial setup, or if you have since imported custom fields from Salesforce to Coconut.

To configure custom fields within Salesforce, please refer to their documentation here.

Once configured, import the custom fields by following the steps outlined in Import custom field mappings.

NOTE: This is a live integration, making changes to field mappings can introduce adverse effects during business hours.

Salesforce Setup

Here are some Salesforce-recommended pre-deploy practices and must-haves:

  1. Deploy in Sandbox

    • The first deployment should be done in Sandbox org before production org

    • After tests are done in the sandbox you can connect to your production org

    • For more information, review this Salesforce documentation

  2. Backup current instance

    • Salesforce doesn’t have any rollback functionality for the deployments

    • Coconut recommends you take a backup of your current instances before deployment tests

    • For more information, review this Salesforce documentation

  3. Review Salesforce enforced prerequisites

    • The overall test coverage for Apex components must be at least 75%

    • If you don't have enough test coverage the Coconut layout sync will fail

    • This isn't something Coconut has control over, and you are advised to ensure you have the proper coverage

    • For more information, review this Salesforce documentation

  4. Enable Coconut functionality for Salesforce users

    • Once you have configured Salesforce settings in the Coconut application, you will need to update some layout changes in Salesforce to ensure that the Coconut settings are reflected appropriately

      1. Go to Salesforce -> Administration -> Profiles

        • Choose the type of user you want to enable Coconut appointments for

      2. Choose Visualforce Page Access from the settings

        • Select all the Available Visualforce Pages that have the term “Coconut” in them and “Add” them under “Enabled Visualforce Pages”

      3. Click Save

Adding Coconut-related pages to Enabled Visualforce Pages in Salesforce

Test if the integration is working

  1. In your production instance of Coconut, create a new client in the Clients section of the application

  2. Book a meeting with the said client using Coconut, and assign yourself as the staff member for it

    • Since Coconut syncs events with your Salesforce instance, you can only search for clients that have a Coconut event associated with them

  3. Login to Salesforce and search for the Lead/Contact depending on how your field mappings were set up

    • You will see the Coconut appointment associated with the Lead/Contact

    • You can now edit/delete it and confirm if the appointment changes sync over to Coconut

NOTE: There are two buttons on any appointment: “Edit” and “Edit Coconut Appointment”. ”Edit” is a native Salesforce functionality that only allows you to edit the appointment start and end times, and appointment details. The “Edit Coconut Appointment” button will enable you to edit all aspects of a Coconut appointment.

Troubleshooting

Layout sync issues

If you are unable to see the “New Coconut Appointment” button on the LHS navigation when you go to the Accounts/Leads/Contacts/Event Details pages, visit this Salesforce article for instructions on how to solve these issues.

Insufficient privileges error

A standard Salesforce user will be able to see the “New Coconut Appointment” buttons on the Leads/Contacts pages, but if they click on them and receive an “Insufficient Privileges” error, then the Salesforce administrator can refer to this Salesforce guide to ensure that the Coconut appointment buttons are enabled for the Salesforce user.

The Insufficient Privileges error in Salesforce

Duplicated List Views

Due to a known issue with Salesforce, some list views might duplicate after deploying Coconut buttons to the Salesforce instance. It's essential that after connecting Salesforce with Coconut, Salesforce admins review the Account, Contact, Event, and Lead list views for possible duplicates.

Admins can follow these steps to remove in case of duplicate list views:

  1. Navigate to the Deployment Status page in Setup in Salesforce

  2. Locate the deployment that occurred after connecting Salesforce to Coconut

  3. Note the Deployment Name (Example: 0AfD00000004PvI)

  4. Log in using your Salesforce admin credentials

  5. Go to the Utilities tab and select Metadata API Process Status

  6. Enter the deployment name noted in step 3 into the AsyncProcessId textbox

  7. Choose Deploy as Async Operation

  8. Click on Get Status

  9. Expand all and review components with componentType: ListView, changed: true, and created: true

  10. Note down the ID of the component

    • Example: 00Bau000000bABCDE2

  11. Navigate to the relevant list view page in Salesforce

    • Example: Event list view

  12. Duplicate list views with the same name will appear in the list view dropdown

  13. Choose one of them

    • To delete the correct one, ensure the URL of the current Salesforce page contains the same ID noted in step 11

    • Example: https://../Event/list?filterName=00Bau000000bABCDE2

  14. After confirming the correct duplicate list view, select 'Delete' from the list view controls

For further assistance, please reach out to your Customer Support contact.

More information can be found in the Salesforce documentation.

Rollback

After disconnecting Salesforce integrations from Coconut, it's essential for Salesforce admins to review where custom buttons are being used. Unused buttons should be deleted to maintain system cleanliness and prevent potential issues. Here are the steps for Salesforce admins to review and delete Account, Contact, Event, and Lead objects for both list button and detail page buttons in Salesforce:

  1. Navigate to the management settings for the object you want to edit

    1. (Account, Contact, Event, or Lead)

  2. Go to Buttons, Links, and Actions

  3. Find the button you wish to delete and click on the arrow icon associated with it

  4. Select 'Delete' from the dropdown menu

  5. A list of button or link references will appear, showing where the button is in use

  6. Click on the reference label and remove the button reference from its usage

  7. Once references are removed, return to Buttons, Links, and Actions

  8. Repeat steps 3 and 4, and then confirm the deletion in the 'Are you sure?' dialog by selecting 'Delete'

  9. The page will refresh, and the button will no longer be available in the list

After buttons are deleted, from Visualforce Pages in Setup, delete Coconut pages by following this Salesforce help article.

Finally delete Trusted URL for Coconut from Trusted URLs page in Setup by following this Salesforce help article.

A note on access and visibility

Coconut admin users can access Settings and input integration details in Coconut.

NOTE: You will require someone at your organization with Salesforce administrator access to fully integrate Salesforce with Coconut.

Did this answer your question?