Skip to main content

BirdEye Native Integration - Carestream Dental

Updated today

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

Integrating BirdEye with Carestream Dental
User Manual

*SUPPORT ARTICLE

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)


Introduction

Carestream Dental is a practice management solution and imaging equipment provider for oral health professionals and dentists. Integrating Carestream Dental with BirdEye will automate the process of sending out review requests to patients on a daily basis.


Integration Requirements

Triggers Supported

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

Trigger Name

Trigger Description

Carestream Dental Trigger

This trigger is used to fetch customer data based on the practice provider mapping and appointment status.

Details required from the client

  • Trigger details

  • Appointment Status (Should be provided by the client exactly as it is, during the initial setup, if it needs to be filtered under ‘Appointment Status’.)

  • Practice/Provider ID (For more information, refer to this document.)

  • Customer ID

  • Email

  • Enterprise ID

Details required from the BirdEye dashboard

  • API Key

  • Enterprise ID for multi-location account

  • Business ID for single location 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 Carestream Dental, the BirdEye support needs to make an API call with the customer ID and email which will then trigger an email to the customer to approve and accept the terms and conditions. Once that is done, you will receive notification that the customer is ready to go. For on-premise clients, an email will also be sent with a link to install the data extractors locally.


Integration Process

Before you can integrate Carestream 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 --location --request PUT 'https://common-services.birdeye.com/integration/add/businessintegrationgroup' \--header 'Content-Type: application/json' \--data-raw '{"integrationGroupProperties": [{"propertyKey": "csd_enterprise_id","propertyValue": "843fcc50-d1da-e911-bccf-501ac53cb1ec"}],"integrationGroupTriggers": [{"actionIds": [1],"triggerId": 78,"triggerTypeId": 1}],"integrationSourceId": 55,"parentBusinessNumber": 144927995741719}'
  • 144927995741719 - Business ID - This is Enterprise ID for multi-location account and Business ID for a single location SMB account

  • 78 - Integration Trigger ID - There is only one possible trigger for Carestream Dental.

  • 843fcc50-d1da-e911-bccf-501ac53cb1ec - CSD Enterprise ID - This will be provided by the client during the initial set up call.

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

Copy Curl Command

curl -X GET https://common-services.birdeye.com/integration/trigger/integrationtriggers/sourceid/55 -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": 78,"triggerService": "carestreamDentalTriggerService","displayName": "Carestream Dental Trigger","description": "This trigger is used to fetch customer data based on the practice provider mapping and appointment status.","active": true,"integrationTriggerType": {"id": 1,"name": "JOB"},"caseCreationTriggerType": {"id": 1,"name": "JOB"},"actionGroupId": 1,"sourceIdsList": [55],"triggerName": "Appointment"}]
  • 78 - Trigger ID - Only one Trigger ID is available for Carestream Dental integration.

c) Find business integration group details (Curl Command)

Copy Curl Command

curl -X GET https://common-services.birdeye.com/integration/businessintegrationgroup/144927995741719 -H 'Cache-Control: no-cache'[{"groupId": 13162,"integrationSourceType": {"id": 55,"integrationSource": "CARESTREAMDENTAL","sourceCategory": "Dental","integrationType": "Birdeye API","integrationPlan": "Basic","oauthEnabled": false},"integrationGroupTriggers": [{"triggerId": 78,"triggerTypeId": 1,"actionIds": [1]}]}]
  • 144927995741719 - Business ID: Enter the Business ID here to get the integration group details for a business.

13162 - 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": 13162,"integrationGroupTriggers":[{"triggerId":78,"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.

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

  • 78 - 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 the curl command

