Skip to main content

BirdEye Native Integration - Curve Dental

Updated in the last hour

*This integration is supported for both SMB & Enterprise businesses.

We

Integrating BirdEye with CURVE DENTAL
User Manual

Table of Contents

Introduction

Integration Requirements

  • Triggers Supported

  • Information required from the Business

  • Information from BirdEye dashboard

Initial Steps

Integration Process

Business Integration Group

  • Create Integration Group (Curl Command)

  • Fetch information for all the triggers (Curl Command)

  • Find business integration group details (Curl Command)

  • Update Trigger Information (Curl Command)

Integration Mapping

  • Integration Mapping (SMB Businesses)

  • Integration Mapping (Enterprise Businesses)

Integration Process on (BirdEye Dashboard)


Introduction

Curve Dental is a web-based Practice Management Solution (PMS) that helps businesses keep track of their patients' information and appointments. Curve Dental helps to manage every facet of the dental practice business, from patient charting and clinical notes to patient education, treatment planning, imaging, billing, scheduling, and reporting. It thus helps in automating all administrative and operational aspects of a dental office. Integrating Curve Dental with BirdEye will automate the process of sending out review requests to patients on a daily basis.

Once Curve Dental is integrated with BirdEye, BirdEye will fetch client information from Curve Dental once daily from the cases that were closed on the previous day. BirdEye collects the first name, last name, email address and phone number of your patient and automatically sends them review requests based on the preferences set within the BirdEye dashboard.


Integration Requirements:

Triggers Supported

BirdEye allows you to fetch data from your CRM using a predefined trigger. Here is the supported trigger for Curve Dental:

Trigger Name

Trigger Description

Curve Dental Closed Appointments Trigger

This trigger is used to fetch all appointments with Checkout status from Curve Hero based upon the date specified.

Details required from the Curve Dental dashboard

  • Trigger details

  • Base URL

  • Provider Id (Enterprise businesses - Needed for locations that have the same base URL)

Details required from the BirdEye dashboard

  • Enterprise Id for multi-location account.

  • Business Id for single location SMB account.

Information from BirdEye Dashboard

  1. For single location SMB account - Business ID

  2. For multi-location account - Enterprise ID and Business IDs of all locations
    Enterprise ID

Business IDs of all locations


Initial Steps

In order to set up the integration with Curve Dental, you need to contact the Curve Dental support team. You can either send an email to the support team (support@curvedental.com) or call them at 1-888-910-4376 ext- 3 to setup the integration. It will take up to 24 hours for Curve Dental to turn on the initial integration. For convenience, BirdEye needs to provide the base-URL to successfully set up the initial integration. A sample email for reference is written below:

SAMPLE EMAIL

Hi,

I would request your help in enabling integration for <BUSINESS NAME> with BirdEye at your end.
The base-URL for this business is <URL HERE>.

Thank you,
<NAME>
<DESIGNATION>

NOTE: The base URL will be shared by the customer on the initial setup call. Curve Dental customer support team will contact BirdEye once the initial setup is completed.


Integration Process

Before you can integrate Curve Dental with BirdEye, you will need to set up the following configurations:


1. Business Integration Group:

A business integration group is a configuration that supports the business hierarchy of individual businesses on the BirdEye platform. The properties that are common for all business integrations are entered at the group level. Setting up a business integration group allows you to associate multiple business locations with the Enterprise account. Below is the list of curl commands that you will need to run to set this up.

a) Create Integration Group (Curl Command)

Copy Curl Command

curl -X PUT https://common-services.birdeye.com/integration/add/businessintegrationgroup -H 'cache-control: no-cache'
-H 'content-type: application/json' -d '{ "parentBusinessNumber" :652565656777 ,
"integrationSourceId" : 13, "integrationGroupTriggers":[{"triggerId":13,"triggerTypeId":1}], "integrationGroupProperties" :[ {"propertyKey" :"base_url",
"propertyValue" :"https://birdeye.curvehero.com"}, {"propertyKey": "fetch.household.head.data", "propertyValue": "false"} ] }'
  • 652565656777 - Business ID - This is Enterprise ID for multi-location account and Business ID for a single location SMB account

  • 13 - Integration Trigger ID - Can be one or more triggers. Ask client what trigger they would like to integrate with then run the curl command to fetch all possible triggers for Curve Dental. Identify the trigger ID (s) and insert (use commas) in case of multiple trigger Ids.

  • https://birdeye.curvehero.com - Base URL -The Base URL can be requested from the business itself. In case the URL provided is https://xyz.curvehero.com/login/, only https://xyz.curvehero.com shall be needed to setup the integration.

  • fhousehold.head.data - Fetch.household.head.data (Provided by client during the setup) Select property value as “true“ to handle cases when the patient contact details are not provided, customer should be checked in with their household heads contact details.

b) Fetch information for all the triggers available for Curve Dental (Curl Command)

Copy Curl Command

curl -X GET https://common-services.birdeye.com/integration/trigger/integrationtriggers/sourceid/13 -H 'cache-control: no-cache' -H 'content-type: application/json'

Sample response: A sample response like this would appear after you run the curl command. The response will have the trigger name, description and the ID. This trigger Id will be utilized while creating the integration group. An integration can have one or more triggers. To use more than one trigger, enter comma separated values while creating the integration group.

[
{
"id": 13,
"integrationSourceId": 13,
"triggerService": "curveDentalAppointmentTriggerService",
"displayName": "Curve Dental Closed Appointments Trigger",
"description": "This trigger is used to fetch customer data based on the appointments with Checkout status",
"active": true,
"integrationSourceName": "CurveHero",
"integrationTriggerType":[{"id":1,"name":"JOB"}]
}
]
  • 13 - Trigger ID

