Skip to main content

Birdeye Native Integration - Covetrus

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

Covetrus is an aggregator for several practice management solutions used by veterinarians. Covetrus allows users to gather data and insights to monitor patient progress, schedule, track and maintain revenue-generating appointments and more. Integrating Covetrus with Birdeye will automate the process of sending out review requests to your clients on a daily basis.

Once Covetrus is integrated with Birdeye, Birdeye will pull client information from Covetrus once daily. Birdeye collects the first name, last name, email address and phone number of your clients and automatically sends them review requests based on the preferences set within the Birdeye dashboard.

Table of Contents


Integration Requirements

Supported triggers

Birdeye allows you to fetch data from your CRM using some predefined triggers. Here is the supported trigger for Covetrus:

Trigger Display Name

Trigger Name/ Value

Trigger Description

Covetrus Appointment Trigger

Appointment

This trigger is used to fetch appointment details from Covetrus

Information required from the Birdeye client

Information required from Birdeye Dashboard

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


Integration process

Before you can integrate Covetrus 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

  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

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.

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

  2. Installation Id: This field takes Installation Id for the Practice.

  3. Allowed Status: It takes the specific status of the Practice.

  4. Ignore Schedule Status: Set true if no filter is required based on the schedule key.

  5. Ignore Tracking Status: Set to true if no filteration is required based on tracking status.

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.

  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. Site Id: Enter the Site Id for the location from the Covetrus portal.

  5. Tracking Status: Enter the Standard Tracking status; values can be such as confirmed, unconfirmed, etc.

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:

  1. For SMB: You can use ‘manage the locations’ using this curl command.

  2. For Enterprise: You can use ‘manage the locations’ using this curl command.


Curl Commands

Before you can integrate Covetrus 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": 151980725935863,
"integrationSourceId": 76
"integrationGroupTriggers": [
{
"actionIds": [
1
],
"triggerId": 101,
"triggerTypeId": 1
}
],
"integrationGroupProperties": [{"propertyKey": "installation_id","propertyValue": "0996a7de-7937-404c-a3d8-6ba58b5e0bd6"},
{"propertyKey": "is_ignore_tracking_status","propertyValue": "true"},{"propertyKey": "is_ignore_schedule _status","propertyValue": "true"}]
}'
  • 151980725935863 - Business ID - This is Enterprise ID for a multi-location account and Business ID for a single location SMB account

  • 101 - Integration Trigger ID - It represents the trigger ID for the Covetrus Appointment Trigger.

  • installation_id - Installation ID - To be shared by the Covetrus Team after the installation request has been made and approved, visit the last section.

  • isIgnoreTrackingStatus(Optional) - Property to determine if no filtration is required based on tracking configured. RR will not be restricted based on tracking status if enabled.

  • isIgnoreScheduleStatus(Optional) - Property to determine if no filtration is required based on schedule status configured. RR will not be restricted based on tracking status if enabled.
    NOTE: We will get the group ID once we run the first curl (Integration Group) and make a note of the group ID, as that will be required while we are doing the integration mapping.

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

Copy this Curl Command

curl -X GET https://common-services.Birdeye.com/integration/trigger/integrationtriggers/sourceid/76 -H 'cache-control: no-cache' -H 'content-type: application/json'

Sample response: A sample response like this (see below) will 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": 101,
"triggerService": "covetrusAppointmentTriggerService",
"displayName": "Covetrus 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": [
76
],
"triggerName": "Appointment"
}
]

101 - Trigger IDs

Find business integration group details (Curl Command)

Copy this Curl Command

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

Sample Response

{
"groupId": 14235,
"integrationSourceType": {
"id": 76,
"integrationSource": "COVETRUS",
"sourceCategory": "Healthcare",
"integrationType": "Birdeye API",
"integrationPlan": "Basic",
"oauthEnabled": true
},
"integrationGroupTriggers": [
{
"triggerId": 101,
"triggerTypeId": 1,
"actionIds": [
1
]
}
]
}
  • 14235 - Group ID: A group ID will be returned in the sample response with the details of the existing trigger for the business.

Business Integration Mapping

