The information contained in this document is confidential, privileged, and only for the use of internal Birdeye users. This document may not be used, published or redistributed.
This integration is supported for both SMB & Enterprise businesses.
Integrating Birdeye with CareCloud
User Manual - SUPPORT ARTICLE
CareCloud is an Electronic Health Record software used by medical practitioners to manage patient records. CareCloud offers features such as real-time patient flows, rich patient summaries, built-in templates, and clinical documentation.
Birdeye can seamlessly integrate with your CareCloud account and send out review solicitations to your patients automatically. Integrating CareCloud with Birdeye will automate the process of sending out review requests to your patients on a daily basis.
Table of Contents
Supported Triggers
Practice Location Name or Provider Name (Optional)
Details required from the Birdeye dashboard
Login
Manage Triggers
Manage Properties
Manage Locations
Integration Requirements
Supported triggers
Birdeye allows you to fetch data from your CRM using some predefined triggers. Here is the supported trigger for CareCloud:
Trigger Display Name | Trigger Name/Value | Trigger Description |
CareCloud Appointment | CareCloud Appointment Trigger | This trigger is used to fetch completed appointments from the CareCloud platform |
Information required from Birdeye Dashboard
For single location SMB account - Business ID
Login to your Birdeye account, go to Left Navigation Rail and click on ‘Settings’. Once the new page appears, click on ‘Integrations’ and select ‘API.’
You will find the ‘Business ID’ and ‘API key’ shown in the image.
For multi-location accounts - Enterprise ID and Business IDs of all locations
Enterprise ID
Business IDs of all locations
Login to your Birdeye account, go to Left Navigation Rail and click on ‘Settings’. Once the new page appears, click on ‘Profile’ and select ‘Business Profiles.’
To view Location ID, hover over the ‘Status’ of location.
Integration Process
Before you can integrate CareCloud with Birdeye, you will need to set up the following configurations on the integration support dashboard:
To set up native integration, we have an integration support dashboard, where we need to set up the integration and then follow these steps to complete the configuration.
Log in
After successful login in the integration dashboard, you have to click on ‘BE integration’ and then click on ‘Add Integration’.
Search for the CRM in the search bar and select it. Click on ‘Next’.
Manage Triggers
The trigger is automatically selected as only one trigger is supported.
Note: To fetch information for all the triggers available using curl commands, use this command. To replace triggers, use this curl command.
Manage Properties
Here; you can manage group-level properties, which will be applied to all locations under a CRM.
Customer Fetch Delay: It is used if businesses want to send review requests with a delay(number of days).
Note: This step will create a group for our integration. Alternatively, you can do it via curl commands.
For SMB accounts, you can access the curl command.
For Enterprise accounts, you can access the curl command.
Manage Locations
For Single Location/Multi-Location Accounts, select the location from the drop-down menu and click on Add Location (In the case of Single Location accounts, it will give only one option).
A drawer will appear on the right-hand side.
The Status, Frequency, and Next RunTime will be set by default. You can make changes if required.
Status: it shows the integration status (Active or Inactive).
Frequency: It is the number of times integration will sync with CRM (Days or Hours).
Next RunTime: It is the next scheduled time when the integrations will run.
Appointment Status: Enter the appointment status for which the customer wants to send review requests. You can add multiple values using a comma separator from the CareCloud Portal, and you will get this information under the appointment section. It can also be left blank.
Location Name: Enter the location name from the CareCloud Portal, and you will get this information under the appointment section.
To search the location name on CareCloud, click on the linkProvider Name: Enter the Provider name from the CareCloud Portal, and you will get this information under the appointment section.
To search the provider name on CareCloud, click on the linkCustomer Fetch Delay: It is used if businesses want to send review requests with a delay(number of days).
Override Group Properties: The user can override any of the below-mentioned properties for a particular location.
Click on ‘Next’ and click on ‘Save.’
Note:
For SMB: You can use ‘manage the locations’ using this curl command.
For Enterprise: You can use ‘manage the locations’ using this curl command.
Complete Integration within Birdeye dashboard
The rest of the setup is to be completed within the business’ Birdeye dashboard:
To complete the process, click on the 'Settings' tab located on the left navigation rail of your Birdeye dashboard. Click on the ‘Business Profile’ under the ‘Profile’ section.
Click on the specific location for which you have set up the integration.
Once you click on the particular location, it will redirect you to that location. Now, scroll down to the ‘CRM Integrations’, and click on the ‘Authorize CareCloud’ button to authorize the business.
You will be redirected to the CareCloud login screen. If there is more than one Practice, select the Practices which need to be integrated.
Enter your login credentials and click on the ‘Continue’ button at the bottom.
On the next screen, you need to grant Birdeye access to your data on CareCloud. Click on the ‘Allow’ button to proceed.
Now you will be redirected to the Birdeye account. You can view an ‘Authorized’ status next to CareCloud.
Curl Commands
Before you can integrate CareCloud with Birdeye, you will need to set up the following configurations:
A business integration group is a configuration that supports the business hierarchy of individual businesses on the Birdeye platform. The common properties 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 you will need to run to set this up.
Create Integration Group (Curl Command)
Copy this Curl Command
curl --location --request PUT 'https://common-services.Birdeye.com/integration/add/businessintegrationgroup' \
--header 'Cache-Control: no-cache' \
--header 'Content-Type: application/json' \
--data-raw '{
"parentBusinessNumber": 159894373919788,
"integrationSourceId": 67,
"integrationGroupTriggers": [
{
"actionIds": [
1
],
"triggerId": 91,
"triggerTypeId": 1
}
]
}'159894373919788 - Business ID - This is Enterprise ID for a multi-location account and Business ID for a single location SMB account
91 - Integration Trigger ID - It represents the trigger ID for the CareCloud Trigger.
NOTE: We will get the group ID once we run the first curl (Integration Group) and make a note of the group ID, as that will be required while we are doing the integration mapping.
Fetch information for all the triggers available for CareCloud (Curl Command)
Copy this Curl Command
curl -X GET https://common-services.Birdeye.com/integration/trigger/integrationtriggers/sourceid/15 -H 'cache-control: no-cache' -H 'content-type: application/json'
Sample response: A sample response like this (see below) will appear after you run the curl command. The response will have the trigger name, description and ID. This trigger ID will be utilized while creating the integration group. Integration can have one or more triggers. To use more than one trigger, enter comma-separated values while creating the integration group.
[
{
"id": 91,
"triggerService": "careCloudAppointmentTriggerService",
"displayName": "CareCloud Appointment",
"description": "This trigger is used to fetch completed appointments from CareCloud Platform",
"active": true,
"integrationTriggerType": {
"id": 1,
"name": "JOB"
},
"actionGroupId": 1,
"sourceIdsList": [
67
],
"triggerName": "CareCloud Appointment Trigger",
"caseTypeId": 1
}
]91 - Trigger IDs
Find business integration group details (Curl Command)
Copy this Curl Command
curl -X GET https://common-services.Birdeye.com/integration/businessintegrationgroup/149581663020602 -H 'Cache-Control: no-cache'
149581663020602 - Business ID: Enter the Business ID here to get the integration group ID for the business.
Sample Response:
{
"groupId": 21000,
"integrationSourceType": {
"id": 67,
"integrationSource": "CARECLOUD",
"sourceCategory": "Healthcare",
"integrationType": "Birdeye API",
"integrationPlan": "Standard",
"oauthEnabled": true
},
"integrationGroupTriggers": [
{
"triggerId": 91,
"triggerTypeId": 1,
"actionIds": [
1
]
}
]
}21000 - Group ID: A group ID will be returned in the sample response with the details of the existing trigger for the business.
Update Trigger Information (use only if a business wants to change) (Curl Command)
Copy this 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": 142,"integrationGroupTriggers":[{"triggerId":15,"triggerTypeId":1}]}'replaceTriggers=true - To replace existing trigger(s), enter the value for replaceTriggers as To add a new trigger(s) to the existing list, the value for replaceTriggers should be false
142 - The Group ID that was returned in the previous step will be entered here.
15 - Enter the Trigger ID(s) that need to be added or updated to the integration.
Business Integration Mapping (Single location businesses)
This configuration is developed to create the actual business integration mapping for single-location businesses or SMBs.
Copy this 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": 151980725935863,"active": true,"integrationGroupId" : 25,"integrationProperties":[{"propertyKey" : "appointment_status","propertyValue": "Checked-Out, Billed"}, {"propertyKey" : "location_name","propertyValue": "Mike Dental Centre"}]}'151980725935863 - Business ID- Enter the Business ID here.
25 - Group ID- Enter the Group ID that was returned when the Integration group was created.
Checked-Out, Billed - Appointment Status(Optional) - This is an optional field. Default Appointment status is already set for default in Integration which are (Checked-Out and Billed); if the client wants to send review requests to specific appointment statuses, then do set Appointment Status; it will be provided by the client. This property can accept multiple comma-separated values. We can get the Appointment Status as described in the below section.
Mary Cathy - Provider Name(Optional)- This is an optional field. Provider name will be provided by the client. We can get the corresponding Provider name as described in the below section.
NOTE: You have to provide the provider name in First-Name Last-Name format: Donald Trump in which it will be visible on CareCloud Portal as (Last-Name, First-Name) such as Trump, Donald.
Business Integration Mapping (Multi-location businesses)
Copy this 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": 151980725935863,"active": true,"integrationGroupId" : 25,"integrationProperties":[{"propertyKey" : "location_name","propertyValue": "Mike Dental Centre"}, {"propertyKey" : "provider_name","propertyValue": "Mary Cathy"}, {"propertyKey" : "appointment_status","propertyValue": "Checked-Out, Billed"}]}'151980725935863 - Business ID- Enter the Business ID here.
25 - Group ID - Enter the Group ID that was returned when the Integration group was created.
Mike Dental Centre - Location Name(Mandatory) - This is a mandatory field. The location name will be provided by the client. We can get the corresponding Location name as described in the below section.
Mary Cathy - Provider Name(Optional) - This is an optional filter field. ‘Provider name’ will be shared by the client. We can get the corresponding ‘Provider name’ as described in the below section.
NOTE: You have to provide the provider name in First name and Last name in the format: Donald Trump to make it visible on CareCloud Portal as (Last name, First name) such as Trump, Donald.Checked-Out, Billed - Appointment Status(Optional) - This is an optional field. Default Appointment status is already set for default in Integration which is (‘Checked-Out’ and ‘Billed’); if the client wants to trigger a review request for a specific ‘Appointment status’, then do set ‘Appointment Status’, it will be provided by the client. This property can accept multiple comma-separated values. We can get the ‘Appointment Status’ shown below:
Finding the Location Name, Appointment Status, and Provider Name
The ‘provider_name’, ‘location_name’, and ‘appointment_status’ for a business can be found on the CareCloud Portal. After logging in to your account, select the ‘Business Name’ on the top bar and then click on the ‘Appointments’ tab on the left navigation rail. On the new page, you can find the information.
Restriction Reason
Restriction reason is used to identify the contacts who 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 CareCloud are:
Provider name is not in the allowed list
Appointment status is not on the allowed list
Integration is beta
Troubleshooting steps:
Check for pms_appointment_provider_name in bc-json-logs for the value present for the customer.
Check for pms_appointment_status in bc-json-logs for the value present for the customer.




