c) Find business integration group details (Curl Command)

Copy Curl Command

curl -X GET https://common-services.birdeye.com/integration/businessintegrationgroup/152347033682163 -H 'Cache-Control: no-cache'
  • 152347033682163 - Business ID: Enter the Business ID here to get the integration group details for a business.

[
{
"groupId": 67,
"integrationSourceType": {
"id": 13,
"integrationSource": "CURVEHERO",
"sourceCategory": "Dental",
"oauthEnabled": true
},
"integrationGroupTriggers": [
{
"triggerId": 13,
"triggerTypeId": 1
}
]
}
]

67 - Group ID: A group Id will be returned in the sample response with the details of the existing triggers for a business.

d) Trigger Information: Only required if client wants a change (Curl Command)

Copy Curl Command

curl -X POST 'https://common-services.birdeye.com/integration/update/businessintegrationgroup?replaceTriggers=true' -H 'cache-control: no-cache' -H 'content-type: application/json' -d '{ "groupId": 67,"integrationGroupTriggers":[{"triggerId":13,"triggerTypeId":1}]}'
  • replaceTriggers=true -To replace existing trigger(s), enter the value for replaceTriggers as true. To add new trigger(s) to the existing list, the value for replaceTriggers should be false.

  • 67 - Group ID: The Group ID which was returned in the previous step will be entered here.

  • 13 - Trigger ID: Enter the Trigger ID (s) which need to be added or updated to the integration.


2. Integration Mapping (SMB Businesses)

Once the Integration Group is created, the next step is to create the Integration Mapping.

Copy Curl Command

curl -X PUT https://common-services.birdeye.com/integration/add/businessintegrationmapping-H 'cache-control: no-cache' -H 'content-type: application/json'
-d '{ "businessNumber": 8718237842784 , "integrationGroupId" : 65 , "active": true }'
  • 8718237842784 - Business ID: Enter the Business ID for the SMB Business.

  • 65 - Group ID: Enter the Group ID which was returned when the Integration group was created.


3. Integration Mapping (Enterprise Businesses with Customization)

Once the Integration Group is created, the next step is to create the Integration Mapping.

Customization: If the business location has unique base URL and

  1. Location has only a single provider mapped in Curve Dental, then this business will be set up as SMB.

  2. Location has multiple providers mapped in Curve Dental, this business will be set up as SMB but it is mandatory to give the provider id while creating integration mapping like below.

The below set up is done only for business locations with same base URL.

Copy the Curl Command

curl -X PUT https://common-services.birdeye.com/integration/add/businessintegrationmapping-H 'cache-control: no-cache' -H 'content-type: application/json'
-d '{ "businessNumber": 8718237842784 , "integrationGroupId" : 65 , "active": true, "integrationProperties": [{"propertyKey": "provider_id", "propertyValue": "23522"}]}'
  • 8718237842784 - Business ID: Enter the Business ID for each location here. If you have 10 locations, the Business ID will have to be replaced 10 times.

  • 65 - Group ID: Enter the Group ID which was returned when the Integration group was created.

  • 23522 - Provider ID: This is a unique ID for each business location. This will be provided by the customer during the initial call.


Integration Process (BirdEye Dashboard)

Keep your CurveHero base-URL handy and provide it to the technical support team while setting up the integration, (this can be copied from the address bar of your browser). After the initial integration is set up by the BirdEye technical support team, you can log in to your BirdEye account to complete the integration process.

To complete the process, click on the 'Setup' tab located on the left navigation rail of your BirdEye dashboard.

On the bottom of the 'Setup' page, click on the 'Authorize Curve Dental' button under the CRM integrations header.

After you click on the Authorize Curve Dental button, you will be asked to enter the 'Username' and 'Password' of your account associated with Curve Dental. After adding the login credentials click on 'Log In'.

You will now be redirected to the Curve Dental website. Navigate to the three horizontal bars on the top right corner and click on 'Administration'.

On the next screen that appears, click on 'Open Orange Add-on Services' under ‘Security and Performance’ tab. You will notice that BirdEye will ask for permission to fetch client data from Curve Dental. Click on 'Allow' to approve integration with BirdEye.

Please note: It may take up to 24 hours before you see the 'Successfully authorized' message next to Curve Dental under the 'Setup' tab.

For enterprise businesses

For business locations with a unique base URL in Curve Dental, there can be below 2 scenarios:

  1. BirdEye Location has only a single provider mapped in Curve Dental.

  2. BirdEye Location has multiple providers mapped in Curve Dental: You need to provide the provider id in this case.

For business locations with same base URL, you need to provide the provider Id for each location in order to ensure that the appointments are mapped to the right business location.

Steps to locate Provider ID:

Following is the information on locating provider id in their PMS. Open Developer tools, go to Network tab and then navigate to the User Management section and click on the desired provider’s name under User Management. The number that is there in the API call is the provider ID. In the screenshot below the provider id of the selected provider is 37


Authorise Business

You need to authorize the business at Integration end after you have authorised them from the Dashboard.
Sometimes it happens the credentials entered were wrong during setup or are expired so we receive 401 Unauthorized Error while running the Integration and as a result Integration will be marked unauthorized. It will not run until the credentials are corrected and the business is authorized again which involves the steps as given in the below document.


Restriction Reason

Restriction reason is used to identify the contacts which have been opted-out(restricted) from sending a review request. This reason can be fetched from Kibana for contacts that are checked-in already.

Possible restriction reasons for Curve Dental are:

  1. ‘Appointment status’ is not checked out

  2. Integration is beta

Description

Patient's appointment status is not 'check out'. The only allowed status is check out.

Did this answer your question?