Skip to main content

Birdeye Native Integration - JobNimbus

Updated in the last hour

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 JobNimbus
User Manual - SUPPORT ARTICLE

JobNimbus is a CRM and project management software which allows small and medium-sized businesses to manage their contacts, jobs, tasks, documents, etc. Integrating JobNimbus with Birdeye will automate the process of sending out review requests to clients on a daily basis.

Once JobNimbus is integrated with Birdeye, Birdeye will pull customer information from JobNimbus once daily from the jobs 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 review requests based on the preferences set within the Birdeye das ̑hboard.

Table of Contents


Integration Requirements

Triggers Supported

Birdeye allows you to fetch data from your CRM using some predefined triggers. 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 JobNimbus:

Trigger Display Name

Trigger Name/

Value

Trigger Description

Job Nimbus Custom Status Contacts Trigger

Contact

This trigger is used to fetch customer data based on the custom status field of contacts

Job Nimbus Custom Status Jobs Trigger

Job

This trigger is used to fetch customer data based on the custom status field of jobs

Details required from the JobNimbus dashboard

Details required from the Birdeye dashboard

  • Business ID for single location SMB account

  • Business ID for enterprises account

Information from Birdeye Dashboard

  1. 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.

  2. 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 Location ID, hover over the ‘Status’ of location.

Fetch the API Key from the JobNimbus account

To generate API Key within your JobNimbus account, navigate to the login page and enter your login credentials.

Once you have logged in to your JobNimbus account, hover over the button on the top-right corner and from the drop-down menu, click on the 'Settings' icon.

On the 'Settings' page, click on the 'API' tab on the left navigation rail.

Now, click on the 'New API Key' button in the top-right corner.

Enter 'Birdeye' in the description field and give the access profile as 'Admin' before saving your selection.

After you click on the 'Save' button, a new API Key will be generated for your JobNimbus account. You can use the 'Copy' button to use the API Key securely.

Fetch the Location Code from the JobNimbus account

To get the location code within your JobNimbus account, navigate to the login page and enter your login credentials.

Once you have logged in to your JobNimbus account, hover over the button on the top-right corner and from the drop-down menu, click on the 'Settings' icon.

On the 'Settings' page, click on the ‘Company’ tab on the left navigation rail.

Select the location which you want to integrate and click on three dots corresponding to that location and right-click the browser, and select the ‘Inspect element’ option. Click on the edit button.

On the new screen, go to the ‘Network’ tab.

In the search bar, enter the below URL to find the following API: https://app.jobnimbus.com/api2/getMultiLocation

Click on the ‘Preview’ tab; you will find the field ‘Id’ with the value.


Integration Process

Before you can integrate JobNimbus with Birdeye, you will need to set up the following configurations on the integration 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

  1. After successful login in the integration dashboard, you have to click on ‘BE integration’ and then click on ‘Add Integration’.

  2. Search for the 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’.

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.

  1. Customer fetch delay: It is used if businesses want to send review requests with a delay (number of days). It can be set for both the Contacts trigger and the Jobs trigger.

  2. Contact Status: Enter the Contact Status for which the business wants to send a review request. Leave it blank if the client wishes to keep the status as “Paid & Closed”. Also, this property is only used for the Job Nimbus Closed Contacts trigger.

  3. Job Status: Enter the Job Status for which the business wants to send a review request. Leave it blank if the client wishes to keep the status as “Paid & Closed”. Also, this property is only used for the Job Nimbus Closed Jobs trigger.

  4. Jobnimbus API key: The API key will be provided by the customer (Click here)

  5. Custom Fields: Enter the custom fields provided by the customer. Multiple values can be added using a comma separator.

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 location from the drop-down menu and click on ‘Add.’