curl --location --request PUT 'http://localhost:9090/integration/add/businessintegrationmapping' \--header 'content-type: application/json' \--header 'Content-Type: text/plain' \--data-raw '{"businessNumber":144927995741719,"integrationGroupId":13162,"integrationProperties": [{"propertyKey": "practice_provider_mapping","propertyValue": "[{practiceId:8f0cb8c7-4e71-e711-80c2-000d3a1159d8,providerId:Bc8f1f300-160a-ea11-828b-501ac53c5526},{providerId:a8f1f300-160a-ea11-828-501ac53c5526}]"},{"propertyKey": "appointment_status","propertyValue": "Checked In,Cancelled"}]}'
  • 144927995741719 - Business ID: Enter the Business ID for the SMB Business.

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

  • 8f0cb8c7-4e71-e711-80c2-000d3a1159d8 - Practice ID - If the client wants the appointments on the basis of Practice ID, it should be provided in practice_provider_mapping as mentioned above. You have the ability to add multiple comma separated values.

  • Bc8f1f300-160a-ea11-828b-501ac53c5526 - Provider ID - If the client wants the appointments on the basis of Provider ID, it should be provided in the practice_provider_mapping as mentioned above. You have the ability to add multiple comma separated values.

  • Checked In,Cancelled - Appointment Status - To be provided by the client.
    Note: This is a mandatory requirement, if multiple statuses are provided, they should be comma separated.

3. Integration Mapping (Without Practice/Provider Mapping)

Copy the curl command

curl --location --request PUT 'https://common-services.birdeye.com/integration/add/businessintegrationmapping' \--header 'content-type: application/json' \--header 'Content-Type: text/plain' \--data-raw '{"businessNumber":144927995741719,"integrationGroupId":13162,"integrationProperties": [{"propertyKey": "appointment_status","propertyValue": "Checked In,Cancelled"}]}'
  • 144927995741719 - Business ID: Enter the Business ID for the SMB Business.

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

  • Checked In,Cancelled - Appointment Status - To be provided by the client. NOTE: This is a mandatory requirement, if multiple statuses are provided, they should be comma separated.


4. Integration Mapping (Enterprise Businesses)

Copy the Curl Command

curl --location --request PUT 'https://common-services.birdeye.com/integration/add/businessintegrationmapping' \--header 'content-type: application/json' \--header 'Content-Type: text/plain' \--data-raw '{"businessNumber": 152347033682163,"integrationGroupId": 13162,"integrationProperties": [{"propertyKey": "practice_provider_mapping""propertyValue": "[{practiceId:8f0cb8c7-4e71-e711-80c2-000d3a1159d8,providerId:Bc8f1f300-160a-ea11-828b-501ac53c5526}]"},{"propertyKey": "appointment_status","propertyValue": "Checked In,Cancelled"}]}'
  • 152347033682163 - 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.

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

  • 8f0cb8c7-4e71-e711-80c2-000d3a1159d8 - Practice ID - If the client wants the appointments on the basis of Practice ID, it should be provided in practice_provider_mapping as mentioned above.

  • Bc8f1f300-160a-ea11-828b-501ac53c5526 - Provider ID - If the client wants the appointments on the basis of Provider ID, it should be provided in the practice_provider_mapping as mentioned above.

  • Checked In,Cancelled - Appointment Status - To be provided by the client. NOTE: This is a mandatory requirement, if multiple statuses are provided, they should be comma separated.


5. Integration Mapping (Enterprise Businesses without Practice/Provider Mapping)

Copy the Curl Command

curl --location --request PUT 'https://common-services.birdeye.com/integration/add/businessintegrationmapping' \--header 'content-type: application/json' \--header 'Content-Type: text/plain' \--data-raw '{"businessNumber": 152347033682163,"integrationGroupId": 13162,"integrationProperties": [{"propertyKey": "appointment_status","propertyValue": "Checked In,Cancelled"}]}'
  • 152347033682163 - 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.

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

  • Checked In,Cancelled - Appointment Status - To be provided by the client.
    NOTE: This is a mandatory requirement, if multiple statuses are provided, they should be comma separated.

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 Carestream Dental are:

  1. ‘Appointment status’ is not in the allowed list

  2. Integration is beta

Description

  1. The patient appointment status is different than those present in the allowed list of status.

  2. The integration setup is currently set to beta.

Did this answer your question?