The next best action — proposed, not imposed.
When rules aren't enough, Origamy AI reads each customer's moment and proposes what to send. It shows its reasoning, waits for your approval, and keeps a full audit trail you can replay. A layer on top of the platform — never a black box in the middle of it.
Origamy AI is optional. Everything else — data, audiences, journeys, messaging — works fully without it. Turn it on when you're ready.
Typed Skills, not prompt soup.
Each Skill is code with declared inputs, a hard latency budget, and a typed output. It reasons over the profile and history you allow it to see — nothing more — and emits an Insight with its citations attached. The same contract runs in staging, production, and replay.
export const churnRescue = skill({ on: "payment.failed", context: [Profile, History("90d")], budget: 50, // ms, hard propose: async (moment) => { // typed in, typed out, cited return Insight.cite(moment.evidence) .suggest("retry-kindly", { at: "18:00" }); }, });
Forty-seven milliseconds,
start to proposal.
Fast enough to run inline with a live event, so a suggestion is ready before the customer has finished loading the page.
An event lands
From your SDK, forms, or warehouse. Schema-checked at the gate.
t = 0 msWe know who this is
Identities resolve and merge in under 800 microseconds, warm.
t < 1 msA Skill reasons
Typed, budgeted, bounded to this moment. It emits a cited Insight.
t ≈ 40 msOn approval, it runs
Consent-aware, through your own providers. Fully replayable.
p99 = 47 msp99 measured event-in to proposal-out on our reference pipeline. Every run replays from stream offsets — same inputs, same proposal, every time.
It proposes. You approve.
Run Origamy AI in suggest-only mode and every proposal waits for a human. Trust a Skill? Promote it to run automatically within the guardrails you set — budgets, consent, quiet hours, and frequency caps still apply. You can dial autonomy up or down per Skill, any time.
Guardrails that always applySame inputs. Same answer. Every time.
Every proposal is reproducible from stream offsets — 100% deterministic. When someone asks why a customer got a message in March, you rerun March and read the exact reasoning. AI you can actually audit.
$ origamy replay --insight 48211 # reading offsets 88121..88135 moment payment.failed · profile amara context 14 events hydrated propose ChurnRescue → "rescue kindly" verify ✓ identical to production run took 47ms · cited · deterministic
Add a brain to your lifecycle — when you're ready.
Origamy AI is opt-in · Runs in our cloud or your VPC