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.
NOTE: If there is an enterprise business to be set up and there are unique sign-in required for every location, such integration should be set up as an SMB i.e an integration group should be created for every location.
Integrating Birdeye with Acuity Scheduling
User Manual - SUPPORT ARTICLE
Acuity Scheduling is an appointment scheduling software used for managing online appointments. Users have the ability to schedule appointments, sync calendars, pay and complete intake forms online 24/7 with Acuity Scheduling.
Once the integration between Acuity Scheduling and Birdeye is successful, Birdeye will pull customer information from Acuity Scheduling 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 customers and automatically sends them to review requests based on the preferences set within the Birdeye dashboard.
Table of Contents
Information required from the Business
Trigger details
Enterprise ID for a multi-location account and Business ID for all locations.
Business ID in the case of an SMB business
Login
Manage Triggers
Manage Properties
Manage Locations
Restriction Reason
Integration Requirements
Triggers Supported
Birdeye allows you to fetch data from your CRM using a predefined trigger. Here is the supported trigger for Acuity Scheduling:
Trigger Display Name | Trigger Name/Value | Trigger Description |
Acuity Scheduling Appointment Trigger | Appointment | This trigger is used to fetch customer data based on the appointment status. |
Details required from the Birdeye dashboard
Enterprise ID for a multi-location account and Business ID for all locations.
Business ID in case of an SMB Business.
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.
Note:
Location Name:
There are various ways to set a Location name; please find below a link to identify the ways
https://help.acuityscheduling.com/hc/en-us/articles/360004156612For 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.
Integration Process
Before you can integrate Acuity Scheduling 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 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). You can set a delay or leave it blank and click ‘Next.’
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 the 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.
Enter Location: Enter the location name provided by the business. The location should be pipe separated for multiple locations.
Location Identifier: Select the location identifier from the drop-down menu. Enter the Location/ Appointment type / Calendar values to send the review requests on the basis of configured value as location identifier.
Override Group Properties: With this, you can override the Customer Fetch Delay property added at the group level, specific to each 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.
Completing the Integration Process
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’ button to authorize the business.
Once you click on the authorization button, you will be redirected to the Acuity Scheduling website. Enter the email address associated with your account and click on the 'Next' button.
Now, enter the password associated with your account and click on the 'Allow Access' button.
After the access has been granted, you will be redirected to the Birdeye dashboard, and integration will get 'Authorized'. Once you are successfully authorized with Acuity Scheduling CRM, you can disconnect by clicking on the 'Disconnect Acuity Scheduling CRM' button beside 'Authorized.’ Once you are disconnected, you will no longer be able to fetch customer information from Acuity Scheduling CRM. You can reauthorize Acuity Scheduling CRM by clicking ‘Authorize Acuity Scheduling.’
Curl Commands
Before you can integrate Acuity Scheduling 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 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.
Create Integration Group (Curl Command)
Copy this Curl Command
curl--location --request PUT 'https://common-services.Birdeye.com/integration/add/businessintegrationgroup' \--header 'content-type: application/json' \--data-raw '{"integrationGroupTriggers": [{"actionIds": [ 1],"triggerId": 89,"triggerTypeId": 1}],"integrationSourceId": 63,"parentBusinessNumber": 157322822486773}'155379496870319 - Business ID - This is Enterprise ID for multi-location account and Business ID for a single location SMB account
89 - Integration Trigger ID - Ask client what trigger they would like to integrate with then run the curl command to fetch all possible triggers for Acuity Scheduling. Identify the trigger ID(s) and insert (use commas) in case of multiple trigger IDs.
Add new custom field name (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" :151544645328379,"integrationSourceId" : 2, "integrationGroupTriggers":[{"triggerId":2,"triggerTypeId":1}],"integrationGroupProperties" :[{"propertyKey" :"dont.send.review.field.name","propertyValue" :"No review requests"}]}'151544645328379 - Business ID - This is Enterprise ID for multi-location account and Business ID for a single location SMB account
2 - 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 Clio. Identify the trigger ID(s) and insert (use commas) in case of multiple trigger IDs.
"No review requests" - send.review.field.name - Insert the "dont.send.review.field.name" custom field property if the customer is using any other name apart from ‘Don’t send review’ for the custom field.
Fetch information for all the triggers available for Acuity Scheduling (Curl Command)
Copy this Curl Command
curl -X GET https://common-services.Birdeye.com/integration/trigger/integrationtriggers/sourceid/63 -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.
[[insert- question 1876096] {"id": 89,"triggerService": "acuitySchedulingAppointmentTriggerService","displayName": "Acuity Scheduling Appointment Trigger Service","description": "This trigger is used to fetch customer data based on the appointment status.","active": true,"integrationTriggerType": {"id": 1,"name": "JOB"},"caseCreationTriggerType": {"id": 1,"name": "JOB"},"actionGroupId": 1,"sourceIdsList": [[insert- question 1876096] ],"triggerName": "Appointment"}]89 - Trigger IDFind business integration group details (Curl Command)
Copy this Curl Command
curl -X GET https://common-services.Birdeye.com/integration/businessintegrationgroup/157322822486773 -H 'Cache-Control: no-cache'[{"groupId": 11664,"integrationSourceType": {"id": 63,"integrationSource": "ACUITYSCHEDULING","sourceCategory": "Appointment Scheduling","integrationType": "Birdeye API","integrationPlan": "Basic","oauthEnabled": true},"integrationGroupTriggers": [{"triggerId": 89,"triggerTypeId": 1,"actionIds": [1]}]}]157322822486773 - Business ID: Enter the Business ID here to get the integration group details for a business.
11664 - Group ID: A group ID will be returned in the sample response with the details of the existing triggers for a business.
Update triggers in Integration Group (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": 11664,"integrationGroupTriggers":[{"triggerId":89,"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.
11664 - The Group ID which was returned in the previous step will be entered here.
89 - Enter the Trigger ID (s) which need to be added or updated to the integration.
Integration Mapping:
Once the Integration Group is created, the next step is to create the Integration Mapping.
Copy this Curl Command
curl --location --request PUT 'https://common-services.Birdeye.com/integration/add/businessintegrationmapping' \--header 'content-type: application/json' \--data-raw '{"businessNumber": 157322822486773,"integrationGroupId": 11664,"active": true,"integrationProperties":[ {"propertyKey" :"location","propertyValue" :"Play At Nook | Stanford,122001"}]}'11664 - Group ID: Enter the Group ID which was returned when the Integration group was created.
location - Mandatory for multi-location. (Location name should be Pipe (|) separated in case of multiple locations)
Defining appointment labels for Automation
The client needs to create or update the appointment labels for the respective appointments on their Acuity account.
Then go to the ‘Campaigns’ tab on the Birdeye account and configure the appointment labels for a new/running automation as 'Checked in', 'Confirmed' or 'Completed'. Automation will be sent to the customer based on the condition defined within the automation.
NOTE: Make sure that the tags are defined under the ‘Contacts’ tab.
Campaigns Tags
These campaign tags are used to set up campaigns within the Birdeye dashboard. The client provides these tags or can be fetched from Kibana for already checked contacts.
Acuity Campaign tags are:
Label
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 Acuity Scheduling are
‘Appointment status’ is cancelled
Integration is beta




















