Rivo is a loyalty and membership platform. The Rivo App Platform integration brings a matched Customer’s loyalty profile and, when present, membership details into Gladly.
Team members can review points, store credit, VIP details, referral information, loyalty status, and optional membership details without leaving the Customer Profile. Merchants can also enable guarded actions to adjust points, update a VIP tier, or request a membership cancellation.
Key benefits
Answer loyalty questions from the Customer Profile
The Rivo Loyalty Card places a matched Customer’s loyalty and membership context in Customer Details.
Recognize VIP Customers and membership status
Team members can review the current VIP tier, next-tier progress, lifetime points, membership status, renewal date, and price when Rivo provides them.
Use merchant-approved loyalty actions
Merchants control the maximum points adjustment and whether VIP tier changes or membership cancellation are enabled. Each action keeps its own required inputs and validation.
Bring governed Rivo operations into Gladly AI
Rivo supplies three Data Pulls that Gladly AI can use as structured context. It also supplies three App Platform actions. Administrators can wrap those actions in custom Gladly App Actions, activate them, and add them to the intended AI Guide sections.
Keep uncertain writes from being repeated
When the app cannot prove the result of a write, it reports an unknown outcome for reconciliation instead of automatically retrying.
Supported features
The Rivo App Platform integration is available across multiple areas of Gladly:
Gladly AI
Three Data Pulls are available: loyaltyProfile, membershipDetail, and vipTiers. Guides can use the returned loyalty profile and membership context to answer Customer questions. The VIP tier catalog supports controlled tier selection.
Rivo also supplies three underlying App Platform actions: adjustPoints, updateVipTier, and cancelMembership. An Administrator can wrap an action in a custom Gladly App Action, define the inputs and output variables available to AI, activate it, and add it to the intended Guide section. The App Action runs first when that Guide section is executed, before the section guidance, rules, and handoffs. Rivo does not install a preconfigured App Action or Guide.
Gladly Team
One Rivo Loyalty Card displays in Customer Details. It shows the matched Customer’s configured loyalty fields and optional membership details.
Agent actions
The Adjust points, Update VIP tier, and Cancel membership forms can be registered in the + menu. Successful action results are recorded in the Conversation timeline.

Example Rivo Loyalty Card
This source-rendered example uses Rivo’s current card template and bundled fixture data, Agent Desktop’s profile-card shell, and the card renderer version pinned by Agent Desktop. It does not contain live Customer data.

Details
What data can you access
Loyalty profile
Rivo customer ID and email
Points balance, lifetime points earned, and store credit
Loyalty status
Current VIP tier and threshold
Next VIP tier, threshold, and progress label
Referral code and referral URL
Membership details
Membership ID, email, tier ID, and tier name
Status, start time, and enrollment source
Renewal date and price
Cancellation state
VIP tier catalog
Tier ID, name, and threshold
A complete current list of up to 250 tiers is required by the Team form; partial or malformed results are rejected
Administrators can hide store credit, VIP tier, referral details, lifetime points, and next-tier progress. Membership is optional and is omitted when Rivo confirms that none exists.
Gladly AI and App Actions
Rivo separates retrieval from mutation. Data Pulls give Gladly AI structured loyalty context. App Platform actions perform the three supported Rivo writes. A Gladly App Action is the AI-facing workflow an Administrator creates on top of an App Platform action to validate or reshape inputs and results and expose only the variables a Guide needs.
Rivo installs the underlying Data Pulls and App Platform actions. It does not install a preconfigured Gladly App Action or AI Guide. An Administrator must create and activate each App Action and add it to the intended Guide section.
Use Rivo data in AI conversations
Retrieve the matched loyalty profile and optional membership details by Customer email.
Use the returned points, VIP, referral, loyalty, and membership fields to answer supported questions.
Use
vipTiersonly when a complete tier catalog is available.If there is no Customer email, do not claim that the Customer lacks a Rivo record; no request is made.
Available Rivo App Platform actions
adjustPoints— adds points with a positive whole number or deducts points with a negative whole number. Inputs are customerEmail, pointsAmount, internalNote, optional externalNote, and confirmed.updateVipTier— moves a Customer to a selected tier. Inputs are customerEmail, vipTierId, optional vipTierName, and internalNote.cancelMembership— requests immediate cancellation or cancellation at the end of the paid period. Inputs are customerEmail, cancellationPolicy, and confirmed.All three actions return structured result data or a structured error. An unknown outcome must be reconciled in Rivo before another attempt.
Configure a Rivo action for Gladly AI
In Settings > App Developer Tools > Custom Actions, create a Gladly App Action and add an App Platform step for the intended Rivo action.
Give every AI-provided input a precise description and expose only the result variables the Guide needs.
Add equivalent workflow safeguards, test the App Action, activate it, and add it to the intended AI Guide section. An App Action must be active before a Guide section can use it, and the action runs before that section’s guidance, rules, and handoffs.
Required safeguards for AI-triggered writes
Require the exact Customer email and exact requested operation. Never choose a points amount, VIP tier, or cancellation policy on the Customer’s behalf.
For adjustPoints, require explicit confirmation, a non-zero whole number, an internal reason, and an absolute amount within the merchant-configured maximum.
For updateVipTier, require that tier changes are enabled and validate the selection against the complete current vipTiers result. Do not accept a raw or stale tier ID. The Team form adds this catalog check; a custom AI App Action must recreate it.
For cancelMembership, require that cancellation is enabled, explicit confirmation, and a valid policy. Also verify an active membership, a matching profile email, and no pending cancellation. The Team form adds these membership checks; a custom AI App Action must recreate them.
Do not automatically retry an unknown outcome. Reconcile the request and current state in Rivo first.
Supported actions
Adjust points
Inputs: Customer, signed points amount, internal note, optional Customer-facing note, and confirmation. Valid only when a positive maximum is configured, the amount is non-zero and within that absolute maximum, the internal note is present, and confirmation is selected. The app always asks Rivo to send the Customer notification.
This source-aligned Agent Desktop composer render uses the form’s bundled fixture values, not live Customer data.

