The cloud for Claude Code.

Deploy the workflows you build with Claude. They run on a schedule or a webhook, with your team's keys and a record of every run.

Get started
~/revops — claude
Claude CodeOpus · ~/revops

>compare our HubSpot pipeline with yesterday and post what moved to #revenue: new deals, stage changes, slipped close dates

Read open deals from HubSpot · compared with yesterday

Posted the summary to #revenue

>/teton run this every morning at 7

Wrote pipeline-changes.workflow.mjs

Bash(teton deploy pipeline-changes.workflow.mjs)

⎿

✓ v1 live · schedule armed · next run 07:00 ET

! needs SLACK_BOT_TOKEN → app.teton.so/integrations

>

? for shortcuts

Do it once in Claude. It runs from then on.

Your best work in Claude happens once, then the chat closes and tomorrow you do it again by hand. Teton runs that session headless, in the cloud, so it keeps going.

Fri 4:12 pm — claude

>compare our HubSpot pipeline with yesterday and post what moved to #revenue

Posted the summary to #revenue

>/teton every weekday at 7

Deployed · next run Mon 07:00

MonTueWedThuFri
Oct 26✓ 07:00
Oct 27✓ 07:00
Oct 28✓ 07:00
Oct 29✓ 07:00
Oct 30✓ 07:00
Nov 2✓ 07:00
Nov 3✓ 07:00
Nov 4✓ 07:00
Nov 5✓ 07:00
Nov 6✓ 07:00
Nov 9✓ 07:00
Nov 10✓ 07:00
Nov 11✓ 07:00
Nov 12✓ 07:00
Nov 13✓ 07:00

The same result every morning

The steps Claude worked out run the same way each time, on a schedule or when something happens.

It remembers yesterday

A Postgres database in every workspace, so a job can compare, skip what it already did and pick up where it stopped.

Change the rules without code

Your ICP, scoring rules and tone live in shared context files. Edit one and the next run follows it.

From a chat with Claude to a job that runs every morning.

01

Do the job once with Claude

Ask in plain language in Claude Code or Codex and get the output right by hand.

> post what moved in the pipeline to #revenue
02

Type /teton

Claude writes it up as one file: the trigger, the steps and the keys it needs. No repo to set up.

pipeline-changes.workflow.mjs
03

Deploy it

One command makes it live. It runs in the cloud from then on, whether your computer is on or not.

✓ v1 live · next run 07:00 ET

See what it does, and every time it ran.

Teton reads the file and draws it: what starts it, every service it touches, where Claude steps in and what it remembers. Below it, every run with its result and cost.

Daily · 07:00 ET
HubSpotEvery open deal
ClaudeWrite up what moved
SlackPost to #revenue
ResultDigest posted
load yesterday's snapshotsave today's snapshot
Workspace Postgresremembers between runs
pipeline-changesv1 live · daily 07:00 ET
Last 14 days
StatusStartedDurationCost
Running · comparing with yesterdayNow——
SucceededYesterday 07:0014.2 s$0.04
Resumed at step 3Thu 07:0021.7 s$0.05
SucceededWed 07:0013.8 s$0.04

Every workspace comes with a Postgres database.

Somewhere for your jobs to keep what they learned yesterday. It's plain Postgres, so you, Claude and your BI tools can read it too.

Database / pipeline_snapshotsPostgres
Tablespipeline_snapshots 2,140sent_digests 18deal_changes 312
select deal, stage, amount, close_date
from pipeline_snapshots
where day = current_date - 1;
dealstageamountclose_date
Acme Corp · renewalNegotiation$52,000Nov 14
Northwind · expansionProposal$18,500Dec 02
Globex · new logoDiscovery$36,000Jan 20
Initech · upsellClosed won$9,800Oct 24
Umbrella · new logoProposal$27,300Nov 30
5 rows · 11 mswritten by pipeline-changes · today 07:00

Jobs remember between runs

Snapshots, what was already sent, where a job stopped. That is what makes “compare with yesterday” possible.

Ask Claude about it

Through the Teton connector, Claude can read the schema and query any table. “What moved last week?” is a question, not a dashboard.

Connect anything to it

Copy the connection string from the dashboard into Metabase, Hex or your own scripts.

One definition of win rate. Every chat and every workflow uses it.

Write down what your team means by win rate, ICP or a qualified lead once. Workflows read it on every run, and everyone on your team can use it from their own Claude.

icp.mdwin-rate.mdscoring-rules.md
rev 4 · edited Oct 21

# Win rate

Closed won ÷ (closed won + closed lost), counted by close date.

Leave out renewals and deals under $5k.

Report it by quarter unless someone asks otherwise.

In any Claude chat

>what was our win rate last quarter?

Teton · read win-rate.md (rev 4)

31%, closed won over won plus lost, renewals and deals under $5k left out.

In every workflow run
pipeline-changestoday 07:00
read win-rate.md rev 4 · icp.md rev 9

Everyone means the same thing

The definition lives in one place, so a rep's chat, a manager's report and the 7am job all count the same way.

Change it without a deploy

Edit the file and the next run of every workflow that uses it follows the new rule.

See who changed what

Every edit is a revision you can roll back, and every run records which revision it read.

See everything it does. Undo anything it did.

See what it does

Teton reads the file and shows every service it calls and everything it writes.

07:00→HubSpot→Claude→Slack

Keys the code never sees

Keys are entered once in the dashboard, never in the chat or the file, and only reach the hosts a job declares.

HUBSPOT_ACCESS_TOKEN ••••••••only to api.hubapi.com
SLACK_BOT_TOKEN ••••••••only to slack.com

Every change on the record

When a job writes to your CRM, each run lists exactly which records it changed.

deal-hygiene · today 07:00 · 3 records changed
Acme Corp · renewalclose date added
Northwind · expansionnext step added
Globex · new logostage: Proposal → Negotiation

Undo in one click

Every version is kept. If a change goes wrong, make the last good one live again.

v3 · Ignore deals under $5kLive
v2 · Post to #revenueMake live
v1 · First versionMake live

The small jobs that quietly run the business.

  • Post what moved in the pipeline to #revenuedaily 07:00
  • When a form comes in, file it in Notion and ping the ownerwebhook
  • Flag deals that have gone quiet and nudge the owner in Slackweekdays 09:00
  • Draft the follow-up email for every sales callafter every Gong call
  • Watch Hacker News for stories about your marketevery 3 hours

Do it once.
Teton does it every day after.

Take the thing you did in Claude this week and make it permanent.