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 Allscripts
User Manual - SUPPORT ARTICLE
Allscripts is an Electronic Health Records (EHR) system used by small-to-midsize physician practices. Allscripts allows the users to manage appointments, e-prescriptions, patient portals, and clinical charts. Integrating Allscripts with Birdeye will automate the process of sending out review requests on a daily basis.
Table of Contents
Information required from the client
Triggers Supported
Information from Birdeye dashboard
Enterprise ID for the multi-location account and Business ID for all locations.
Business ID in case of an SMB Business.
Login
Manage Triggers
Manage Properties
Manage Locations
Integration Requirements
Triggers supported
Birdeye allows you to fetch data from your CRM using a predefined trigger. Here is the supported trigger for Allscripts:
Trigger Display Name | Trigger Name/Value | Trigger Description |
Allscripts Appointment Trigger | Appointment | This trigger is used to fetch appointments from Allscripts based upon the date specified. |
Permissions on actions
To successfully set up the integration, the client needs to ensure that Birdeye has access to the following actions: GetPatientDemographics, GetSchedule, GetServerInfo, GetUserAuthentication, and LastLogs.
Information from Birdeye Dashboard
For an 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 account - 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.
Client Activation Process
To raise a request for access to a client’s PMS, use the credentials detailed below:
URL: https://developer.allscripts.com/Account/Login
Username : integration-support@Birdeye.com
Password : Birdeye@12345
On the new screen, click on the ‘Request Client Activation’ button under the ‘Activations’ section.
Now, enter all the relevant details provided by the client on the setup call. Once all the details have been entered, click on the ‘Save’ button to finish the process.
NOTE: When the activation request is successfully completed, a confirmation email will be sent to integrations-support@Birdeye.com. If you are not a part of this email group, you need to get yourself added to it in order to access the confirmation email.
Check the current status of the activation request.
Log in to the portal using the credentials mentioned in the ‘Client Activation Process’. Then click on the ‘Usage Dashboard’ button under the ‘API Usage’ section.
Then click on the ‘View Report’ button under the ‘Client Activations’ section.
On the next screen, you can view the current status of the activation request.
Integration Process
Before you can integrate Allscripts with Birdeye, you will need to set up the following configurations on the integrations 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.
Login
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 for all locations under a CRM.
PM Password: This is the field name for the password that will be provided by the Allscripts support. Please note that the password needs to be updated every 90 days.
Service User Name: This is the field name for the Service User Name that will be provided by the Allscripts support.
Data Fetch Logic: This drop-down field decides which location-level property becomes the primary property. The property selected here becomes the main property and it is mandatory to specify this field at location level.
PMS User Name: This is the field name for the PMS UserName that will be provided by the Allscripts support.
Appointment Status: The status for which the client wants to send a review request.
Appointment Type: The type for which the client wants to send a review request.
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 drop down and click on ‘Add.’
(In case of Single Location accounts, it will give you 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 status of integration (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.
Location Name: Enter the location name provided by the business
Customer fetch delay: It is used if businesses want to send review requests with a delay (number of days). You can set a delay or leave it blank
Override Group Properties: With this, you can override the Customer Fetch Delay property added at group level, specific to each location.
Click on ‘Next’ and click on ‘Save.’
Note: For SMB and Enterprise you can use ‘manage the locations’ using this curl command.
Curl Commands
Create Integration Group (Curl Command)
Copy this 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":149547879572938,"integrationGroupProperties":[{"propertyKey":"User_Name","propertyValue":"10220c34e:0010220^1^","isSecure":true},{"propertyKey":"PM_Password","propertyValue":"F5trgFre5","isSecure":true},{"propertyKey":"pms_user_name","propertyValue":"Birdeye","isSecure":false},{"propertyKey":"allscripts.appointment.type","propertyValue":"WELLBAB1","isSecure":false},{"propertyKey":"allscripts.appointment.status","propertyValue":"Acknowledge","isSecure":false}],"integrationSourceId":32,"integrationGroupTriggers":[{"triggerId":56,"triggerTypeId":1}]} '10220c34e:0010220^1^ - User_Name - This will be shared by Allscripts via Secure email. ServiceUser can be found in two different formats.
149547879572938 - Business ID - This is Enterprise ID for multi-location account and Business ID for a single location SMB account
F5trgFre5 - PM_Password - This will be shared by Allscript during the initial setup
56 - 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 Allscripts. Identify the trigger ID(s) and insert (use commas) in case of multiple trigger IDs.
Birdeye - Pms_user_name - This will be shared by Allscripts during the initial setup
WELLBAB1 ALL_SCRIPTS_APPOINTMENT_TYPES -This will be shared by Allscripts during the initial setup
Acknowledge- ALL_SCRIPTS_APPOINTMENT_STATUS - This will be shared by Allscripts during the initial setup
NOTE: We will get the group ID once we run the first curl (Integration Group) and make a note of group ID as that will required while we will be doing the integration mapping.
Fetch information for all the triggers available for Allscripts (Curl Command)
Copy this Curl Command
curl -X GET https://common-services.Birdeye.com/integration/trigger/integrationtriggers/sourceid/32 -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": 56,"triggerService": "allscriptsAppointmentTriggerService","displayName": "Allscripts Appointment Trigger","description": "This trigger is used to fetch appointments from Allscripts based upon the date specified","active": true,"integrationTriggerType": [{"id": 1,"name": "JOB"}],"actionGroupId": 1}]56- Trigger IDFind business integration group details (Curl Command)
Copy this Curl Command
curl -X GET https://common-services.Birdeye.com/integration/businessintegrationgroup/149547879572938 -H 'Cache-Control: no-cache'
149547879572938 - Business ID: Enter the Business ID here to get the integration group details for a business.
Sample Response:
[{"groupId": 1314,"integrationSourceType": {"id": 32,"integrationSource": "ALLSCRIPTS","sourceCategory": "Healthcare","integrationType": "Birdeye API","oauthEnabled": false},"integrationGroupTriggers": [{"triggerId": 56,"triggerTypeId": 1,"actionIds": [1]}]}]1314 - Group ID: A group ID will be returned in the sample response with the details of the existing triggers for a business.
Update Triggers 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": 1314,"integrationGroupTriggers":[{"triggerId":56,"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
1314 - The Group ID that was returned in the previous step will be entered here.
56 - Enter the Trigger ID(s) that need to be added or updated to the integration.
Integration Mapping Single Location
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 'Accept: application/json' -H 'Cache-Control: no-cache' -H 'Content-Type: application/json' -d '{ "businessNumber": 149547899859217,"integrationGroupId" : 1314, "active": true} '149547899859217 - Business Number: Enter the Business number here
1314 - Integration Group ID: Enter the Integration Group ID which was returned when the Integration group was created.
Integration Mapping Multi-Location
Copy this Curl Command
curl -X PUT https://common-services.Birdeye.com/integration/add/businessintegrationmapping -H 'Accept: application/json' -H 'Cache-Control: no-cache' -H 'Content-Type: application/json' -d '{ "businessNumber": 149547899859217,"integrationGroupId" : 1314, "active": true,"integrationProperties": [{"propertyKey" : "allscripts.location.name","propertyValue": "Loudoun Office","isSecure":false}]}'149547899859217 - Business Number: Enter the business number here.
1314 - Integration Group ID: Enter the Integration Group ID which was returned when the Integration group was created.
Loudoun Office - Location Name: The Location Name will be shared by customer in the initial setup call.
NOTE: Location Name is mandatory in case of multilocation.
Know About Appointment Status & Appointment Types(Optional)
NOTE: Get User Details from Email
The ServiceUser displayed here represents “ubiquity_id”.
The username and password here, represent “Pms_user_name” and “PM_Password”. 3
These details will be shared by Allscripts team to allscripts@Birdeye.com under the file named “message.html”.
Configuring Group property details
NOTE: ServiceUser displayed here “10220c34e:0010220^1^” is a combination of three values: (i) ubiquity_id: 10220c34e (ii) client_id: 0010220 (iii) tenent_id: 1
These values will be used to create group properties.
Re-Authorise Business
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 Allscripts are:
‘Appointment status’ is not in the allowed list
‘Appointment type’ is not in the allowed list
‘Location name’ is not in the allowed list
Integration is beta
Troubleshooting steps:
Check for pms_appointment_status in bc-json-logs for the value present for the customer.
Check for pms_appointment_type in bc-json-logs for the value present for the customer.
Check for pms_appointment_practice_name in bc-json-logs for the value present for the customer.
The Integration Source is not Live and is in the Pre-Launch phase.






















