n8n hits a wall.
Claude Routines hits a cap.
Rotor doesn’t.
Your workflow fails at 3am. Rotor retries it. You wake up to a completed run, not a Slack alert.
$ npx rotor@latest initRuns
last 24h · 4,812 step-runs
enrichment-dag · 02:14:07
RetryingStep retries automatically · state resumes after crash · no manual replay
Built to work with the stack you already run.
No rip-and-replace. No new dashboards to babysit.
Cron dies silently. n8n bills explode. Claude Routines hits a wall.
GTM engineers waste nights babysitting infrastructure that was never built for production.
Silent failures at 3am
Your cron job died six hours ago. You find out when a prospect asks why they got nothing.
Bills that spike without warning
n8n's per-task pricing looked fine at 10 workflows. At 10,000 it looked like a SaaS bill.
Secrets stuck in a .env on a VPS
One breach, every integration. Rotating means SSHing into a box and hoping nothing breaks.
Built for GTM engineers.
Designed for production pipeline.
Your Claude Code–authored agents run on real infrastructure with real observability. Retries, approvals, and a complete audit trail of every outbound message, enrichment call, and CRM write.
Outbound Sequencer
RUNNING
Drafts multi-step email sequences, waits for replies, and escalates to your inbox when a prospect engages.
Enrichment DAG
12S
Hits Apollo, Clay, and LinkedIn in parallel, merges the results, and pushes an ICP score into HubSpot.
Attribution Rollup
3M
Reconciles Lemlist opens, HubSpot deals, and Shyft pipeline signals into a single daily report.
Claude Code–native, from scaffold to deploy
Outbound run · acme.com
Enrich from HubSpot
1.2s
Score ICP via Claude
3.1s
Draft personalized email
4.7s
Wait for Slack approval
2m
Send via Lemlist
0.4s
Connect the stack you already run
Approvals, guardrails, and full audit trail
Built for the 2am retry.
Designed for pipeline scale.
When Apollo rate-limits, when an LLM call 500s, when your sender's webhook fails — Rotor resumes where it stopped. Your RevOps engineer sleeps.
enrichment-dag · 02:14:07
RetryingStep retries automatically · state resumes after crash · no manual replay
Runs
last 24h · 4,812 step-runs
Workflow Studio
Design enrichment DAGs, outbound sequences, and attribution rollups in TypeScript. Hot-reload locally, deploy with one command.
Agent Orchestration
Chain Claude, GPT, and Gemini calls with tool use, pause for human review, branch on replies. Multi-agent where it earns its complexity.
Outbound agent
Drafts, waits for approval in Slack, sends via Lemlist.
Starter templates
Workflow Automation
Lead to close, no handoffs. Branch on replies, wait for webhooks, resume where you left off.
Integration Fabric
HubSpot, Salesforce, Apollo, Clay, Lemlist, Slack, Gmail — plus any MCP server you already use.
Human-in-the-Loop
Approve AI-drafted emails in Slack or your terminal. Bulk approve with filters. Your brand stays safe.
Your secrets don't belong in a .env file.
AES-256-GCM encrypted vault. Per-environment overrides. Railway sync. Built into your workflow runtime, not bolted on.
Encrypted at rest, masked forever
AES-256-GCM. Never stored in plaintext. Never logged. Masked in the UI the moment you save. Audit trail on every access.
${{ secrets.KEY }} at dispatch time
Secrets resolve when the step runs, not when you deploy. Rotate without touching your code. The next run picks up the new key automatically.
Per-environment overrides
Base secrets plus dev, staging, and prod layers. Single-level inheritance. One vault, three environments.
Railway sync
Push vault secrets to Railway env vars on cron or on-change. One-time import also supported.
Secret rotation
Version increment on rotate. Late-binding resolution means the next run picks up the new key automatically.
Governed AI.
Pipeline you can defend.
Every outbound message, every enrichment call, every CRM write is logged, reviewable, and rolls back cleanly. Your CFO, CMO, and compliance lead sleep too.
Audit Trail
Every agent action logged with input, output, and timestamp. Export to CSV, Snowflake, or your warehouse for the compliance team.
Recent Activity
Outbound send
0.4s
Sent personalized email to j****@acme.com via Lemlist
Apollo enrichment
FAILED
Rate limited after 3 retries on domain lookup
Claude draft
RUNNING
Drafting personalized opener from ICP signals
Slack approval
WAITING
Pending approval from @daan before send
Attribution rollup
2m
Merged Lemlist opens into HubSpot deal activity
HubSpot sync
FAILED
401 from HubSpot API — token expired, retrying
Reply classifier
RUNNING
Classifying inbound reply from prospect as interested
Role-Based Access
Decide who can launch outbound, who can approve, and who can see pipeline. SSO and SAML on Team and Enterprise.
Approval Queue
AI-drafted emails wait in Slack or your terminal until a human clicks approve. Bulk-approve with filters.
Guardrail Engine
Block sends to customers, competitors, or do-not-contact lists. Enforce brand tone. Reject PII in prompts.
DNC list
Blocked recipients
Block any send to an email or domain on your do-not-contact list. Checked first, cheapest gate.
j****@churned.com
competitor.io
Bring your own model.
All of them.
Rotor doesn't care which LLM you call. OpenAI. Claude. Gemini. Your fine-tune. Workflows survive when models change. Switch in one line, not one rewrite.
Route classify-reply to one provider. Lead-research to another. Code-gen to a third. One workflow. One bill. Zero vendor lock-in on the model layer.
Built for the engineer who runs GTM.
Pick your circumstance. Find your workflow.
Canvas refugee
Pain
n8n worked until the bill hit $200/mo and the canvas hit its ceiling.
How they use Rotor
Rewrites in TypeScript, ships in 60 seconds, pays for step-runs not per-task.
See how →Routines cap-hitter
Pain
Claude Routines: 15 runs/day, no retries, no persistent state.
How they use Rotor
Sub-minute schedules, durable step state, no daily cap.
See how →Cron box babysitter
Pain
Hetzner box dies at 3am, no retry, no state, no audit.
How they use Rotor
step.sleep + auto-retry, resume from last completed step.
See how →AI agent builder
Pain
Agent acts unsupervised, no approval gate, no audit trail.
How they use Rotor
Approval queues, guardrail engine, full audit log on every send.
See how →Stop babysitting cron. Start shipping.
$9 to start. 30-day money back.
$9 to start. 30-day money back.
Pay for the work,
not the seats.
One number per tier. No per-task pricing. No surprise bills. Hard caps protect you from runaway loops.
Workspace vault for your secrets
Unlimited seats from Starter up
Durable retries that resume from the last completed step
Hobby
For solo builders escaping n8n.
Start shipping- 5,000 step-runs / month
- 1 workspace, 1 seat
- 5 connections
- Workspace vault, MCP, CLI, API
- 1 month log retention
- Community Discord support
Starter
For GTM engineers running real workflows.
Start shipping- 20,000 step-runs / month
- 1 workspace, unlimited seats
- Unlimited connections
- Everything in Hobby
- 3 month log retention
- Email support (48h)
Pro
Most popularFor small RevOps teams.
Start shipping- 100,000 step-runs / month
- 1 workspace, unlimited seats
- Everything in Starter
- 6 month log retention
- Workflow versioning + rollback
- Email support (24h)
- Team invitations (viewer / developer / approver)
- Self-serve billing portal
- DLQ depth alerts
- Self-healing workflows — Beta (50 heal-runs / mo included)
Scale
For teams putting Rotor in production.
Start shipping- 250,000 step-runs / month
- 1 workspace, unlimited seats
- Everything in Pro
- 12 month log retention
- SSO, audit log, RBAC
- Custom webhook domain
- Priority support (4h)
- Self-healing workflows — Beta (200 heal-runs / mo included)
Frequently Asked Questions
Stop babysitting cron. Start shipping.
Your workflows retry themselves. Your pipeline runs unattended. You sleep.