- Updated
- Reading
- 7 min
- By
- Anlyon Team
Paragon ActionKit alternative for AI agents acting in users' accounts
Paragon ActionKit gives your agent a long list of tools in your users' apps. Anlyon adds a per-user limit, the user's bound yes, and a graded receipt per write.
- comparison
- end users
- paragon
- actionkit
- approvals
- per-user limits
Paragon ActionKit gives your agent hundreds of tools in your users' apps, with Paragon running sign-in and holding the credentials. Anlyon connects a shorter list, then controls each write per user: a limit counted before the call, the user's yes in your app bound to the exact request, and a graded receipt that says whether the provider's own record matched.
If you need breadth today, such as Gmail, Salesforce or NetSuite, Paragon covers it. If your agent writes in a handful of your users' tools and a wrong or repeated write would land on you, compare the two below. Facts about Paragon come from Paragon's own docs and site, checked on 2026-11-02.
What Paragon ActionKit does
"ActionKit is an API to give your AI agent or app access to Paragon's catalog of pre-built Integration Tools and Triggers" (ActionKit overview, as of 2026-11-02). The product page claims "1000+ integration actions" through "One API/MCP" (ActionKit page, as of 2026-11-02), and the supported integrations page lists 59 integrations by name, including Gmail, Google Calendar, Salesforce, HubSpot, Slack, Notion, Linear and GitHub (supported integrations, as of 2026-11-02).
Per-user auth. Users connect through the Connect Portal, an embedded React component, or a headless version you style yourself (authentication layer, as of 2026-11-02). Your backend signs a Paragon User Token, a JWT with sub, iat and exp, using an RS256 signing key that "never expire[s]" (installing the SDK, as of 2026-11-02). The sub is the Connected User, which "typically represents an organization, but can be implemented to represent any entity, such as an individual user" (connected users, as of 2026-11-02). A JWT Permissions claim can narrow a token to certain credentials or call types (JWT permissions, as of 2026-11-02).
Tool calls. Your code lists tools and runs them with Authorization: Bearer <paragonUserToken> against actionkit.useparagon.com (ActionKit for tool calling, as of 2026-11-02). Paragon holds the credential and emits events "when we attempt to refresh a user's access tokens" (event logs, as of 2026-11-02).
Approvals and limits. We did not find an end-user approval step for ActionKit tool calls, or a limit you set per user on writes, in Paragon's docs index (llms.txt) as of 2026-11-02. The open-source MCP server's README says, of its experimental Proxy API tool, "Always review the request before allowing the agent to use this tool," and offers LIMIT_TO_INTEGRATIONS and LIMIT_TO_TOOLS to restrict which tools appear (paragon-mcp, as of 2026-11-02).
Audit, deletion, self-host, pricing. Tool logs on the Monitoring page show the user, the request Paragon received and the calls made to providers; response bodies appear for error-level logs (logs and errors, as of 2026-11-02). You can disconnect an integration for a user with paragon.uninstallIntegration or a DELETE call (Users API, as of 2026-11-02). On-premise is an Enterprise plan option, managed or unmanaged (on-premise, as of 2026-11-02), and the MCP server "can be completely self-hosted." Pricing is a custom quote that scales with Connected Users (pricing, as of 2026-11-02).
What Anlyon does
Anlyon is narrower and goes deeper on each write. Your agent names an action, your server names the user, and Anlyon makes the call with that user's account.
const tools = await anlyonTools({
client: anlyon.forUser(session.user.id),
actions: ['hubspot-update-deal-stage'],
});
await ops.impactLimits.create({
name: 'CRM changes per user per day',
dimension: 'resource_mutations',
period: 'day',
amount: 20,
scope: 'end_user',
});
The limit is counted and reserved before the call, per user, so one user cannot use up another's allowance; over the limit, nothing reaches HubSpot. A policy can send a risky step, such as closing a deal, to that user to approve in your app. The approval is bound to a SHA-256 digest of the exact request and rechecked before dispatch. Every HubSpot pack write declares a read-back, so its receipt can be graded confirmed when HubSpot's own record matches, or acknowledged, unknown, failed, refused or denied. Anlyon does not resend an unknown write.
Side by side
| Question | Paragon ActionKit (as of 2026-11-02) | Anlyon |
|---|---|---|
| Who connects the account | The user, in the Connect Portal or a headless version (source) | The user, through a connect link your server creates; your server confirms it from your session, so a forwarded link attaches nothing |
| Where tokens live and who refreshes them | Paragon holds them and refreshes them (source) | Encrypted in Anlyon, refreshed by Anlyon; Anlyon makes the call |
| Per-user limits on writes | We did not find this in Paragon's docs (source) | Counted and reserved per user before the call, in money, record changes or a declared unit |
| Approval by the end user, bound to the exact request | We did not find this for ActionKit tool calls (source) | The user decides in your app; bound to a digest of the exact request, rechecked before dispatch |
| Receipt per write with provider read-back | Tool logs with provider calls; we did not find a read-back grade (source) | A graded receipt per write; confirmed means a read-back of the provider's record matched |
| Binding the user so a prompt cannot switch it | Your backend signs the Paragon User Token with the user's sub (source) | Your server binds the user with forUser(); tools have no user field and the client cannot be switched |
| Erase a user | Disconnect an integration per user by API; connected users can be deleted in the dashboard (source) | endUsers.erase(): revokes where supported, deletes connections, cancels approvals, clears counters |
| Catalogue size | 59 integrations listed; "1000+ integration actions" (source) | Sign-in for HubSpot, Slack, Linear, GitHub, Notion; about 27 API-key integrations |
| Self-host | On-premise on Enterprise; self-hostable MCP server (source) | Runs as a hosted service |
| Pricing model | Custom quote, scaling with Connected Users (source) | Monthly plans; governed actions are the billed meter (pricing) |
Anlyon's limits, stated once: the list of integrations is shorter, and Gmail, Google Calendar and Salesforce are not live yet. End users are supported over the HTTP API and the TypeScript and Python SDKs, not yet over MCP or the CLI. Anlyon is a small company.
When to choose Paragon ActionKit
- You need many integrations now, including Gmail, Google Calendar, Salesforce, NetSuite or QuickBooks.
- Your users are organisations as much as people, and Paragon's Connected User model fits that.
- You also want Paragon's workflows, triggers and managed sync from the same vendor.
- You need on-premise deployment under an enterprise contract.
- Your agent mostly reads, or its writes are low risk and you handle approval in your own code.
When to choose Anlyon
- Your agent writes in your users' CRM, chat, issue tracker or docs, and each user needs a ceiling of their own.
- A risky step should wait for that user's yes in your app, and the request that runs must be the one they saw.
- You want each write graded against the provider's own record, and an unknown result never resent.
- You want the model to have no field that names a user, and a forwarded connect link to attach nothing.
- You want to erase a user in one call. See acting for your users, per-user limits and user approvals in your app.
Using both
The two fit side by side. Send writes in the tools Anlyon supports through Anlyon, where they are limited, approved and graded per user. Keep Paragon for the integrations Anlyon does not cover. Your server holds both keys and uses the same user id for each. Each user connects to each product separately, and a connection in one is not available to the other. For a wider view, see agent auth platforms compared and Arcade, Composio and Anlyon.
Sources
All checked on 2026-11-02.
- ActionKit overview: https://docs.useparagon.com/actionkit/overview.md
- ActionKit product page: https://www.useparagon.com/actionkit
- Supported integrations: https://docs.useparagon.com/actionkit/supported-integrations.md
- ActionKit for tool calling: https://docs.useparagon.com/actionkit/actionkit-for-tool-calling.md
- Authentication layer: https://docs.useparagon.com/connect-portal/overview.md
- Installing the SDK (Paragon User Token): https://docs.useparagon.com/getting-started/installing-the-connect-sdk.md
- Connected Users: https://docs.useparagon.com/billing/connected-users.md
- JWT Permissions: https://docs.useparagon.com/apis/api-reference/jwt-permissions.md
- Event logs: https://docs.useparagon.com/monitoring/event-logs.md
- ActionKit logs and errors: https://docs.useparagon.com/actionkit/actionkit-logs.md
- Users API: https://docs.useparagon.com/apis/users.md
- On-premise: https://docs.useparagon.com/on-premise/hosting-paragon-on-premise.md
- Paragon MCP server: https://github.com/useparagon/paragon-mcp
- Docs index: https://docs.useparagon.com/llms.txt
- Pricing: https://www.useparagon.com/pricing
- Anlyon docs: https://docs.anlyon.com/guides/act-for-your-users
Frequently asked questions
- What is Paragon ActionKit?
- ActionKit is Paragon's API that gives an AI agent or app access to Paragon's catalogue of pre-built integration tools and triggers. As of 2026-11-02, its supported integrations page lists 59 integrations, and the agent calls tools with a Paragon User Token your backend signs for each user.
- Does Paragon ActionKit have human approval for agent tool calls?
- We did not find an end-user approval step for ActionKit tool calls in Paragon's docs as of 2026-11-02. Its open-source MCP server README advises reviewing requests before allowing the experimental Proxy API tool. Check with Paragon for anything newer.
- What is a good alternative to Paragon ActionKit for an agent that writes in users' accounts?
- Anlyon is built for that case. Each write counts against a limit for that user before it is sent, can wait for the user's yes in your app bound to the exact request, and returns a graded receipt. Its integration list is shorter than Paragon's.
- Can I use Paragon and Anlyon together?
- Yes. Use Paragon for integrations Anlyon does not support, such as Gmail or Salesforce today, and Anlyon for the writes you want limited and approved per user. Each user connects separately to each product; connections are not shared.
