Agent Reliability as a Service

Stop shipping agents that double-charge your customers.

AgentRaaS sits between your AI agents and every real-world action — guaranteeing exactly-once execution, proven under real concurrent load, not just claimed. Self-hosted or cloud.

✓ Webhook, SDK-style REST, or native MCP ✓ No vendor lock-in ✓ Self-hosted is unlimited and free, forever
CONCURRENCY PROOF asserted in the test suite, not a marketing number
8
concurrent identical requests
1
executed for real
7
caught as duplicates

From dedup.test.js's own concurrency test — clone the repo and run npm test to reproduce it yourself.

LIVE EXECUTION LEDGER real production traffic, last 24h
actions verified
duplicates caught
avg ms per action
01 — BUILT FOR THE SELF-HOSTED AI STACK

Not another SaaS gateway. A drop-in layer for the stack you already run.

Thousands of teams run n8n, Flowise, Langflow, Dify, Ollama, and LocalAI on their own Docker infrastructure — to cut SaaS fees, and to stay inside GDPR / EU AI Act data-residency rules. AgentRaaS is built to sit inside that stack, not replace it: one more Docker Compose service, zero data leaving infrastructure you control.

🔒 Air-gapped capable 🇪🇺 GDPR / EU AI Act friendly 🐳 One Docker Compose service 💸 No per-seat SaaS fees 🔌 agentgateway-compatible
n8n Flowise Langflow Dify Ollama LocalAI LangChain AutoGen CrewAI Claude Desktop Cursor Make Zapier
02 — THE PROBLEM

Your agent didn't fail. The network did — and nobody told it.

Payment retry

Your n8n workflow hits Stripe. It times out. n8n retries.

Result: the customer is charged twice, and you find out from a support ticket, not a log.

CRM duplicate

Your agent calls HubSpot to create a contact. The response is lost. It retries.

Result: two duplicate contacts, a messier pipeline, and a sales team that stops trusting the data.

Client update

Your agent sends a client a project status update. The confirmation times out. It retries.

Result: the client gets the same update twice — and starts wondering what else is off.

Team notification

Your agent posts an approval request to Slack. The webhook times out. It retries.

Result: your team approves the same request twice, or gets paged twice for one incident.

03 — HOW AGENTRAAS FIXES IT

A dedup slot claimed atomically, before anything real happens.

1

Your agent sends the request to AgentRaaS instead of the API directly.

2

AgentRaaS atomically claims a dedup slot for that exact request in Redis.

3

First call: forwarded to the real API, the result gets cached.

4

Retry or duplicate: the cached result comes back — never a second real execution.

04 — WHY NOT JUST DIY IDEMPOTENCY KEYS?

If you're calling Stripe by hand, its native Idempotency-Key header is genuinely enough. You don't need this.

