Rivet · open source

AI workers that finish the repeat work.

Rivet runs one business process at a time. Each worker reads the item, decides what it is and who owns it, and acts in the tools you already use. A policy you write decides what runs on its own and what waits for a person.

Open source, Apache-2.0. Your keys, your data. View on GitHub ↗

  • Apache-2.0
  • Runs on Claude
  • Your keys, your data
  • v0.1.0
workers/lead-intake.yaml
name: lead-intake
description: New inquiries are checked for fit and handed to the right owner.
autonomy: 2            # acts; risky actions wait for a person
owners:
  - id: sales
    name: Sales (Maya R.)
    slack_channel: "#sales-leads"
  - id: support
    name: Client support (Dev K.)
    slack_channel: "#support"
tools: [route, request_review, slack_post_message, crm_upsert_contact]
policy:
  approval_required: [crm_upsert_contact]
review:
  slack_channel: "#rivet-review"
Two ways to use it

Run it yourself, free. Or hire us to run it.

Run it yourself

Free and open source.

$0

Apache-2.0. Your own Claude API key.

Run Rivet free
Rivet Workers

We build and run it for you.

From $2,500

Audit, then a fixed-price build, then an optional care plan.

Book the $2,500 audit
How a worker runs

Every action passes the same gate.

  1. 01

    Item arrives

    A form, an email, a chat message, or a webhook from n8n, Make or Zapier.

  2. 02

    Worker decides

    Claude reads it against your instructions and calls the tools it needs.

  3. 03

    Policy gate

    Each call is checked against the worker file before anything happens.

  4. 04

    Runs, waits, or goes to a person

    Routine actions run. Risky ones wait for approval. Unclear items go to review.

  5. 05

    Logged and scored

    Every action lands in the audit log and feeds the monthly scorecard.

Human review, made specific

One setting decides how much it does alone.

Every worker file sets an autonomy level. It moves up only when the scorecard shows the worker has earned it.

  1. L4 Handles exceptions Selected edge cases are handled automatically, under rules you set.
  2. L3 Acts on its own Approved work runs without a person. Unclear items still go to review.
  3. L2 Acts with approval The workflow does the work. Risky steps wait for a person. Default
  4. L1 Suggests The workflow recommends. A person acts.
  5. L0 Manual A person does everything.

The policy decides, not the model

Every tool call passes a gate built from the worker file: allowed tools, autonomy level, approval rules and budgets.

Approvals run exactly what you saw

A held action is stored with its exact input. Approving runs that input. Nothing is regenerated.

Unclear goes to a person

Unclear items, refusals, and runs that hit their budget go to review. They are never forced into the wrong lane.

Named connections only

Webhooks are picked by name, never by URL. HTTP calls only reach hosts you allowlist, and redirects are refused.

Every action is logged

One line per run: input, each tool call and its outcome, the decision, tokens used, and which model served it.

Your keys, your data

Rivet calls Claude with your API key and your connectors with your credentials. Logs are plain files you own.

Quick start

Running in five minutes.

Requires Node 20+ and a Claude API key. Slack and HubSpot are optional and use your own tokens.

Read the docs
terminal
$ git clone https://github.com/h-vance/rivet && cd rivet
$ npm install && npm run build
$ export ANTHROPIC_API_KEY=...
$ node dist/cli.js run workers/lead-intake.yaml --input examples/lead.json
$ node dist/cli.js approvals      # anything waiting for a person
$ node dist/cli.js scorecard      # handled, reviewed, overridden
Questions
Is Rivet really free?

Yes. The code is Apache-2.0. You pay only for your own Claude API usage and any tools you connect. Rivet Workers is the paid option, where we build, connect and run it for you.

How is this different from n8n, Make or Zapier?

Those run fixed steps. Rivet handles the step that needs judgment, like reading an inquiry, deciding who owns it and writing the handoff, and it works alongside them. It can trigger your existing flows by name and be triggered by them.

Which AI model does it use?

Claude, through Anthropic's API, with your own key. Each worker sets its model and effort. The defaults are tuned for sorting and routing.

Do I need a developer to run it?

To run it yourself, someone comfortable with a terminal and a YAML file. If that is not your team, Rivet Workers covers setup, connections and monitoring.

Rather not run it yourself?

We map your process, build the worker, connect your tools, and run it with a monthly scorecard.

Book the $2,500 audit