Untopple

Deterministic automations, built directly by your agent.

Your agent builds it once, and it runs every day as code. No tokens to pay for each run, no server to look after, and every run checked against what a good result looks like, so you hear when it didn't do the job. Build with Claude Code, or any agent you already use. It writes and tests on a private machine in the cloud, and what it builds becomes a workflow: plain scripts wherever a step can be deterministic, and a model prompt only where it needs judgment. Hosting, schedules, connections and retries are already set up.

Untopple is in early alpha: free while it is, and it changes often and may break.

New invoiceArrives by emailRead the PDFPull out the fieldsPost to accountingClick SubmitSubmit button not foundNow clicks the new Send buttonTell financeSend the summaryReproduceLocalizeRepairVerify

Why Untopple

No tokens per run. No server to look after.

Your agent did something useful once. Now you want it every morning, without paying it to think the whole job through again and without becoming a sysadmin.

Ask your agent every time

Every run costs tokens or eats into your plan's limits, works the whole job out again, and comes out a little different each time. The longer the job, the more steps a model can get wrong.

Put a script on a server

The server is cheap. Cron, secrets, expiring logins, browser updates, logs and backups are yours, and nobody notices it broke until someone asks where the report went.

Build it once in Untopple

Your agent writes it on your own account. It runs as code on a machine of its own, with schedules, connections, replay and a page for every run. Each run is checked against the result it promised, and you hear when it falls short.

How it works

Author with AI, run on code

Untopple is an MCP server your agent connects to. The agent does the building, a private machine does the running, and every change goes live through a draft.

  1. Connect your agentAdd the Untopple plugin to Claude, or connect any agent that speaks MCP, and sign in.
  2. Agree the contractThe agent asks what you're trying to achieve and writes it down as a short contract. You approve it, and every change to it.
  3. Build in a draftIt writes the automation as code in your project, runs it and gives you a link to watch.
  4. Go live and runSubmitting the draft makes it live. Then it runs on its own, calling a model only at the steps that need one.

Services

Works with the tools you already use

Any service with an API key or an OAuth login can be added too.

  • Airtable
  • Discord
  • Figma
  • GitHub
  • Google Drive
  • HubSpot
  • Intercom
  • Linear
  • Notion
  • OpenAI
  • Pipedrive
  • Resend
  • Sentry
  • Slack
  • Stripe
  • Supabase
  • Vercel
  • Webflow

Silent failures

The worst failure says success

A crash gets noticed. The run that finishes green and sends an empty report gets noticed by your client, days later. So a run isn't done when the code ends, only when the result is what the contract promised.

  • Checks you approve in plain words: rows in the report, a supplier on every invoice, exactly one email
  • A check that fails fails the run, and its page shows what it saw
  • A schedule that should have run and didn't is a problem too, not silence

Connect your agent

Add Untopple to your agent

Create a free account. In Claude, add the Untopple plugin: it brings the connector and teaches Claude how to build an automation. Other agents connect to this address. Either way you sign in with your Untopple account, so there's no key to copy.

http://localhost:3000/api/mcp

Claude

On the web or in the desktop app, open Customize, then Plugins, and choose Add marketplace. Paste this, add the Untopple plugin, then connect it from its Connectors tab.

untopple/claude-plugin

Then start a new chat and ask your agent to use Untopple:

Use Untopple. Create a project called Playground, then help me automate something I do every week.

When something changes

Automation doesn't fail on day one. It fails on day ninety.

A button moves, a page changes, an API bumps a version. The run fails and you hear about it. Then your agent fixes it the way a developer would, and you see how.

  1. ReproduceReplay the failed run exactly as it happened.
  2. LocalizeFind the step that broke and why.
  3. RepairChange the automation, not just the symptom.
  4. VerifyProve the fix with tests and the recorded run.
  5. ShipIt goes live as a new commit, and the old one is a revert away.

The contract

It knows what the automation is for

Every project carries a short business contract in plain language. The agent writes it with you and only you can approve a change to it, so every run is checked against the result it promises, and every repair has limits it can't quietly cross.

  • What each workflow is for and what a good result looks like
  • What can wait and what must never happen
  • Who to call, and when to stop and call them
  • Code fixes go live on their own; a change to the contract waits for you

Post invoices to accounting

Purpose
Every invoice reaches accounting the day it arrives.
Good result
Each invoice is in accounting with its supplier, amount and due date.
Essential
Reading the PDF and posting the invoice.
Can wait
The summary to finance.
Never
Post the same invoice twice.
Call
The finance lead.
Stop when
A supplier's bank details change.

The change

Every fix shows its working

A fix is tested in its own draft, then goes live as one commit. Its page shows the change, how it was proven and whether the contract moved. If a fix can't be proven, the page says so.

  • History stays linear: a draft behind live is rebased before it goes live
  • Only the control plane moves live, never a machine's shell
  • A bad fix is reverted like any other change

Under the hood

Normal software engineering, simplified

You can't reliably fix what you can't replay, so every automation is designed to be repaired. Underneath, it's what developers already trust.

Your own agent

It connects with your own account, so we never resell or mark up model usage.

One private machine per project

Each project is built and runs on a machine of its own, which sleeps when there's nothing to do.

Deterministic replay

Every run can be played back, so a failure is something to study, not a mystery.

Durable by default

Runs survive restarts and can sleep for days, then pick up where they left off.

Drafts, not chaos

Each change lives in its own draft on git, separate from what's live.

Your code stays yours

It's a normal Node project with its git history, and you can download it at any time. If a platform closes, your automations shouldn't close with it.

For consultants and agencies

Great demo. Can you make sure it works?

Now you can say yes, and every run shows the client what it delivered. Give each client a project, keep it in your organization and invite the client to follow its runs for free. If they want their own copy, install your project in their organization.

No more logging into every client's account each morning: one page shows what failed, what didn't run and which login needs renewing, across all of them.

Got an automation that keeps falling over?

Start with that one. Connect Claude and rebuild it in a project, or tell us what it does and we'll help you set it up.