This configuration is developed to create the actual business integration mapping. Each business integration mapping corresponds to the individual business location.

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": 151980725935863,"active": true,"integrationGroupId" : 14235,"integrationProperties":[{"propertyKey" : "site_id","propertyValue": "cdfa7de-7937-404c-a3d8-6ba58b5e0bd6"}, {"propertyKey" : "tracking_statuses","propertyValue": "Confirmed"}]}'
  • 151980725935863 - Business ID- Enter the Business ID here.

  • 14235 - Group ID- Enter the Group ID that was returned when the Integration group was created.

  • cdfa7de-7937-404c-a3d8-6ba58b5e0bd6 - Site ID(Optional) - This is an optional field, should be used for multi-location setup. Site Id will be provided by the client from within their PMS.

  • Confirmed - Tracking Status(Optional) - This is an optional field; depending on the use case if the client wants to check in only a particular category of customers, then they should fill it. If they wish to provide more than one value, then it can be specified using a comma separator(,)


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

Re-Authorise Document

Requesting Data Access for Practice from Covetrus

The customer representative needs to submit an Installation Request after obtaining details from the client.

When submitting requests for new marketplace installations, provide the following information in the body of the ticket rather than as an attachment:

  • Practice Name

  • Partner Identifier (Enterprise Business Number in case of Enterprise and its Locations while Business Number in case of SMB)

  • Address (street address, city, state/province, postal code)

  • Practice phone number

  • Contact Name (our contact for installation)

  • Contact Phone Number (if different from practice number)

  • Contact Email Address

  • Practice Management System

  • One of the following:

    • Copy of written data access authorization signed by an authorized practice representative Form (will need a signed copy of this from practice)

    • Name, number, and email address of the authorized practice representative who granted data access (can cause delays in data access if this individual is not responsive to our verification attempts)

Installation requests should be submitted via email to partnerinstalls@vetdata.com and CC to covetrus@Birdeye.com. The covetrus support team must have a ticket on file before completing a new installation. Covetrus handles requests for one installation per ticket. Lead time should be at at least 2-3 hours. Please refrain from submitting this ticket until the practice has agreed to complete the software installation.

After the installation has been completed, we will receive an Installation ID which will be used to set up Integration Group mapping.

Covetrus Support Credentials

Steps handled by Covetrus Team

For non-scheduled installations, our agents work our ticket queues in a first-in-first-out fashion. The turnaround time of tickets is relative to the number of items in our backlog queue, but generally, a work item is picked up within 24 hours of receipt and many times on the same business day.

To complete an onboarding, our agents reach out to the practice and inquire about making a connection to the server to install the Covetrus Connect Marketplace.

Our “script” is loose and typically reads like this:

“Hi, this is with Covetrus Connect; how are you? We are calling to work with you to complete an installation of our software which will help power your service with. We’ll need to be connected to the server for about 20 minutes, and there should be no restarts or downtime while we’re working.”

We work with the contact to initiate a TeamViewer Quick Support session. Once remoted into the server, a typical install takes about 20 minutes, barring any issues. We don’t need to keep the contact on the phone and usually let them go unless they request to stay on the phone while we’re connected.

Once the installation is complete, we confirm with the hospital via text document on the screen or give them a callback, whatever their preference. Our agents allow the initial sync and load to complete, check the data for accuracy, and then respond back to the original request with the installation connection info.


Finding the SiteId once installation has been provided

curl --location --request GET 'https://api.vetdata.net/v2/Sites' \
--header 'Installation: 306a9ec8-65b5-49c2-a9ee-f3cda55eb396' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Basic
YmlyZGV5ZTplYTI0NTczMC1hMGY5LTQ1MjQtYTMzNS03YjdjMjgxYWU5NWE='

Replace the InstallationId above with the Installation Id you received on to the above curl command and run it on either Postman or console. The response would show information about Sites in the array; The Id field corresponds to SiteId.


Campaigns Tags

These 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. Covetrus Campaign tags are:

pms_appointment_status , pms_appointment_type (e.g. Euthanasia) , pms_appointment_source , pms_appointment_tracking_status

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

  1. Patient is deceased

  2. Schedule status and tracking status are blank

  3. Appointment status is not in the default allowed list( closed,confirmed,confirmed (rapport))

  4. Appointment status is not in the configured allowed list

  5. Tracking status is not in the allowed list

  6. Integration is beta

Troubleshooting Steps

  1. If required, pms_patient_deceased_status

  2. pms_appointment_status & pms_appointment_tracking_status

  3. pms_appointment_status

  4. pms_appointment_status

  5. pms_appointment_tracking_status

Possible Error And Resolution at Support End

  • 401 - Unauthorized
    Please cross-check the Installation Id with the Covetrus Installation mail which we have received from Covetrus for this business. Otherwise, you can raise a Support ticket on Covetrus Support Portal.

Covetrus Support Credentials


Additional Information:

Did this answer your question?