Marketing automation that actually
automates
your email marketing.

Scale personalized marketing and transactional email in your voice and brand, without building a thing. Your AI agent learns your business and handles setup. barua uses that context and customer activity to build your strategy and create the emails.

Your AI agent learns your business and handles setup. barua uses that context, pixel data and product events to build your email strategy and create the emails in your voice and brand. Pixel data informs the marketing play. Your server supplies the facts in the receipt. After approval and domain verification, sending turns on.

ACROSS THE INDUSTRY
~18xmore revenue per recipient than batch campaigns
~41%of email revenue, from just 5.3% of sends
13xthe placed-order rate of a batch send
76%of people get frustrated by messages that aren't about them

One prompt. Done.

Nothing to build and nothing to write. Your agent wires it and can launch it. barua writes every email.

THE PROMPT› Fetch and follow the instructions at https://barua.ai/setup.md to set up barua for this project.
01

Your agent wires your events

Paste the prompt into Claude Code, Codex, Cursor, or whatever writes your code. It reads your repo and sends barua the facts your server knows: a signup, an order.

02

barua writes the plays

Welcome, nudges, win-back, receipts: proposed from your business context and customer activity, then written once in your voice and your brand.

03

The agent launches

Grant it a connection in Settings, and access to your DNS, and it confirms the brand, approves the plays, verifies your domain and turns sending on. Or keep any of those for yourself.

04

It runs on its own

Each approved play starts for the people its rule matches and the consent check allows. Two things stay yours: accepting the terms, and confirming you have permission to email people.

Customer data, built in

Every customer, in context.

Site activity and product events build a fuller picture of each customer. barua brings both into one profile.

Marte is an identified customer. Product events add her account signup and order #48213, paid NOK 1,688. Pixel data adds her interest in merino layers and sizing-guide context. Her time zone is Europe/Oslo, also from the pixel. Both sources stay on one profile.

Custom API connections

Bring data from the tools you already use.

Send customer events from your existing tools to barua through the API. Have your agent map them to your event plan during setup.

  • SegmentCustomer data
  • RudderStackCustomer data
  • PostHogProduct analytics
  • SupabaseDatabase
  • StripePayments
  • ShopifyCommerce
  • ClerkAuthentication
  • Your backendProduct events
Explore the events API

The pixel is optional. Have your agent add it during setup to bring site context into each profile.

Pixel snippet
<script async src="https://barua.ai/b.js" data-key="pk_…"></script>

Emails it sends.

Written once in your voice, filled in from what your server reported. Never from the pages someone looked at.

E-commerce A parcel runs late
Order #48213 is running late Northtrail <post@northtrail.no>  ·  to marte@…
B2B SaaS Built a site, stopped at the domain
Fysio Haugen is one step from live Pagevik <hei@pagevik.no>  ·  to jonas@…

What you get.

Every email says why

Once a play is approved, no model decides who gets an email or when. Each send records the rule revision and the event that started its play.

because created · rule v3 · consent yes · Thu 09:12

Approved once. By you, or by your agent.

Real renders and one yes per play, then it runs on its own. A changed word or rule waits for the same yes.

Quiet for 45 days · Approve once for the whole play

Your brand, your domain

Logo and accent color from your code, and the design from an email you forward. Sent from your own domain, as you. Receipts fall back to plain wording when your voice can't be written.

sends as post@northtrail.no

It knows when to shut up

A play runs only when its rule matches. Marketing email needs a recorded yes or the basis you attested, and a no always wins. Two marketing emails to one address are at least 20 hours apart.

Tue, opened the app and built nothing · nothing sent

Sent in their morning

Marketing email waits for 09:00 to 11:00 in each person's time zone, unless you set another window, and for weekdays when you turn that on. If barua has no zone for someone it uses your workspace's, then UTC. Receipts go out within hours.

diego@… in Mexico City · Mon 09:31

Who clicked, who bought

Links are tagged on your own URLs. Clicks come from the tag or the click beacon and purchases from your server's events, each credited to the latest touch for seven days. Opens aren't counted.

Fri · bought, credited here

For whoever runs the prompt.

  • Events go from your backend to a typed HTTP API, after the database commit. signed_up is required; activated, created, purchased and churned are declared if your product has them; the order, trial and subscription events are simply sent.
  • A test key verifies without creating people or sending email. The live key goes into your host's secret store through the skill's helper, never into chat.
  • Every event carries its own id, so a retry never doubles an email.
  • Delegation is a connection you grant in Settings, with review at the checkpoints you pick. Revoking it leaves your event keys working.

Facts from your server

Plays run on events your own code sends when something becomes true. Deciding who gets an email makes no model call at all.

Hosted in London

Your events, profiles, replays and pipeline runs all stay in London. Writing the words and delivering the mail cross to providers in the US; the privacy page lists every crossing.

The tag is optional, and masked

Typing and personal text are masked in the browser before anything leaves the device, with the exceptions the privacy page lists. Replays expire after 30 days. The full data page →

Onboarding a handful of stores and product apps now.

Your agent can read the setup guide today. Tell us where to look.

Or write to chris@barua.ai. It's an inbox, and a person answers.