# Rivo integration, AI refunds for exact items, and more

Canonical URL: https://www.commslayer.com/changelog/rivo-integration-line-item-refunds-and-more

Published: 2026-09-29

Rivo loyalty in the inbox, AI refunds down to the item, and a round of helpdesk updates.

## Rivo loyalty

Commslayer now integrates with [Rivo](https://www.rivo.io), the loyalty, rewards and referral app for Shopify stores. Your team sees every customer's points and rewards right in the conversation, and the AI agent answers loyalty questions and can redeem rewards on its own.

![The Commslayer and Rivo app icons side by side above the words Commslayer x Rivo, on a dark green background](https://www.commslayer.com/_astro/01.BRHmP33-.webp)

Once Rivo is connected, every conversation gets a Loyalty section in the sidebar with the customer's points, VIP tier, referral link, unused reward codes and recent points history. Anyone on your team can adjust points, redeem a reward or cancel a membership from there, and each change leaves a private note.

The AI agent answers questions about points, VIP tier and unused reward codes, with no setup. Switch on **Redeem Rivo reward** (off by default) and it can also spend a member's points on a subscription reward. It quotes the cost, waits for a yes, redeems at most one reward per conversation and shares the code.

![A conversation where the AI agent tells a customer their points balance and rewards, next to the Loyalty sidebar section showing 1,240 points, a Gold VIP tier, redeemable rewards and recent points activity](https://www.commslayer.com/_astro/02.hNybkoZ6.webp)

More AI actions for Rivo are coming soon: adjusting points, canceling memberships and redeeming one-time rewards. Until then, your team handles those from the sidebar.

An admin or manager connects Rivo in **Settings → Integrations → Rivo**. Available on all plans. Setup and details are on the [Rivo integration page](/integrations/rivo).

## Bring your own AI

### Reply drafts from your own AI

Using the API or MCP, you can now save an unsent draft on a conversation. It lands in the reply box, and an agent edits and sends it like any other reply.

This lets you run your own model: listen for new messages with Commslayer webhooks, have your model write a reply, and save it as a draft. These drafts don't use your AI drafts allowance. If you go this route, turn off auto-generated AI drafts so they don't replace yours.

![A reply draft saved through MCP sitting in the conversation's reply box, ready for an agent to edit and send](https://www.commslayer.com/_astro/03.BeeUhxKV.webp)

### MCP and API updates

- **Rivo loyalty:** look up a member, adjust points, redeem a reward or cancel a membership.
- **Reply drafts:** create, update and remove them.
- **AI action approvals:** see who approved each AI action, when, and what happened.

## AI agent

### Refunds for the exact item

Until now, AI refunds could only be a percentage of what was left on the order. If a customer reported one broken mug, the AI could only refund a share of the whole order, which rarely matched what the mug cost, and most stores kept refunds with a human.

![The AI agent verifies order ownership and refunds 23.33 USD for one cracked mug out of three, then tells the customer the exact amount, discount and tax included](https://www.commslayer.com/_astro/04.DqT4u5Ey.webp)

Now the AI refunds specific items for exactly what the customer paid:

- **Partial quantities:** 2 of 3 mugs, or several items in one refund.
- **Exact amounts:** discounts and tax included, calculated by Shopify.
- **Refund only:** the customer keeps the product, nothing is restocked, and shipping isn't refunded.

All your existing refund limits still apply, and order ownership is checked first. If a refund would go over a limit, the AI hands the conversation to your team instead of refunding fewer items.

Turn it on under **AI agent → Actions → Refund order**, then try it in the playground. The playground calculates the refund against the real order and your real limits, then shows the exact amount or which limit would block it. No money moves.

:::warning[Check your limits]
Max refund % is measured against what's left to refund on the order, so it applies to item refunds too. With the default 50% cap and $50 max per refund, one item worth more than half the remaining order, or more than $50, gets handed to your team. Raise those limits if you want the AI to cover full single-item refunds.
:::

### Ask a human before any AI action

Every AI action, built-in or custom, now has an **Ask a human before running** toggle under **AI agent → Actions**. Only the flagged actions wait for approval. Everything else, replies included, goes out right away. While a flagged action waits, the customer gets a short note that their request is being reviewed.

![The Refund order action with Ask a human before running switched on, and a conversation where the refund waits in a Pending approval card with Reject and Approve buttons](https://www.commslayer.com/_astro/05.CrPrwUak.webp)

Approve it and the AI carries on. Reject it and the conversation goes to your team. Turn it on for item refunds if you want a human to check those for a while.

### Verify chat customers with an emailed code

On live chat, the AI used to hand the chat to your team whenever a customer didn't have their order number.

![A live chat where a customer asks about their order without an order number, the AI agent emails them a 6-digit code, a Verify your email panel takes the code, and the AI replies that their order shipped Monday and arrives Thursday](https://www.commslayer.com/_astro/06.Iuq3Y3zg.webp)

Now it offers to email a one-time code instead. The customer enters it in the chat, and the AI finds their orders and keeps helping. Nothing to turn on.

## Helpdesk

### Phone

![Phone inbox settings with Call recording and Play recording notice switched on, a custom recording notice, and separate retention periods for recordings and for transcripts and summaries](https://www.commslayer.com/_astro/07.DXP2AJPE.webp)

Phone has new settings to help you follow call recording and privacy rules:

- **Call recording:** a per-inbox switch that records and transcribes answered calls. On by default.
- **Recording notice:** callers hear a short notice before anything is recorded. Use the default or write your own.
- **Data retention:** set separate auto-delete periods for recordings and for transcripts and summaries, from 30 days to 3 years.

Also new on phone:

- **Outbound call rates:** the voice pricing on your subscription page now asks for your phone number's country. Some countries showed higher outbound rates than you'd actually pay. The rates now match calls from your own number.
- **Keypad:** press keys during a live call to get through phone menus.
- **Numbers on request:** Norway and other countries with no stock show as "On request". Commslayer orders the number for you, usually within 2 to 3 weeks.

### Attachments in canned responses

Canned responses can now carry files. Add up to 20 files, 40 MB each, and they're added to the reply whenever someone on your team inserts that response.

![The Edit canned response window with a short code and message on the left, and on the right an Attachments drop zone for up to 20 files at 40 MB each, holding a PDF care guide and a PNG chart](https://www.commslayer.com/_astro/08.BBgZVdUY.webp)

### Smaller updates

- **Kustomer importer** in **Settings → Account settings → Import**. Richpanel imports now work through the API too.
- **Export a contact's data:** admins can download everything you hold for a contact, across all channels, from the contact page. The link arrives by email.
- **Delete a message** to remove sensitive info from a conversation.
- **Report exports** now follow your filters.
- **Meta:** add DMs or comments to a Page that's already connected, without rebuilding your inboxes.
- **Loop:** cancel a paused subscription without resuming it first.
- **Per-agent refund and edit toggle** in **Settings → Agents**.
- **Bulk select** with shift-click.