The honest case for AgentRaaS is narrower and specific: not every provider has native idempotency (Stripe does; Twilio, Slack, most SaaS/CRM APIs, and any custom internal endpoint don't) — no-code tools can't set the header at all (n8n, Make, and Zapier give you a URL field, not a place to compute and attach an idempotency key) — and none of them give you one audit trail across services (Stripe's idempotency keys only tell you what happened inside Stripe; an agent calling Stripe, Twilio, and a custom CRM endpoint in the same run has zero unified record of which of those three actually fired).

DIY idempotency keys AgentRaaS
Code changesModify every API call, only where the provider supports itChange the URL
No-code support❌ Not possible — no-code tools can't set custom headers✅ Paste webhook URL (n8n, Make, Zapier)
Providers without native idempotencyBuild your own dedup logic, per providerOne proxy, same guarantee, every service
Multiple servicesDifferent logic per APIOne proxy, all services — plus any custom endpoint
Credential managementBuild yourselfSelf-serve, encrypted at rest
Validation, circuit breaker, rate limitingBuild yourselfBuilt-in
Audit trail, dashboardPer-provider at bestOne trail across every service you call
05 — WHAT HAPPENS WHEN AGENTRAAS IS DOWN?

Fail-closed by design — not fail-silent.

AgentRaaS sits in the request path between your agent and the real API. If it's unreachable, your call to it fails — it does not silently succeed un-deduped. There is no fallback path anywhere in the SDK, the n8n node, or the MCP gateway that quietly calls Stripe or Twilio directly when AgentRaaS doesn't respond. That's deliberate: the alternative — routing around an outage — would mean the exact retry-storm double-charge scenario this product exists to prevent happens silently, at the one moment you'd least want it to. Treat AgentRaaS like any other proxy or database on your critical path: standard timeout and retry handling on the calling side applies, same as it would for any dependency.

Honest gap: we haven't published real p99 latency numbers yet. Self-hosted, it's one network hop to a service running on your own infrastructure — not a call out to us — but we're not going to put a number here we haven't actually measured. That's on the roadmap, not fabricated in this paragraph.

04 — MCP-NATIVE, NOT JUST HTTP

MCP is how modern agents call tools now. AgentRaaS speaks it natively.

Model Context Protocol is the standard Claude Desktop, Cursor, and agent frameworks like LangChain, AutoGen, and CrewAI use to invoke tools. A stalled tool call gets retried just like a stalled HTTP request — same double-execution risk, different protocol. AgentRaaS's MCP gateway is a JSON-RPC proxy that applies the exact same atomic dedup guarantee to every tool call, not just webhooks.

WEBHOOK / HTTP

Point any client at us

n8n, Make, Zapier, or raw curl — change the target URL, nothing else.

POST /proxy/:service/:action
SDK-STYLE REST

No SDK package required

A clean per-service REST shape for scripts and internal tools.

POST /v1/sdk/:service/:action
NATIVE MCP

JSON-RPC tool calls

Claude Desktop, Cursor, LangChain, AutoGen, CrewAI — any MCP client.

POST /mcp
MCP Idempotency Guard — /mcp
# agent calls a tool via MCP
POST /mcp
{"jsonrpc":"2.0","id":"call_82f1","method":"tools/call",
 "params":{"name":"stripe.createCharge",
           "arguments":{"amount":4200,"customer":"cus_9f2k"}}}

→ 200 OK  // first call — forwarded, result cached
{"result":{"status":"success","charge_id":"ch_1N..."}}

# network stalls — agent retries the identical call 400ms later

→ 200 OK  // dedup slot already claimed — cached result, zero re-execution
{"result":{"status":"success","charge_id":"ch_1N...",
           "deduplicated":true}}
05 — WHERE IT'S USED

Any agent. Any workflow. Client-facing or internal.

AgentRaaS doesn't care what your agent is for — only that when it acts, it acts exactly once. If it can call an API, AgentRaaS can protect it.

💬

Customer support agents

Resolve tickets, send replies, trigger refunds — without a retry turning into two replies or two refunds.

📈

Sales & CRM agents

Log leads, update deals, enrich contacts in HubSpot or Salesforce — once per real event, not once per retry.

📅

Scheduling & client updates

Book meetings, send confirmations, post status updates to a client — exactly the number of times you meant to.

🔔

Internal team & ops agents

Post to Slack directly, or Microsoft Teams via Custom Actions — trigger approvals, hand off work between systems, SSRF-guarded.

🛒

Commerce & fulfillment agents

Update inventory, create orders, notify shipping — protected the same way whether it's Shopify or your own warehouse API.

Whatever you're building

Not on the curated list? Register it as a Custom Action in minutes — same dedup, same audit trail, same protection.

🏢

AI automation agencies & freelancers

Building client workflows in n8n or Make? Drop AgentRaaS in front of every client's Stripe, CRM, or messaging API so one retry storm doesn't double-charge a client account. The Agency plan adds a white-label dashboard per client tenant.

06 — WHAT YOU GET

Not just dedup. A full trust layer for autonomous action.

Every piece your agents need to take real actions safely, out of the box.

Exactly-once execution

Proven under real concurrent load with an automated test suite — not just a claim.

🔑

Self-serve credentials

Add your own Stripe, Twilio, or any provider's keys — encrypted at rest, no server access needed.

Custom Actions

Not limited to the curated list — register any endpoint, SSRF-guarded, and agents can call it too.

MCP native

A JSON-RPC gateway for Claude Desktop, Cursor, and any MCP client — every call protected the same way.

Circuit breaker

Stop hammering a broken upstream service. Trips open, recovers automatically.

Full audit trail

Every action logged — who, what, when, status, duration. Searchable dashboard, CSV export.

07 — INTEGRATIONS

Works with what you already use.

Stripe Twilio HubSpot Calendly Shopify Zoho Razorpay WhatsApp Zapier Make Adyen Mollie Airwallex Xendit PayPal Salesforce Slack Klarna Paystack GoCardless Opn Payments Microsoft Teams* + any endpoint

* via Custom Actions — not a pre-built connector, but reachable the same way any endpoint is: register it once, agents call it by name from then on.

WHO'S BEHIND THIS
Sumedh Chatse

Sumedh Chatse

You're being asked to hand this a live Stripe or Twilio key — that shouldn't come from an anonymous handle. I'm an infrastructure engineer with six years in production systems, and I built AgentRaaS, alone, after watching a retry storm double-charge a customer at 2 AM. Every line of the dedup engine, the SDK, and this site is mine to answer for.

LinkedIn → GitHub →

Pricing that doesn't punish you for self-hosting.

Open-core: the engine is MIT/Apache-2.0, genuinely open. Community is free and self-hosted only. Pro, Agency, and Enterprise all run either cloud-hosted or self-hosted, and unlock the separately-licensed enterprise module.

Pro

For individual builders past the free tier's usage cap
$20 /month
Higher usage & rate limits, cloud or self-hosted
  • Everything in Community
  • 3 team seats
  • Human-in-the-Loop approval gateway (Slack)
  • Higher monthly action & rate limits
Get started →

Agency

Cloud-hosted or self-hosted — manage client tenants under your own brand
$100 /month
Unlimited self-hosted · 50,000/month on Cloud
  • Everything in Pro
  • 10 team seats
  • Up to 10 client tenants
  • Multi-tenant, white-label dashboard
  • Inbound webhook receivers (Stripe, GitHub, Shopify & more)
  • Priority email support
Get started →

Enterprise

Cloud-hosted or self-hosted/on-prem — production, multi-team agent fleets
Custom from $499/mo
Unlimited actions, workspaces & seats, either way
  • Everything in Agency, unlimited seats
  • Active-active HA clustering
  • PII masking & DLP redaction engine
  • SAML/OIDC SSO, RBAC & SOC2-ready audit export
Contact sales →

The core engine is MIT/Apache-2.0 — genuinely open, no restrictions. Pro/Agency/Enterprise features (src/ee/) are a separate module under a fair-code/source-available commercial license modeled on n8n's Sustainable Use License — full terms in LICENSE.md.

Questions people actually ask

The short, honest answers — full detail is in the docs and LICENSE.md.

Is self-hosted really unlimited, on every tier?

Yes. Community, Pro, Agency, and Enterprise are all unlimited actions/month when you run them on your own infrastructure — no cap, no metering, no phone-home check. It's a term of LICENSE.md, not a "soft" limit we quietly enforce. The only metered tier is the free AgentRaaS Cloud account (500 actions/month) — because that one runs on our infrastructure, not yours. Pro/Agency/Enterprise features on a self-hosted instance unlock via a license token you paste into your own .env once at setup, verified entirely offline — never a network call back to us.

What's the difference between Pro, Agency, and Enterprise?

Pro ($20/mo) is for an individual builder past the free tier's usage cap — 3 seats and the Human-in-the-Loop approval gateway. Agency ($100/mo) adds multi-tenancy, white-label branding, and inbound webhook receivers — built for agencies managing multiple client workspaces under one dashboard, with 10 seats. Enterprise (custom pricing) adds everything needed for a production multi-team deployment: unlimited seats, active-active HA clustering, PII/DLP redaction, and SAML/OIDC SSO with RBAC. All three run cloud-hosted or self-hosted.

Is my data safe if I self-host?

Self-hosted means your audit log, credentials, and traffic never leave infrastructure you control — we don't see any of it. Stored credentials are encrypted at rest (AES-256-GCM), and the Enterprise tier adds PII/DLP redaction before anything touches the audit log, plus tamper-evident, SIEM-exportable logging for compliance-sensitive teams.

Do you support n8n, Make, or Zapier?

Yes — AgentRaaS is a proxy, not an SDK, so no-code tools work the same way code does: point the HTTP Request node at your AgentRaaS URL instead of the API directly. No custom node install required for any of them.

What happens if my agent retries a request?

AgentRaaS claims an atomic dedup slot in Redis before anything real happens. The first call gets forwarded and its result cached; any retry or duplicate — even concurrent ones — gets the cached result back instead of a second real execution. This is tested under real concurrent load, not just claimed (see npm test).

Is this open source?

The core engine (src/core/ — payload dedup, MCP gateway, dashboard) is MIT/Apache-2.0. Enterprise features (src/ee/ — SSO, HMAC, DLP, distributed rate limiting) are source-available under a separate commercial license. See LICENSE.md for the exact terms.

What does "agentgateway-compatible" mean?

agentgateway (a Linux Foundation project) is an edge proxy for AI traffic — auth, RBAC, rate limiting, and observability across all your MCP/tool servers, not just AgentRaaS. If you already run it (or want to), AgentRaaS drops in as a backend behind it with zero code changes on either side — see Getting started for the one-command setup. Most self-hosters don't need this; it matters once you're managing more than one MCP server behind a shared gateway.