Update VIP tier
Inputs: Customer, a tier selected from the merchant’s complete current Rivo tier catalog, and internal note. Valid only when VIP tier changes are enabled and the selection is a current positive tier ID. The Team form blocks raw IDs and unavailable or partial tier lists. Rivo can later re-evaluate the manual tier through its automatic tier engine, and the Customer notification is always sent.
This source-aligned Agent Desktop composer render uses the form’s bundled fixture values, not live Customer data.

Cancel membership
Inputs: Customer, immediate or end-of-period policy, and confirmation. The Team form is available only for an active membership whose Rivo email matches the loyalty profile and which has no pending cancellation. The action changes Rivo membership state only; Shopify refunds are separate. An accepted response confirms that Rivo received the request, not that cancellation is complete. Reload the Card to confirm the final state.
This source-aligned Agent Desktop composer render uses the form’s bundled fixture values, not live Customer data.

Merchants decide which actions to enable and which + menu forms to register. Use role-appropriate visibility and test each enabled action with a disposable Customer before rollout.
Membership cancellation cannot be undone from Gladly. Re-enrollment must be performed in Rivo.
How does customer matching work?
Primary email address — Rivo uses the Gladly Customer Profile’s primary email when present.
First available email address — when no primary email is present, Rivo uses the first available email.
No email address — no Rivo request is made and no Rivo data is retrieved.
Incorrect email risk — the app sends the selected Customer Profile email directly to Rivo. If that email is wrong and belongs to another Rivo customer, the Card could retrieve and display that other person’s loyalty or membership data. Verify the Customer Profile email before using or disclosing Rivo information.
No Rivo record — a confirmed 404 returns no loyalty or membership data. Other errors remain visible integration errors.
Membership linking — Rivo loyalty and membership endpoints can return different internal IDs, so the app attaches membership details using the email returned by Rivo.
Key use cases
1. Answer a Customer’s points or VIP question
Use case: A Customer asks about points, VIP tier, or progress toward the next tier.
How it works:
A Team member opens the Customer Profile and reviews the Rivo Loyalty Card.
The Team member confirms the points, loyalty status, and available VIP details.
The Team member answers from the current Rivo data in Gladly.
Business impact: Team members can answer loyalty questions without switching to Rivo.
2. Review a membership question
Use case: A Customer asks about membership status, renewal, price, or a pending cancellation.
How it works:
The Team member reviews the optional membership section in the Rivo Loyalty Card.
The Team member confirms the current status and any renewal, price, or cancellation information Rivo provides.
The Team member answers the Customer without treating an absent membership as an integration failure.
Business impact: Membership context stays beside the Conversation.
3. Make an approved points correction
Use case: A Team member needs to issue or deduct a merchant-approved number of points.
How it works:
The Team member opens Adjust points from the + menu.
The Team member enters the signed amount, internal reason, optional Customer-facing note, and explicit confirmation.
The action rejects an unconfigured, zero, or over-limit adjustment before calling Rivo.
Business impact: Merchants can support bounded loyalty corrections from Gladly.
4. Update a tier or request cancellation
Use case: An authorized Team member needs to change a VIP tier or act on a membership cancellation request.
How it works:
The Team member uses the current validated tier list for a tier change, or verifies the active matching membership for cancellation.
The Team member provides the required reason or confirmation and submits the merchant-enabled action.
For cancellation, the Team member reloads the Card to confirm the final membership state.
Business impact: Controlled loyalty operations can be completed without leaving the Conversation.
5. Let Gladly AI guide a Rivo request
Use case: A Customer asks Gladly AI about Rivo data or an approved loyalty change.
How it works:
Gladly AI retrieves the relevant Rivo Data Pulls as structured context.
For a read-only question, Gladly AI uses the returned data to answer the Customer.
For an approved write, the intended Guide section invokes an active merchant-configured Gladly App Action first, before that section’s guidance, rules, and handoffs. The App Action collects exact inputs and applies the required safeguards.
The underlying Rivo action returns structured result data or a structured error. Unknown outcomes are reconciled before another attempt.
Business impact: Merchants can support consistent Rivo conversations with bounded operations instead of unrestricted writes.