Service Desk & CRM Integrations

This guide details the main integration use cases and APIs for Service Desk and CRM partners with Yotpo Reviews and Yotpo Loyalty.

Main use cases covered in this guide:

  • Moderate incoming reviews directly from the Service Desk
  • Add an event to a customer’s timeline each time a new review is received
  • Display a customer’s profile with Yotpo reviews data
  • Include a customer’s latest reviews
  • Collect a review about the service when tickets are completed

  • Display a customer’s profile with Loyalty data
  • Add an event to a customer’s timeline each time a new loyalty event is recorded in Yotpo
  • Adjust points balance for clients from the service desk panel

📘

Have you registered your app yet?

Before you start building your app on top of Yotpo’s App Developer API, you first need to register it with us. If you haven’t done so yet, refer to the steps in our Welcome guide.

Yotpo Reviews

Moderate incoming reviews directly from the Service Desk

Yotpo has built a review escalation email that is designed to work on any help desk and allows merchants to moderate their reviews directly from within the help desk. Learn more about setting up and testing this feature in our help desk integration user guide.

📘

Please note:

Some partners have used these escalation emails as a trigger for a new case on behalf of the customer (instead of from a unique Yotpo address). They have also built a more intuitive UI, while responding to the Yotpo email with the moderation action behind the scenes to the unique Yotpo address so Yotpo can moderate the reviews. APIs for review and Q&A moderation are currently not available.

Add an event to a customer’s timeline each time a new review is received

If the ‘generic’ help desk escalation emails don’t record in the customer timeline in the way you wanted them to, you can listen to Yotpo’s review_create webhook event in order to capture incoming reviews.

Display a customer’s profile with Yotpo reviews data

The Retrieve Customer Details by Email endpoint allows you to return a customer’s aggregated reviews data by email using one call.

Alternatively, you can update all customers whose record changed since the last sync by using the Retrieve Customer Details by Date endpoint.

📘

Please note:

  • Although some loyalty data is also available in this call, we recommend using the reviews information only (see below for Loyalty integration best practices).
  • The Retrieve customer endpoints will only return verified reviews. Anonymous reviews that are submitted on-site and are not yet verified by the reviewer will not be returned even if published. If you are testing your app using a test account, make sure to verify your email when creating reviews to successfully retrieve this data.

Include a customer’s latest reviews

Use the Retrieve Reviews endpoint with the customer’s email as a query parameter and sort by date to pull as many of the latest reviews as you would like to display. Please note that this endpoint updates in real time so there may be up to a 24 hour discrepancy between the number of reviews returned in the aggregate data mentioned above (Customer Details by Email) and reviews returned through this endpoint.

Collect a review about the service when tickets are completed

Once a case is successfully closed, add a link to your thank you message asking the customer to submit a review. The link should bring the customer to a page (hosted either by the customer or by you) that contains the code below. Make sure you replace the {{###YOUR APP-KEY###}} with the client's API Key.

<script type="text/javascript">
(function e(){var e=document.createElement("script");e.type="text/javascript",e.async=true,e.src="//staticw2.yotpo.com/{{###YOUR APP-KEY###}}/widget.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})();
</script>
<div class="yotpo yotpo-main-widget"
data-write-only="true"
data-product-id="yotpo_site_reviews"
data-price="0.0"
data-currency="USD"
data-name="yotpo_site_reviews"
data-url="{{url to an about us / FAQ page on-site}}"
data-image-url="{{url to a small square brand logo}}">
</div>

Yotpo Loyalty & Referrals

Display a customer’s profile with Loyalty data

The Retrieve Loyalty customer details by Email endpoint allows you to return a customer's loyalty status by email using a single API call (can be made in real-time).

Add an event to a customer’s timeline each time a new loyalty event is recorded in Yotpo

Ask the brand to place your Webhook URL in their Yotpo Loyalty account settings. If they already have another URL set up, they can separate them with a comma.

Once implemented, you will receive all of these webhook events for the said brand.

Adjust points balance for clients from the service desk panel

By using the Adjust Loyalty Customer Points endpoint, you will be able to provide a positive or negative value depending on the reason for the adjustment for a specific client directly from the help desk.

Below is an overview of common adjustment reasons and recommended parameters, depending on the reason for the adjustment.

It's important to note that the apply_adjustment_to_points_earned param controls which adjustments will only affect the customer's current point balance, while others will also affect their lifetime or total points earned.

Adjustment reasonDescriptionpoint_adjustment_amountapply_adjustment_to_points_earned
Reward customerReward a customer with pointsPositive integerTRUE
Refund points deducted by redemption/expirationReimburse a customer if they lost points due to a refund or points expirationPositive integerFALSE
Redeem points for a discountUse a customer's points in order to redeem a discount on their behalfNegative integerFALSE
Remove earned pointsDeduct points that were not supposed to be earned, for example, points earned for a purchase that was later refunded or canceledNegative integerTRUE
Expire pointsBypass the point expiration date set in your Loyalty & Referrals admin and expire them immediatelyNegative integerFALSE