Integration Requirements
Triggers Supported
Birdeye allows you to fetch data from Simple Salon using a predefined trigger. You can choose any combination from the list of available triggers and inform the support team about your selection. Here are the supported triggers for Simple Salon:
Trigger Display Name | Trigger Name/Value | Trigger Description |
Simple Salon Appointments Trigger | Simple Salon Appointment Trigger | This trigger is used to fetch contact details based on the appointment status configured. |
Details required from the Simple Salon dashboard
Trigger Details
Details required from the Birdeye dashboard
User Name, Password and Company ID in case of SMB business
User Name, Password, Company ID and Location specific Company ID in case of Enterprise business
Information from Birdeye Dashboard
For an SMB account - Business ID.
Login to your Birdeye account, go to the 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 the Location ID, hover over the ‘Status’ of the location.
Steps to onboarding a new client
When a new client will onboard with Birdeye, you need to email Simple Salon Support with our mutual client's name and company ID.
Once these details are shared, the Simple Salon team will set up the Production API credentials for the right company.
Integration Process
Before you can integrate Simple Salon 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 Simple Salon CRM in the search bar and select it. Click on ‘Next’.
Manage Triggers
Select the Trigger Name (Check Box) as per the client’s requirement and click ‘Next.’
Info
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.
User Name: Enter a user name for the company.
Password: Enter the password for the company.
Appointment Status: Enter the comma-separated appointment status for which the appointments need to be filtered out.
Company Id: Enter the company Id for the configured business.
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 SMB Accounts, select the drop-down and click ‘Add.’
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: 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.
Checkin status for the appointment: Enter the comma-separated appointment status for which the review request needs to be sent.
Customer fetch delay: It is used if businesses want to send review requests with a delay (number of days).
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.
Authorize through Integration Dashboard
Upon creating a new Simple Salon group for the first time from the integrations dashboard, the system will automatically attempt to authorize the group. If the group properties provided are correct, the authorization will succeed. This will be evident from the fact that the Simple Salon group will be indicated as authorized, and no further action needs to be taken.
In case the group is unable to be authorized the first time it’s created or is unauthorized at a later stage, please authorize it again by following the steps below.
Setup through Integration Dashboard
The rest of the setup is to be completed within the Integration dashboard.
Once in the Birdeye dashboard, click on the ‘BE Integrations’ tab on the left navigation rail.
Scroll down to the ‘Simple Salon’ integration and hover over the three dots.
Click on the ‘Actions’ drop-down button and select the ‘Authorize’ option.
Once you select the authorize option, the integration will be authorized.
Curl Commands
Before you can integrate Simple Salon 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 you will need to run to set this up.
Create Integration Group for SMB Business (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": 155802718182498,
"integrationSourceId": 121,
"integrationGroupProperties": [
{
"propertyKey": "simple.salon.company.id",
"propertyValue": "40527",
"isSecure": false
},
{
"propertyKey": "simple.salon.password",
"propertyValue": "Bz%^mQpf5P",
"isSecure": false
},
{
"propertyKey": "appointment.filter.status",
"propertyValue": "VIP, requested",
"isSecure": false
},
{
"propertyKey": "simple.salon.username",
"propertyValue": "administrator",
"isSecure": false
},
{
"propertyKey": "customer.fetch.delay",
"propertyValue": "0",
"isSecure": false
}
],
"integrationGroupTriggers": [
{
"triggerId": 134,
"triggerTypeId": 1
}
]
}'155802718182498- Business ID - This is a Business ID for a single location SMB account
134- 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 Simple Salon. Identify the trigger ID(s) and insert (use commas) in case of multiple trigger IDs.
Create Integration Group for Enterprise Business (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": 155802718182498,
"integrationSourceId": 121,
"integrationGroupProperties": [
{
"propertyKey": "simple.salon.company.id",
"propertyValue": "40527",
"isSecure": false
},
{
"propertyKey": "simple.salon.password",
"propertyValue": "Bz%^mQpf5P",
"isSecure": false
},
{
"propertyKey": "appointment.filter.status",
"propertyValue": "VIP, requested",
"isSecure": false
},
{
"propertyKey": "simple.salon.username",
"propertyValue": "administrator",
"isSecure": false
},
{
"propertyKey": "customer.fetch.delay",
"propertyValue": "0",
"isSecure": false
}
],
"integrationGroupTriggers": [
{
"triggerId": 134,
"triggerTypeId": 1
}
]
}'155802718182498- Business ID - This is Enterprise ID for a multi-location account and Business ID for a single location SMB account.
134- Integration Trigger ID - This 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 Simple Salon. Identify the trigger ID(s) and insert (use commas) in case of multiple trigger IDs.
Fetch information for all the triggers available for Simple Salon(Curl Command)
Copy this Curl Command
curl --location --request GET 'https://common-services.Birdeye.com/integration/trigger/integrationtriggers/sourceid/121' \ --header 'cache-control: no-cache' \ --header '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 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": 134,
"triggerService": "simpleSalonAppointmentTriggerService",
"displayName": "Simple Salon Appointments Trigger",
"description": "This trigger is used to fetch client's detail from appointments",
"active": true,
"integrationTriggerType": {
"id": 1,
"name": "JOB"
},
"actionGroupId": 1,
"sourceIdsList": [121],
"triggerName": "Simple Salon Appointment Trigger",
"caseTypeId": 1
}
]Find business integration group details (Curl Command)
Copy this Curl Command
curl --location --request GET 'https://common-services.birdeye.com/integration/businessintegrationgroup/155802718182498' \ --header 'Cache-Control: no-cache'
Sample Response
{
"groupId": 22941,
"integrationSourceType": {
"id": 121,
"integrationSource": "SIMPLESALON",
"sourceCategory": "Salon",
"integrationType": "Birdeye API",
"integrationPlan": "Standard",
"oauthEnabled": true
},
"integrationGroupTriggers": [
{
"triggerId": 134,
"triggerTypeId": 1,
"actionIds": [
1
]
}
]
}
]22941- Group ID: A group ID will be returned in the sample response with the details of the existing triggers for a business.
155802718182498- Business ID: Enter the Business ID here to get the integration group details for a business.
Trigger Information: Only required if the client wants a change (Curl Command)
Copy this Curl Command
curl --location --request POST 'https://common-services.birdeye.com/integration/update/businessintegrationgroup?replaceTriggers=true' \
--header 'cache-control: no-cache' \
--header 'content-type: application/json' \
--data-raw '{
"groupId": 22941,
"integrationGroupTriggers": [
{
"triggerId": 134,
"triggerTypeId": 1
}
]
}'replaceTriggers=true -To replace existing trigger(s), enter the value for replaceTriggers as true. To add a new trigger(s) to the existing list, the value for replaceTriggers should be false.
22941- Group ID: The Group ID which was returned in the previous step will be entered here.
134- Trigger ID: Enter the Trigger ID (s) which need to be added or updated to the integration.
Integration Mapping (SMB Businesses)
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":159894373919788,
"integrationGroupId": 22941,
"integrationProperties": [
{
"propertyKey": "client.chekin.status",
"propertyValue": "requested, VIP",
"isSecure": false
},
{
"propertyKey": "customer.fetch.delay",
"propertyValue": "0",
"isSecure": false
}
],
"active": true,
"test": false,
"beta": false
}'159894373919788- Business ID: Enter the Business ID for the SMB Business.
22941- Group ID: Enter the Group ID, which was returned when the Integration group was created.
true - Active: Enter true to enable the integration.
Integration Mapping (Enterprise Businesses)
Copy this Curl Command
curl --location --request PUT 'https://common-services.birdeye.com/integration/add/businessintegrationmapping' \
--header 'Content-Type: application/json' \
--data-raw '{
"businessNumber":159894373919788,
"integrationGroupId": 22941,
"integrationProperties": [
{
"propertyKey": "client.chekin.status",
"propertyValue": "requested, VIP",
"isSecure": false
},
{
"propertyKey": "company id for the location",
"propertyValue": "56789",
"isSecure": false
},
{
"propertyKey": "customer.fetch.delay",
"propertyValue": "0",
"isSecure": false
}
],
"active": true,
"test": false,
"beta": false
}'159894373919788-Business ID: Enter the Business ID.
22941-Group ID: Enter the Group ID, which was returned when the Integration group was created.
true - Active: Enter true to enable the integration.
56789-Location Name: Enter the Location name as per the name specified in the Simple Salon account for the Location picklist corresponding to this business.
Important Instructions for Email and SMS opt-in/ opt-out.
Log in to the ‘Simple Salon’ dashboard. Click on the ‘Appointments’ tab on the top left.
Click on the ‘Add New Client’ or ‘Search.’
Enter the details such as first name, surname, mobile and email address. Click on the ‘+ SMS & Email’ option.
Email opt-in and SMS opt-out
Check the box against ‘Email’ to opt-in to the email for ‘Appointment Reminders.’ Click on ‘Save’ to save your preferences.
NOTE:
Subscription status is Email subscribed, which means you have opted for Email.
SMS opt-in and Email opt-out
Similarly, if you want to opt-in to SMS for ‘Appointment Reminders, ’ check the box against the ‘SMS’ option. Click on ‘Save’
NOTE:
Subscription status is SMS subscribed, which means you have opted for SMS.
Email and SMS opt-out
To opt out from both ‘Email’ and ‘SMS’, uncheck the boxes below under the ‘Appointment Reminders’ section. You will be unsubscribed from both. Click on ‘Save.’
Email and SMS opt-in
If you need to opt-in for email and SMS, check the fields ‘Email’ and ‘SMS’ under the ‘Appointment Reminders’ and click on ‘Save.’
Appendix
Restriction Reason and exceptions
Restriction reason is used to identify the contacts who have opted out (restricted) from sending a review request. This reason can be fetched from Kibana for contacts that are checked in already. Also, the exceptions can be seen on the integration dashboard or Kibana error logs.
Possible restriction reasons or exceptions for Simple Salon are:
In check-in status for the appointment, if appointment status is not present in configured check-in status.
In appointment status types to be filtered, if appointment status is not configured in appointment status type that needs to be filtered.
Customer is inactive.
Either Phone or Email should be valid for the creation of a customer. Email: null, Phone: null.
Integration is beta.
Description
In check-in status for the appointment, if appointment status is not present in configured check-in status.
In appointment status types to be filtered, if appointment status is not configured in appointment status type that needs to be filtered.
Customer is inactive.
Either Phone or Email should be valid for the creation of a customer. Email: null, Phone: null.
Integration is beta.
Troubleshooting steps
If you encounter any of the above restriction reasons, please search the following keys to know the reason for restricting the contact.
In check-in status for the appointment, if appointment status is not present in configured check-in status.
Provide the appointment status in the configured checkin appointment status for which you want to send the review request.In appointment status types to be filtered if appointment status is not configured in the appointment status type that needs to be filtered.
Provide the appointment status in the configured appointment status type for which you want to send the review request.Customer is inactive.
Check whether the customer is active or not.Either Phone or Email should be valid for the creation of a customer. Email: null, Phone: null.
Check the email address and phone number.Integration is beta.
Please look up the key beta in kibana to know whether the integration is beta or not.



















