In this article
Objective
Integrate Microsoft® Dynamics with Coconut to provide staff members with the ability to sync and view appointments and clients in either application.
NOTE: Microsoft Dynamics is an optional add-on. Please connect with your Customer Success Manager to get started.
Steps
From the Field Mappings tab in Coconut, you can modify existing field mappings, add new field mappings, or import new field mappings for your integration.
NOTE: You can map a Coconut field to multiple Dynamics fields, if desired. For example, a Coconut status to a Dynamics status and that same Coconut status to a Dynamics string or integer field.
Access and modify field mappings
To access the field mappings area of the Dynamics <> Coconut integration:
From the navigation menu, click Settings
From Integrations & API, click CRM
From the Field Mappings tab, select the desired field and mapped pair from the Coconut Software and Dynamics 365 dropdown lists
Click Save
Add a field mapping
To add a field mapping:
From the navigation menu, click Settings
From Integrations & API, click CRM
From the Field Mappings tab, click + Add Mapping
Select a field to be mapped from the Coconut Software dropdown list
Confirm the value for the mapped pair by selecting it from the Dynamics 365 dropdown list
Click Save
Import field mappings
To import field mappings:
From the navigation menu, click Settings
From Integrations & API, click CRM
From the Field Mappings tab, click Import Dynamics Fields
All fields for Leads and Appointments that meet the criteria are imported.
NOTE: Fields that do not meet all of the following criteria will not be imported:
IsValidForCreate is true
IsValidForUpdate is true
AttributeType is one of DateTime String Integer Memo Double State
NOTE: The field’s label will display in the language of the user authenticated with the integration.
Update field mapping translations
Field mappings can reflect a user’s preferred language in Coconut. To do this, you will need to enable the desired language packs in your Microsoft Dynamics environment.
For instructions on how to configure language packs, please refer to Microsoft’s documentation.
Once the desired language packs are enabled in your Microsoft Dynamics environment:
Navigate to your Coconut instance
From the navigation menu, click Settings
From Integrations & API, click CRM
From the Field Mappings tab, click Import Dynamics Fields
The following language packs are supported:
English
Chinese (PRC)
French
Korean
Polish
Portuguese (Brazil)
Russian
Spanish
Field Mappings Reference
Default Field Mappings
The following field mappings happen by default when the integration is connected for the first time. They are organized based on entity.
NOTE: This default field mapping assumes that your organization has not modified your Dynamics 365 environment.
Appointments
Coconut Field | Dynamics Field (Logical Name) |
Appointment → Start UTC | Scheduled Start (scheduledstart) |
Appointment → End UTC | Scheduled End (scheduledend) |
Appointment → Status | State Code (statecode) |
Service → Name | Subject (subject) |
Appointment → Internal Notes | Description (description) |
Leads
Coconut Field | Dynamics Field (Logical Name) |
Service → Name | Topic (subject) |
Client → First Name | First Name (firstname) |
Client → Last Name | Last Name (lastname) |
Client → Email | Email (emailaddress1) |
Client → Cell Phone | Mobile Phone (mobilephone) |
Available Coconut Fields
The following fields in Coconut are available for mapping to your organization’s Dynamics fields. They are organized based on entity.
Appointments
Label | Field | Type | Comments |
Start UTC | start_utc | Date Time | n/a |
End UTC | end_utc | Date Time | n/a |
Status | status | Int | n/a |
Internal Notes | notes | String | n/a |
Meeting Method | meeting_method | String | n/a |
Meeting Link | meeting_link | String | Default character limit is 100 characters.
Coconut recommends increasing this limit to a minimum of 200 characters. To increase the character limit, please refer to Microsoft's documentation. |
Booked By | booker_id | String | When booked by staff, returns the name of the staff member; otherwise states "Booked By Client" |
Booked Through | booked_through | String | n/a |
Clients
Label | Field | Type | Comments |
First Name | first_name | String | n/a |
Last Name | last_name | String | n/a |
String | n/a | ||
Home Phone | phone | String | n/a |
Cell Phone | cell_phone | String | n/a |
Work Phone | work_phone | String | n/a |
Language | lang | String | The value selected in the language selector in the client view when the client books the appointment; this is not to be confused with Attendee - Spoken Language |
External ID | external_id | String | n/a |
Service
Label | Field | Type | Comments |
Name | name | String | n/a |
External ID | external_id | String | n/a |
Attendee
Label | Field | Type | Comments |
Additional Details | notes | String | n/a |
Booked By | booker_id | String | When appointment is created or updated without a client, an empty string is returned.
When one or more clients are associated with the appointment, the full name of each staff member who added a client to the appointment is returned.
If appointment is booked by client, "Booked by Client" is returned. |
Booked Through | booked_through | String | n/a |
Feedback | feedback.experience, feedback.rating | Text | Feedback provided on the appointment after completion.
If an appointment is created or modified and no client is associated with the appointment, an empty string is returned. Otherwise, the booking channel used for each client added to the appointment is returned.
If the appointment is booked by a staff member, the staff member's name is returned. Otherwise, "Booked by Client" is returned.
Format: “<experience> (<rating>)” ex, “Great service (4.0)” |
Spoken Language | spoken_language | String | When staff have spoken languages assigned, the attendee can choose a staff member based on a specific language, eg: “Anyone who speaks German”; Not to be confused with Client - Language |
Location
Label | Field | Type | Comments |
Name | name | String | n/a |
External ID | external_id | String | n/a |
Mapping Statuses
Appointment statuses in Coconut correspond to the following state codes in Dynamics.
Coconut Appointment Status | Dynamics State Code |
Confirmed | Scheduled |
Complete | Completed |
No Show | Cancelled |
Cancelled | Cancelled |
In Progress | Scheduled |
Served | Completed |
Unmodifiable Field Mappings
The following field mappings cannot be modified.
Dynamics Field | Value |
Appointment Owner | Appointment Owner is set as the staff member who is attending the appointment, if that staff member can be linked to in Dynamics by External ID; if no External ID exists for the staff member who booked the appointment, the Appointment Owner is set to the Dynamics user who connected the integration |
Required (Attendees) | Each client attendee for an appointment is included in the Required field in Dynamics |
Type Conversion
A field can only be mapped to another field if support to map to that type is available. At this time, the field types in Coconut are mapped to the following Dynamics field types.
Coconut Date Time -> Dynamics Date Time
Coconut String -> Dynamics String, Integer, or Memo
Coconut Integer -> Dynamics String or Integer
Additional Resources
Please refer to this article for an overview of the integration.
A note on access and visibility
Admin users can access Settings and configure the Dynamics integration.
NOTE: You will require someone at your organization with Microsoft administrator access to fully integrate Dynamics with Coconut.