Skip to main content

BirdEye Native Integration - Cloud 9 Ortho

Updated today

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

Integrating BirdEye with Cloud 9 Ortho
User Manual

Table of Contents

Introduction

Integration Requirements

  • Triggers Supported

  • Information & Request form from Business

  • Information from BirdEye dashboard

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


Introduction

Cloud 9 Ortho is a full-featured orthodontic practice management software that offers features like imaging, electronic claims, electronic statements, auto pay/auto- post, and more. Integrating Cloud 9 Ortho with BirdEye will automate the process of sending out review requests to customers on a daily basis.

Once Cloud 9 Ortho is integrated with BirdEye, BirdEye will pull customer information from Cloud 9 Ortho. BirdEye collects the first name, last name, email address, and phone number of your customers and automatically sends them to 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 Cloud 9 Ortho:

Trigger Name

Trigger Description

Cloud 9 Dismissed Appointments Trigger

This trigger is used to fetch customer data based on dismissed appointments.

Request for the Integration with Cloud9 Ortho

To initiate the integration, get this form filled by the business, then send it to: integrations@cloud9.software.

Once the business approves and signs the agreement, you will receive an email from Cloud9 with the Client ID for that business.

Details required from the BirdEye client

  • Trigger details

  • Cloud9 Client ID

Details required from the BirdEye dashboard

  • Business ID for single location SMB account

Information from BirdEye Dashboard

For single location SMB account - Business ID


Initial Steps (Only required for Enterprise setup)

In order to set up the integration with Cloud9, once you receive the client ID, you need to call the below API to fetch the correct location code:
Use the curl command to fetch the location code:

curl --location --request GET 'https://common-services.birdeye.com/commonservices/cloud9/locations?clientId=a030173a-c4a0-43e3-94c1-f1569d224b62&isAwsHosted=false'

Sample Response

[{"locationGuid": "43084447-b57d-4ad6-8fda-78fbccdba7a3","locationName": "S Corp Vallejo","locationCode": "4","locationCity": "Vallejo","locationState": "CA"},{"locationGuid": "d8d5a90d-228b-4ca8-b3c7-ee439afaeb9f","locationName": "S Corp Benicia","locationCode": "6","locationCity": "Benicia","locationState": "CA"}]

The above highlighted locationCode field is the location code you need to set up the integration for this location. [You may match the business location name accordingly.]


Integration process

Before you can integrate Cloud 9 Ortho with BirdEye, you will need to set up the following configurations:

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 this Curl Command

curl -X PUT https://common-services.birdeye.com/integration/add/businessintegrationgroup -H 'content-type: application/json' -d '{ "parentBusinessNumber": 150051042499080, "integrationSourceId": 34, "integrationGroupProperties": [{"propertyKey": "ClientID","propertyValue": "608a32de-f0eb-4e3f-9ab1-bfff4a4b9da0","isSecure": true}, {"propertyKey": "is.aws.hosted","propertyValue": "false","isSecure": false}], "integrationGroupTriggers":[{"triggerId":57,"triggerTypeId":1,"actionIds":[1]}]}'
  • 150051042499080 - Business ID - This is Enterprise ID for multi-location account and Business ID for a single location SMB account

  • 608a32de-f0eb-4e3f-9ab1-bfff4a4b9da0 - Cloud9 Client ID - This will be provided by the cloud9 team after the approval of authorisation request.

  • false - Is Client AWS hosted - Set this flag to true, if the client is AWS hosted.

  • 57 - Integration Trigger ID - Can be one or more triggers. Ask the client what trigger they would like to integrate with then run the curl command to fetch all possible triggers for Cloud9.

b) Fetch information for all the triggers available for Cloud 9 Ortho (Curl Command)

Copy this Curl Command

curl -X GET https://common-services.birdeye.com/integration/trigger/integrationtriggers/sourceid/34 -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.

[{"id": 57,"triggerService": "cloud9DismissedAppointmentsTriggerService","displayName": "Cloud 9 Dismissed Appointments Trigger","description": "This trigger is used to fetch customer data based on the dismissed appointments.","active": true,"integrationTriggerType": [{"id": 1,"name": "JOB"}],"actionGroupId": 1}]
  • 57 - Trigger ID

c) Find business integration group details (Curl Command)

Copy this Curl Command

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

[{"groupId": 1595,"integrationSourceType": {"id": 34,"integrationSource": "CLOUD9","sourceCategory": "Dental","integrationType": "Birdeye API","oauthEnabled": false},"integrationGroupTriggers": [{"triggerId": 57,"triggerTypeId": 1,"actionIds": [1]}]}]
  • 1595 - Group ID: A group ID will be returned in the sample response with the details of the existing triggers for a business.

d) Update Triggers Information (use only if 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": 1595 ,"integrationGroupTriggers":[{"triggerId":57,"triggerTypeId":1}]}'
  • replaceTriggers=true - To replace existing trigger(s), enter the value for replaceTriggers as To add new trigger(s) to the existing list, the value for replaceTriggers should be false

  • 1595 - The Group ID that was returned in the previous step will be entered here.

  • 57 - Enter the Trigger ID(s) that need to be added or updated to the integration.

Integration Mapping(For SMB business):

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

Copy this Curl Command

curl -X PUT https://common-services.birdeye.com/integration/add/businessintegrationmapping -H 'content-type: application/json' -d '{"businessNumber": 150051042499080,"integrationGroupId" : 1595,"active": true}'
  • 150051042499080 - Business Number: Enter the Business number here

  • 1595 - Integration Group ID: Enter the Integration Group ID which was returned when the Integration group was created.
    Note: NextRunDate should be between 0500 - 1000 UTC, in case you enter a date that is out of this range, you will get an error pop-up message asking you to fill in the correct date range.

Integration Mapping (For Enterprise businesses):

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

Copy this Curl Command

curl -X PUT https://common-services.birdeye.com/integration/add/businessintegrationmapping -H 'content-type: application/json' -d '{"businessNumber": 150051042499080,"integrationGroupId" : 1595 , "active": true, "integrationProperties": [{"propertyKey": "location.code","propertyValue": "4"}]}'
  • 150051042499080 - Business Number: Enter the Business number here

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

  • 4 - Location Code: Use this curl command to get the location code.
    Note: NextRunDate should be between 03:00 - 10:00 UTC, in case you enter a date that is out of this range, you will get an error pop-up message asking you to fill in the correct date range.


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 Cloud 9 Ortho are:

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

  2. Integration is beta

Description

Patient's appointment status is not 'Dismissed'. The only allowed status is 'Dismissed'. Check for field pms_appointment_status in bc-json-logs for the value present for the customer if needed more info.

Did this answer your question?