(In the case of Single Location accounts, it will give 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 the changes if required.

  1. Status: It shows the status of Integration (Active or Inactive).

  2. Frequency: It is the number of times integration will sync with CRM (Days or Hours).

  3. Next RunTime: It is the next scheduled time when the integrations will run.

  4. Customer fetch delay: It is used if businesses want to send review requests with a delay (number of days).

  5. Location Id: It is used if businesses want to set up enterprise accounts.

Override Group Properties: With this, you can override the properties added at the group level, specific to each location.

Note: You can use ‘manage the locations’ using this curl command.


Curl Commands

Before you can integrate JobNimbus 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-X PUT https://common-services.Birdeye.com/integration/add/businessintegrationgroup -H 'cache-control: no-cache' -H 'content-type: application/json' -d '{"parentBusinessNumber": 149020769868634 , "integrationSourceId": 17, "integrationGroupTriggers":[{"triggerId":17,"triggerTypeId":1},{"triggerId":21,"triggerTypeId":1}], "integrationGroupProperties": [{ "propertyKey": "jobnimbus_api_key", "propertyValue": "ji44gfq3rwumb3c8", "isSecure": true }, { "propertyKey": "job_status", "propertyValue": "Completed"}, { "propertyKey": "contact_status", "propertyValue": "Completed"}]}'
  • 149020769868634 - Business ID - This is Enterprise ID for multi-location account and Business ID for a single location SMB account

  • ji44gfq3rwumb3c8- JobNimbus API Key: This API Key will be shared by the business on the initial integration set up.

  • 17, 21- Integration Trigger ID - Can be one or more triggers. Ask clients what trigger they would like to integrate with, then run the curl command to fetch all possible triggers for JobNimbus. Identify the trigger ID(s) and insert (use commas) in case of multiple trigger IDs.

  • Completed - Property value- Depending on the type of trigger service, If the customer wants to configure the job status property other than ‘Paid & Closed’, add the value for "job_status" integration group property with the desired job status value. Similarly, if the customer wants to configure the contact status property other than ‘Paid & Closed’, add the value for "contact_status" integration group property with the desired contact status value.

Fetch information for all the triggers available for JobNimbus (Curl Command)

Copy this Curl Command

curl -X GET https://common-services.Birdeye.com/integration/trigger/integrationtriggers/sourceid/17 -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": 21,
"triggerService": "jobNimbusCustomStatusJobsTriggerService",
"displayName": "Job Nimbus Custom Status Jobs Trigger",
"description": "This trigger is used to fetch customer data based on the custom status of jobs",
"active": true,
"integrationTriggerType": [
{
"id": 1,
"name": "JOB"
}
],
"actionGroupId": 1
},
{
"id": 17,
"triggerService": "jobNimbusCustomStatusContactsTriggerService",
"displayName": "Job Nimbus Custom Status Contacts Trigger",
"description": "This trigger is used to fetch customer data based on the custom status of contacts",
"active": true,
"integrationTriggerType": [
{
"id": 1,
"name": "JOB"
}
],
"actionGroupId": 1
}
]
● 17, 21- Trigger ID

Find business integration group details (Curl Command)

Copy this Curl Command

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

Sample:

[
{
"groupId": 123,
"integrationSourceType": {
"id": 17,
"integrationSource": "JOBNIMBUS",
"sourceCategory": "Home Services",
"oauthEnabled": false
},
 "integrationGroupTriggers": [
{
"triggerId": 17,
"triggerTypeId": 1
}
]
}
]
  • 123- Group ID: A group ID will be returned in the sample response with the details of the existing triggers for a business.

Trigger Information: Only required if client wants a 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": 123 ,"integrationGroupTriggers":[{"triggerId":17,"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.

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

  • 17- Trigger ID: 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 -X PUT https://common-services.Birdeye.com/integration/add/businessintegrationmapping -H 'Cache-Control: no-cache' -H 'Content-Type: application/json' -d '{"businessNumber": 149020769868634 ,"active": true,"integrationGroupId": 123,"integrationProperties": [
 {
 "propertyKey": "location.id",
 "propertyValue": "1"
 }]}'
}'
  • 149020769868634- Business ID: Enter the Business ID for the SMB or Enterprise business.

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

  • 1 - locationID - Enter the locationId, which was fetched from the jobNimbus dashboard in case of enterprise business.


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. 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 given in the below document.


Campaigns Tags

Campaign tags are used to set up campaigns within the Birdeye dashboard. These tags are either provided by the client or can be fetched from Kibana for already checked contacts.

JobNimbus Campaign tags are:
Contact Status

NOTE: In case the Project Manager is available in the details returned by the Contacts API, his/her details(first name, last name and phone) will be added to the employees who assisted the customer and will be visible on the Birdeye dashboard.


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 JobNimbus are:

  1. Contact status is not on the allowed list

  2. Job status is not on the allowed list

  3. Integration is beta

Description

  1. The contact status does not match the configured contact status.

  2. The job status does not match the configured job status.

Did this answer your question?