How Braze built better customer experiences with AI Content Operations
Braze rebuilt its AI Content Operations on Sanity, replacing rigid models and manual translation with one place to power search, translation, and AI agents.

Hollie Aghajani
Staff Product Marketing Manager
Published
- 98% faster translated content delivery
- 30 lines of code to automate AEO metadata
- 0 engineering tickets to spin up a new agent
The vision
Scaling world-class content experiences in the era of AI
Braze is a customer engagement platform that helps brands worldwide reach more than seven billion people with helpful messaging, emails, and more. They wanted to bring similar clarity to anyone learning about Braze, ensuring that whenever someone searched the web or asked an LLM, they got a clear, accurate answer about Braze in the right language.
The challenge
A content setup that couldn't keep up with a global, AI-driven world
A productive team, Braze's content professionals published learning paths, blog posts, and marketing pages across multiple sites. But each system they used came with its own way of structuring content, and none of those structures were designed for what Braze needed to do next.
The learning team's learning management system (LMS) was the clearest example. It had a rigid content model that wasn't built to serve anything beyond its own interface. When Braze wanted to include learning content in federated search across their docs site, the LMS API could only hand over a course title, a schedule, and a short description. The long description was raw HTML, useless for generating embeddings. To get anything better, the team would have had to build a custom integration that queried the LMS repeatedly, adding complexity and slowing everything down.
In addition, translating content for its global customer base meant copying documents out of one system and into another, one by one. Deploying translated content to the LMS was even worse. Every lesson, course, and URL had to be manually configured in the LMS dashboard. A single learning path could mean tens if not hundreds of human hours of copy-paste work. There was no way to point an AI assistant at the right content and get a useful answer back.
Instead of searching for another LMS, Braze knew they needed to first structure their content properly to power everything from translations to search and AI agents.
The solution
When Braze decided to take control of their content model, they chose Sanity as the single source of truth for their learning and marketing content. Sanity became the basis for what the team calls AI Content Operations: a single, structured content layer that powers search, automation, translation, and AI agents across the company.
Sanity's API-first approach let the team model content in a way that made sense for their business. And GROQ, Sanity's query language, made it easy to deliver content to any tool in the format it needed.
“Something we love about partnering with Sanity is that API-first perspective — which lets us do whatever we need to with our content,” says Matt Chamberlain, Braze’s Technical Product Manager for Web Engineering. "And GROQ has that perfect mixture of simplicity and light transformation capabilities.”
"You should define your content model around how your team thinks about that content, not how the technology works," Matt adds. "Your vendor should never determine the way you model your content."
Better search results from a single query
Before Sanity, Braze's federated search pulled learning content from the LMS API, yet got back almost nothing useful. To improve on it, they would have needed to build an entire custom solution querying the LMS multiple times, adding complexity and stalling progress.
After making Sanity the home for learning content, the team replaced all of that with a single GROQ query written in 10 minutes. That query pulls not just metadata but the full lesson content where questions are answered, and GROQ automatically converts Sanity's Portable Text rich text format into embeddable strings. In return, Braze now has better embeddings, more relevant search results, and customers finding the right answers faster.
"There's just so much less developer effort involved," says Matt. "It's one query. We wrote it in 10 minutes and the project was done."
Automating AEO metadata for the AI search era
Braze's content has always been written for human readers. But as more people turn to LLMs for answers, that same content needs to work for AI too. Braze knew that meant adding structured details to every piece of content so an LLM can understand what a page is about and why it's relevant.
Rather than ask writers to do this manually for every blog post, the Braze team automated this tedious, manual work using Sanity Agent Actions and Functions. Now, when a blog post is published, a Sanity Function runs in the background and the AI agent generates three things automatically:
- A summary that appears above the post on the website
- A set of frequently asked questions — an important format for helping LLMs understand content
- A dense, machine-readable description for schema markup
The agent even decides whether to include the FAQs in the site's root LLMs.txt file.
The Braze team also built a light UI so content creators can see what the agent changed on any post they're working on. It's a quiet way to upskill writers on best practices while taking work off their plate. And if marketing wants to refine the tone of public-facing content like FAQs, they can update the prompts themselves through a Sanity document without having to bother engineering.
See how Matt built this in a 5-minute live walkthrough.

Hundreds of documents translated for global learners — in one click
Translating its content has always been a heavy lift for Braze. Teams around the world produce content for the company, which means translating a single learning path can require translating hundreds of connected documents in courses, lessons, and supporting content.
Their previous setup made this painful. Sanity was the home for that content, but translation happened in a separate tool, a translation management system (TMS) that editors had to use directly, moving documents back and forth by hand.
So Matt's team made the decision to build their own Sanity plugin that lets content teams translate hundreds of documents autonomously from inside Sanity itself. Now editors just hit "translate" and the plugin walks them through a simplified menu. They choose the target languages, pick any AI model, and start the job. With one click, the plugin can translate more than 100 connected documents in parallel.
The plugin also ties into Sanity's Content Releases, which lets editors review all the translated documents in one place before publishing. Editors spot-check translations and hit "run release."
"We've built a lot of trust around the model," says Matt. "Most of the time it's just a matter of spot-checking the translations and then hitting run release."
Lastly, translated content still had to land in the LMS, which used to mean yet another round of copy-paste. Sanity Functions handle that now; by automatically triggering when translated documents are published, functions configure everything in the LMS without anyone needing to use the dashboard. Matt added, “The development process for this has been a dream, because Sanity makes it so easy to make plugins.”
Sanity becomes the single source of truth. Our curriculum team no longer needs to hold two data models in their head; they can focus on what their creative brilliance is really meant to do: making exceptional learning experiences.
Matt ChamberlainSr. Technical Product Manager, Braze
What came next: Agents that anyone can build
On top of this foundation, Matt's team built AI agents — chat assistants tied to specific company content — that teams across Braze could use to find information buried in content.
Rather than giving agents access to everything. Sanity Context lets each team point their agent at just the content it needs, so agents answer questions without hallucinating or wasting tokens on irrelevant data.
Now, a customer success team member prepping for a call can ask an agent for relevant case studies and get a curated list back in seconds. The UX research team is using agents to draw insights about how their assets can support learning, and the product marketing team is using agents to answer product questions that help shape their copy.
Sanity Context is a huge time saver. The agent skill made development painless. We can create a new document type in Sanity, vibe code a small chat app, and pull in exactly the content we want.
Matt ChamberlainSr. Technical Product Manager, Braze
Behind the scenes, the agents aren't running on a copy of Braze's content. They're querying the same structured content that already lives in Sanity, in real time. Nothing has to be duplicated or kept in sync somewhere else. And, because the agent configuration itself lives in Sanity documents, non-technical teams can create a new agent on their own. In effect, Braze turned Sanity into an application platform. Now, they can write a system prompt, point it at the agent context they need, and add tools like web search, customer lookup, or content queries.
See how Matt set this up in a 12-minute live walkthrough.

"Data access for agents is more important than it's ever been," says Matt. "I don't know what challenges we'll be solving in six months or a year, but with Sanity I'm confident we'll have the tools we need to solve them."
Content that powers search, translation, and AI — all from one place
By making Sanity the home for their content, Braze turned content itself into a growth engine. The same structured content now drives better search and AI visibility across the web, delivers trustworthy experiences to customers in any language, and powers the agents helping internal teams do their best work, all queryable through one API. One foundation of structured content, working everywhere Braze needs it to.
Sanity features used:
