Group chat for people who care if their incentives actually make money
0
Days
0
Hours
0
Minutes
0
Seconds
Join marginmaxx
2026-10-07 12:00 am
2026-09-23 12:00 am
2026-09-22 12:00 am
2026-09-09 12:00 am
2026-08-18 12:00 am
2026-09-29 12:00 am
2026-05-06 12:00 am
2026-04-14 12:00 am
2026-04-21 12:00 am
2026-04-23 12:00 am
2026-04-28 12:00 am
2026-01-11 12:00 am
2026-09-28 12:00 am
Product

Q3 2026 product update: workflows, error messages library, and Otto

Anna Olszewska
October 22, 2026
  • Workflows are here: visual canvas, real-time event streaming, no middleware.
  • Validation rules now have a proper error message library: write once in 40+ languages, reuse everywhere.
  • We built Otto, an AI shopping agent that never invents a discount.
Table of contents
Share it on Twitter
Share it on Facebook
Share it on LinkedIn

Q3 was a lot. For everyone, judging by the conference schedules, the industry news cycle, and the general sense that nobody got a quiet August. We didn’t either, but we did ship. Here’s what landed before we all hopefully get a quieter Christmas.

As always, for the full list check the changelog.

Distributions grew up, meet workflows

Distributions were built for a simpler problem: one trigger, one action, and one channel. That model broke the moment teams started running incentives inside a real stack under strain. The workarounds piled up, webhooks lived outside the product, and nobody could explain what was really happening under the hood.

Workflows replaces this scenario model with a canvas. Pick neat blocks, connect them however your stack needs: multiple triggers into one webhook, one trigger fanning out to several actions. The visual layer is nice, but what’s actually live underneath it matters more: any new loyalty event now streams in real time to your CRM, CEP, or any custom endpoint, no middleware required.

What’s coming next: if/else conditional branches, native A/B split testing, automated reward redemption, inline voucher publishing, and full run history with version control.

Get the full workflows overview >

Workflows animation

Error message library

Validation rules fail silently all the time. Not in the API, but at the moment a customer sees “This voucher is invalid” and has no idea why, bonus points if the message is in the language that the customer doesn't speak. That’s a solid failure point, and it happens because teams manage error messages the same way they manage everything else in legacy promo setups: per campaign, per language, per sprint, all very inconsistently.

The error message library gives you one place to define what customers see when a validation rule rejects them. Write the message once, in as many of the 40+ supported languages as you need, and reuse it across every campaign that uses that rule. If you need a different message for a specific campaign or audience, you can still override at that level.

Otto is here

At some point in the next 12 months, a meaningful share of your customers will shop through an AI agent (not your AI agent). One they chose, that acts on their behalf. And that agent, by default, will pay list price because it can’t see your promotions, your loyalty tiers, or anything your promotion engine knows about that customer.

Your current options: block agents entirely or publish a blanket code the agent hands to everyone regardless of who they are or what they’re worth to you. Both scenarios are quite bad.

We built Otto at the recent Bloomreach hackathon to show there’s a third way. It’s a shopping agent that negotiates inside the merchant’s guardrails, not around them. Discount depth, stacking rules, eligibility, all of it still lives in Voucherify, and the agent can only offer what the engine validated for that shopper and that cart. If a customer hesitates mid-session, a Databricks model scores abandonment probability in real time and a Voucherify decides whether a rescue discount applies and how deep. The agent quotes the result, it never invents a number.

We’re not productizing this yet, but we’re happy to share it with selected customers who are thinking seriously about the agentic commerce problem. If that’s you, reach out >

New Postman collections are here (you’re welcome)

We keep shipping Loyalty v2 updates, which means you keep updating your test setup. Not anymore! The full Loyalty v2 API is now in our public Postman workspace. Fork it, run it, stop rebuilding it from scratch every quarter.

The highlights of the new loyalty model:

If you haven’t dug into Loyalty v2 yet, here’s what it actually changes:

  • Multiple wallets in one program: each with its own currency, earning rules and expiration.
  • Smarter point controls: earning and spending limits, pending points that activate only when a condition fires and partial returns that adjust points proportionally.
  • Tiers with depth: promote members by points, spend or segment, override rules per tier, and use up to 100 tiers per structure (it was 10), with a batch endpoint for tier levels.
  • Pay with points, your way: formula-based conversion, so rates can differ per wallet or tier.

Since launch, we’ve also added reward purchase limits with cooldowns and per-day/week/month caps (refunded and cancelled purchases don’t count), an impact preview before you save edits, and dedicated pages for wallets, earning rules and rewards inside each program so navigating the thing doesn’t feel like a fever dream.

Go to the Loyalty v2 overview >

More updates from Q3:

  • OAuth 2.0, version two: OAuth Service API keys and a new token endpoint (POST /v2/oauth/token) for machine-to-machine integrations. OAuth v1 still works.
  • Areas API: manage areas through the API.
  • Braze start and expiry dates: Braze distributions can now send the start and expiry date and time for vouchers and promotion tiers.
  • Approvals for promotion tiers: users with limited permissions now trigger an approval request when they enable or disable a tier, and tiers can be transferred between projects even when approvals are required.
  • Formula builder fix: parentheses are no longer stripped during auto-formatting. Yes, really.

Something to read

This quarter, we wrote some stuff you might find interesting:

One more thing: we started a Substack!‍

marginmaxx is a small, invite-only community for people who work closely with incentive economics. If that’s your world, request an invite >

PhotoSì story

PhotoSì has been printing photos since 1973. They launched Europe’s first photo-printing app, have 10M+ downloads, and were running promotions through an engine where every change waited on engineering and one shared welcome code that kept leaking onto coupon forums.

With Voucherify, every new customer gets a personal code the moment they register, on a rolling validity window, with one formula that scales the discount to cart size. Result: 350% ROI, 99,5% of redemptions from verified new customers, and 74% higher AOV on redeeming orders.

Get the full story >

‍Where we were in Q3

Q3 was eventful. We sponsored Bloomreach Edge Summit in Los Angeles, Braze Connections in Cologne and Braze Forge in Las Vegas, stopped by DMEXCO, and were a Headline Partner at MACH X Amsterdam, where we also picked up two MACH Alliance awards: one for our CEO, Tom Pindel, for his work on advancing open standards for agentic commerce. And another Agentic Achievement trophy for our work with Vincent and Altitude Sports.

MACH Alliance Award

 FAQs

Anna Olszewska

Content Marketing Specialist @Voucherify

Writes about incentive strategy, promotional mechanics, and composable commerce for Voucherify's blog. Background in SEO-driven content and organic demand generation. Bakes elaborate things on weekends.

Are you optimizing your incentives or just running them?