Replacing Workato API Platform with a self-hosted gateway in front of n8n
If your Workato recipes are exposed as APIs and you pay for each successful request, the usual self-hosted replacement is not a like-for-like iPaaS. It is a self-hosted API gateway, such as Apache APISIX or Gravitee, placed in front of n8n workflows that do the actual work. The gateway owns the traffic path: who may call an endpoint, how often, and what gets logged. The workflow engine owns the logic behind each endpoint. Keeping those two layers separate is the core design decision, because it lets you change one without rebuilding the other.
Apache APISIX is released under the Apache-2.0 license and can run in traditional, decoupled or standalone mode. For a single team with a fixed set of endpoints, standalone mode with a file-driven conf/apisix.yaml can keep routes and plugins in version control, and APISIX reloads that file when it changes. Gravitee API Management is Apache-2.0 licensed at its core, but the Enterprise Edition requires a license and adds features such as data masking, Redis caching and audit trails of API consumption. Confirm with Gravitee which of your required controls sit in the Community Edition before you choose it. Also confirm which n8n edition you need: the Community edition has no SAML or multi-main high availability, so gateway-side authentication may carry more of the access control.
The decision depends on two inputs you should measure before any build starts: expected request volume per endpoint, and the controls you must enforce at the edge. Ask your Workato account team for a usage report that counts successful requests per recipe over a normal month and a peak month. Then list the controls your security team requires: OAuth or OpenID Connect through the APISIX openid-connect plugin, API keys, per-consumer rate limits and request logging. Map each control to a gateway feature and confirm it in a proof of concept. Keep in mind that n8n counts an execution as one run of a whole workflow, so an API call that triggers several steps uses one execution, which affects how you compare costs.
Which API platform capabilities map to which open-source options
This table maps the capabilities a Workato API Platform buyer typically relies on to self-hosted options: Apache APISIX, Gravitee APIM Community and Enterprise, and n8n. Read each row as a question about your own gateway and workflow runtime, and check the Enterprise column before assuming a control is free. Gaps are stated plainly so you can confirm them in your environment.
| Capability | Apache APISIX | Gravitee APIM and n8n |
|---|---|---|
| Authentication via OIDC and client credentials | The openid-connect plugin works with Keycloak, Auth0, Microsoft Entra ID, Google and Okta and supports authorization code, client credentials, token introspection and PKCE flows. Confirm the flow set against your identity provider. | Gravitee is Apache-2.0 licensed and its gateway handles who may access each API. Confirm which OIDC and client credential policies sit in Community and which need Enterprise. n8n SAML single sign-on requires Business or Enterprise, which covers editor access rather than API callers. |
| API keys and consumer credentials | Key-based access is handled through gateway plugins. Confirm key issuance, rotation and per-consumer scoping in the version you deploy. | Gravitee manages API keys and subscriptions as part of its API lifecycle. Confirm key rotation and plan-based limits in the Community edition for your use case. |
| Rate limits and quotas | Traffic control plugins cover rate limiting for routes and consumers. Test limits under your expected request volume, since counts must be set per route. | Rate limiting and quota policies are available through Gravitee policies. Confirm which quota types are Community features and which sit in the enterprise policy pack. |
| Request routing to n8n webhooks | Routes proxy HTTP and HTTPS traffic to n8n webhook URLs. Confirm path rewriting and upstream health checks for your n8n instance. | The gateway proxies calls to n8n webhook endpoints. Webhook and Server-Sent Events entrypoints are listed as Enterprise features, so confirm which entrypoints your flows need. |
| Usage analytics and monitoring | Observability plugins export request data to external monitoring tools. Confirm which metrics and log formats your stack needs before choosing a plugin. | Gravitee analytics are available in the Community edition, while Cloud Reporter and the Alert Engine are Enterprise features. n8n counts each workflow run as one execution, which differs from per-request counting at the gateway. |
| Developer portal and API lifecycle | APISIX is a gateway and control plane rather than a full portal. Confirm whether a developer portal, catalog and version lifecycle meet your needs, or pair it with a separate portal. | Gravitee includes a Console UI for administrators and a Portal UI with an API catalog and documentation. Confirm which portal features are Community and which are Enterprise for your rollout. |
| Audit logging | Access logs are configurable through plugins. Audit trails of API consumption and activity should be confirmed against your retention and evidence requirements. | Audit trails of API consumption and activity are an Enterprise Edition feature in Gravitee. n8n log streaming is included only in Business and Enterprise plans, so budget for those tiers if you need it. |
Apache APISIX or Gravitee: when each fits
Both gateways can sit in front of n8n workflows that are published as APIs, but they differ in how much they ship out of the box. The cards below compare the lightweight gateway model with the full API management suite, and list the checks to run before choosing one for authentication, rate limits and API key handling.
Apache APISIX as a lightweight gateway
APISIX is a gateway first. It is licensed under Apache-2.0, built on NGINX and etcd, and routes client traffic through plugins for authentication, security and traffic control. It fits teams that already run infrastructure as code and want routes, consumers and plugins defined in version control. Check whether your team can operate etcd, or whether standalone mode with a YAML or JSON file meets your change process. Confirm the plugins you need for API keys and rate limits against the plugin list before committing.
Deployment modes in APISIX
APISIX runs in traditional mode with data and control planes together, in decoupled mode with separate planes sharing one etcd cluster, or in standalone mode with no etcd. Standalone suits small, file-managed estates where a change to the route file is reviewed like code. Decoupled mode suits several gateway sites that must receive one configuration. Ask your platform team which mode matches how they already deploy and back up configuration, since the choice shapes operations more than licensing does.
OpenID Connect at the gateway
The openid-connect plugin validates tokens from identity providers such as Keycloak, Okta and Microsoft Entra ID, and supports authorization code, client credentials, token introspection and PKCE flows. This lets the gateway enforce who can call a workflow webhook without changing the n8n flow itself. Confirm which grant types your partners and internal services use, and test token introspection latency under your expected request volume.
Gravitee as a full API management suite
Gravitee APIM ships more of the lifecycle. The Community Edition is Apache-2.0 and includes a gateway, a management API backend, a Console UI for administrators and a Portal UI that publishes an API catalog with documentation. This suits organizations that want consumers to discover and subscribe to APIs themselves. Ask which features your catalog and subscription process need, because several capabilities, including data masking, GeoIP filtering, Dynamic Client Registration and audit trails, are listed under the Enterprise Edition license.
Gravitee deployment and license boundaries
Gravitee documents a Helm chart for Kubernetes, including AKS, GKE, EKS and OpenShift, and Docker Compose with MongoDB for smaller installs. Its documentation states that the APIM Enterprise Edition requires a license. Before design work, list each feature your API program depends on and mark it as Community or Enterprise. Ask the vendor to confirm in writing which features your scope needs, rather than assuming the Community Edition covers them.
Choosing by the request volume and team
Pick APISIX when the gateway is one component among many and an engineering team owns routes as code. Pick Gravitee when product or partner teams need a catalog, subscriptions and lifecycle screens. Both drive cost through the hours spent operating and tuning them, and through any license needed for enterprise features. Share the expected requests per second, number of consumers and API key lifecycle with each vendor or community, and ask how each platform performs under that load in a test you run yourself.
How authentication, API keys and rate limits move to the gateway
Authentication for API consumers should be decided at the gateway before a request reaches n8n. In Apache APISIX, the openid-connect plugin can validate tokens from identity providers such as Keycloak, Microsoft Entra ID or Okta, and it supports authorization code, client credentials, token introspection and PKCE flows. Gravitee APIM offers its own policies for the same job. The practical split is that the gateway verifies who the caller is and whether the token is valid, while the workflow receives only requests that have already passed that check.
- Machine clients: Use the client credentials flow for system-to-system calls so services do not share user identities.
- Interactive users: Use authorization code with PKCE for browser or app consumers.
- Token introspection: Confirm with your identity provider whether introspection or local JWT validation fits your latency and revocation needs.
- Shared secrets: Keep client secrets and signing keys out of workflow nodes and in your secrets manager.
- Single sign-on scope: n8n SAML SSO covers people who build and run workflows in the editor, not API consumers.
Before go-live, confirm which identity provider flows your gateway version supports and test a revoked token end to end.
API keys are simpler to issue than tokens and suit some consumers, such as partners with fixed integrations. The gateway should hold the key registry, map each key to a consumer and a route, and reject keys that are unknown or disabled. Rotation is the operational work: you need a way to issue a new key, let the consumer switch, and retire the old one without an outage. Keys should never be embedded in n8n workflow JSON, because exported workflows are often shared across teams.
- Per-consumer keys: Issue one key per consumer so revocation affects one integration only.
- Overlap window: Support two active keys during rotation, then disable the old one on a set date.
- Storage: Keep key material in a secrets manager and reference it from gateway configuration.
- Audit: Record key creation, use and revocation in logs your security team can search.
- Export hygiene: Strip credentials from any workflow export before it leaves the owning team.
Confirm with your gateway vendor or project how key lifecycle is managed in the version you deploy, including whether a developer portal handles self-service issuance.
Rate limits and quotas belong at the gateway because they protect n8n before workflow execution starts. APISIX offers more than 100 built-in plugins covering traffic control, so limits can be set per route and per consumer. Gravitee provides equivalent policies in its APIM gateway. Quotas differ from rate limits: a rate limit caps requests per short window, while a quota caps total usage over a longer period, which is closer to how usage-based billing is tracked. Set both per consumer so one heavy client cannot starve others.
- Per-consumer limits: Apply separate limits to each key or client identity.
- Burst and sustained rates: Define both, since workflow triggers often arrive in bursts.
- Quotas: Track daily or monthly totals per consumer for chargeback or fair use.
- Backpressure: Agree on the response a client gets when limited, and document retry behavior.
- Execution load: Remember that n8n counts an execution as one run of a whole workflow, so size workers against expected executions.
Before relying on limits, load test with your real request volumes and confirm the counter storage behaves correctly across gateway nodes.
The gateway and n8n each check different things, and both layers are needed. The gateway enforces identity, key validity, route access and traffic limits on every request. n8n still handles workflow-level logic: input validation specific to the business process, data mapping, credentials for downstream systems, and error responses from those systems. Treating n8n as the only control leaves traffic limits to the workflow engine, which is the wrong place for them. Treating the gateway as the only control means business rules must be duplicated or left unchecked.
- Gateway duties: Authentication, API keys, rate limits, quotas, TLS termination and access logs.
- Workflow duties: Payload schema checks tied to the business process, orchestration and downstream credentials.
- Credential boundary: Workflow credentials for target systems stay in n8n, separate from consumer credentials at the gateway.
- Encryption key: In queue mode, the encryption key is shared with worker and webhook processes, so restrict who can read it.
- Editor access: SAML SSO for n8n is available on the Business and Enterprise plans and governs editor users only.
Write this split into your API design standard and confirm it with the security team before the first consumer is onboarded.
Which request volumes make a self-hosted gateway worth the effort
The saving from a self-hosted gateway depends on your own traffic, not on a published rate, so start by measuring it. Workato counts managed API usage per successful request, which means every retry, every timeout that is re-sent and every call your own clients repeat after an error can add to the bill. Ask Workato for the plan terms that define a billable request in your contract, including how it treats failed calls, and then compare that definition against what your logs show. This section does not give a per-request price because the figure belongs in your quote, and the decision turns on your monthly count and your error rate together.
Count the calls from the source you trust most. In APISIX, the access log and the Prometheus metrics exposed by the plugins you enable can show requests per route and status code, so you can separate successful responses from 4xx and 5xx errors. If the recipes sit behind a workflow engine, count those invocations too. Be careful with units: n8n counts an execution as one run of a whole workflow regardless of the number of steps, so a workflow with ten nodes is one execution, while the API calls it serves may be many. Model the two units separately, then translate workflow runs into request volume for each published endpoint before you compare figures with Workato's metered usage.
Before you decide, build a simple model with four inputs: successful requests per month, retry and error rate, peak requests per second and the number of consumers with their own keys. Add the fixed cost of the gateway's infrastructure, the people who will run and patch it, and the rebuild effort for each recipe. A gateway pays off when recurring metered usage is high and steady; it costs more when volume is low, bursty or dominated by errors you could fix at the source. Confirm with the vendor whether the license you need for your API features is required at your volume, and confirm the rate-limit behavior you expect from the gateway in your own test environment.
Migrating published recipe APIs to a gateway and n8n
This sequence moves each Workato recipe that is published as an API onto an n8n webhook workflow behind a self-hosted gateway, with consumers, keys and OIDC clients reissued and traffic verified in parallel before any cutover. The output is a documented inventory, a running gateway and a cutover record that your integration and security teams can review.
Inventory published endpoints and consumers
Your integration team lists every recipe that Workato exposes as an API endpoint, including its URL path, HTTP method, request and response schema, and the consumer applications that call it. Ask the platform owner for the export of recipe lifecycle management packages so the inventory matches what is deployed, not what someone remembers. The step is done when each endpoint has a named owner, a consumer list and a documented expected response, and the security team has signed off on the authentication method each one uses today.
Rebuild each recipe as an n8n webhook workflow
Developers rebuild each published recipe as a separate n8n workflow that starts from a Webhook trigger, with the same inputs, outputs and error responses that consumers expect. Workato recipes are rebuilt, not converted, so connectors, mappings and error handling are written again and tested against the same sample payloads. Store credentials in n8n's credential store, keep the main instance's encryption key protected, and confirm that workflows in queue mode share that key with every worker. The step is done when each workflow passes a recorded test suite that matches the original recipe output.
Stand up the gateway in standalone or decoupled mode
Platform engineers deploy Apache APISIX or Gravitee in front of the n8n webhook URLs. APISIX offers standalone mode, which reads routes from a YAML or JSON file and reloads on change, and decoupled mode, which separates data and control planes over a shared etcd cluster. Choose the mode based on whether your team wants routes managed as version-controlled files or through the Admin API. Confirm that client traffic and Admin API ports are reachable only from the networks that need them. The step is done when a test route forwards to an n8n workflow and the gateway configuration is stored in your change management system.
Configure authentication, rate limits and API keys
Security and platform engineers set up the gateway's controls for each route: the openid-connect plugin for OIDC flows against your identity provider, API key validation, and rate limits sized to the request volumes measured in the current Workato usage reports. Keys and OIDC clients must be reissued, not copied, because Workato secrets cannot be exported and the new gateway needs its own. Ask each consumer team to rotate to the new credentials on a schedule they agree to. The step is done when every route rejects unauthenticated requests in test and the rate limit behavior matches the agreed policy.
Run parallel traffic and compare responses
For each endpoint, send a copy of live or replayed requests to both the Workato recipe and the new n8n workflow behind the gateway, and compare status codes, response bodies, latency and error handling. Keep Workato serving production responses until the comparison shows agreement on the agreed test cases. Record every difference and decide whether it is a defect to fix or a documented change for consumers. The step is done when the comparison log has no open defects for the endpoint and the consumer teams have accepted any documented differences.
Cut over DNS or client configuration
Once parallel results are accepted, the platform owner changes the DNS record or the client configuration so consumers reach the gateway hostname instead of the Workato endpoint. Make the change one endpoint or one consumer group at a time, and keep the Workato recipe enabled so the previous path can be restored quickly if needed. Confirm that the gateway logs requests, that monitoring alerts on error rates and that consumers receive responses from the new path. The step is done when the cutover record shows the time, the owner, the endpoints moved and the verification results.
Retire Workato endpoints and archive evidence
After a stable period agreed with the business owners, disable the Workato recipes that were published as APIs and revoke the Workato-side credentials. Archive the inventory, workflow exports, gateway configuration, comparison logs and cutover records in a location your auditors can access. Ask your Workato account team to confirm in writing which API usage charges stop and when, since the terms of your agreement govern that. The step is done when no Workato API endpoint serves traffic, all credentials are revoked, and the evidence package is filed.
Running the gateway alongside Workato during transition
Most teams cannot cut over every API in one step, so Workato-hosted recipes and migrated n8n endpoints need to run side by side for a period. The cards below cover how to route traffic between them, how consumers authenticate across both, and what the on-prem agent does and does not change.
Route by path or consumer
Decide whether the gateway splits traffic by URL path, by consumer, or by a header set at the client. Path routing is the simplest to reason about: migrated endpoints get a new prefix, and existing paths keep pointing at Workato. Consumer-based routing lets one partner move early while others stay put. In either case, record which route serves each endpoint so that cutover and rollback are a configuration change, not a code change. Confirm the chosen routing rules in the gateway's own documentation before building them.
Shared identity provider
Consumers should authenticate once against the same identity provider whether a request lands on Workato or on n8n. Agree on one token issuer, the audience and scope values each API expects, and how clients refresh tokens. APISIX's openid-connect plugin can validate tokens from providers such as Keycloak, Auth0, Microsoft Entra ID, Google and Okta. Check that Workato-side authentication accepts the same tokens during the overlap, or clients will need two credentials for one period.
Fallback route to Workato
A fallback route sends a request to the Workato endpoint when the migrated n8n endpoint returns errors or times out. It reduces the risk of a bad cutover, but it also means a single request can run twice if the n8n side already performed a write. Limit fallback to idempotent reads, or require each write to carry an idempotency key that both sides honor. Test the fallback path with a failing upstream before go-live, and confirm which error codes trigger it.
Shared rate limits and quotas
During overlap, the same consumer may call both backends, so limits must be counted across both paths or a client can exceed its allowance by alternating routes. Decide whether the gateway enforces the consumer quota for all traffic, or whether each backend keeps its own counter and the total is reviewed monthly. Ask the gateway vendor and your Workato contract owner how each side counts requests, since the two may not measure the same thing.
Log and trace both paths
Put both backends behind the same access log format and correlation ID so one request can be followed from the client through the gateway to either Workato or n8n. Without this, incident response during the overlap depends on two log systems that do not agree on timestamps or request IDs. Confirm which logs remain in Workato after cutover and how long they are retained, because those records may be needed for audits or consumer disputes.
The on-prem agent stays in place
The gateway fronts API traffic. It does not replace Workato's on-prem agent, which sits inside your network and makes only outbound connections to Workato over a TLS WebSocket tunnel. Recipes that reach internal systems through that agent keep working as before until those recipes are migrated separately. Do not remove the agent when the gateway goes live, and confirm which internal connections each migrated n8n workflow will need, since the agent path and the gateway path have different network requirements.
Questions buyers ask before replacing the API platform
What does replacing the Workato API platform cost, and what drives it?
The cost is mostly people time plus any paid licenses, and the license part is smaller than many teams expect. The open-source cores of Apache APISIX and Gravitee's Community Edition carry no license fee, and n8n's main codebase is free to run under the Sustainable Use License for internal business use. The recurring costs to model are:
- Licenses for features you need but the community editions lack, such as n8n Enterprise (the .ee code requires a valid Enterprise License) or Gravitee Enterprise features like the Alert Engine and Redis caching.
- Hosting for the gateway, the workflow runtime, etcd or MongoDB, and PostgreSQL.
- Operations and support, including upgrades, certificates and monitoring.
One-time costs are the design, rebuild of published recipes as API routes, and testing. Ask any provider for a written scope quote that lists each component separately.
How long does an API platform migration take?
Duration depends on how many recipes are published as APIs, how many consumers call them, and how complex the authentication and rate limit rules are. Teams usually run the new gateway alongside Workato during cutover so consumers can move one API at a time. Timelines should come from a written scope, not from a general rule. Ask the provider to base the schedule on your inventory of published endpoints, the number of consumer applications that must change their base URL or credentials, and the test coverage you require before switching traffic.
Can our internal team replace the API platform without an outside partner?
Yes, a capable internal team can do it, provided it has people who know API gateway configuration, identity federation and the workflow tool. APISIX runs in traditional, decoupled or standalone mode, and its standalone mode reads routes from a YAML or JSON file, which keeps the setup simple to version. The harder parts are operating the gateway at production volume, writing consistent authentication policies and producing evidence for auditors. Many teams split the work: an internal owner keeps configuration in Git while an outside firm handles hardening, testing and documentation. Confirm which of these skills you have before you commit to a plan.
What must our team provide before the engagement starts?
Most delays come from missing inputs, not from the software. Prepare these before work starts:
- An identity provider such as Keycloak, Microsoft Entra ID, Okta or Auth0, with client registration rights for the gateway. APISIX's openid-connect plugin supports authorization code, client credentials, token introspection and PKCE flows.
- Network access from the gateway to the workflow runtime and the internal systems behind it, plus firewall rules and DNS names.
- A consumer list: every application or partner that calls the published APIs, its current credentials, and its expected request volume.
- Rate limit and quota targets, and the owners who approve them.
The written scope should state which of these DeployOpen would prepare and which your team must supply.
Should we choose Apache APISIX or Gravitee for the gateway?
Choose Apache APISIX if your team is comfortable with configuration as code and wants a lightweight gateway with more than 100 built-in plugins under Apache-2.0. It is built on NGINX and etcd, supports HTTP/3 and gRPC, and offers a standalone mode without etcd. Choose Gravitee if you need a management layer with a Console UI, a Portal UI for an API catalog, and lifecycle controls out of the box. Gravitee's Community Edition is Apache-2.0 licensed, but features such as data masking, GeoIP filtering, Dynamic Client Registration and LLM or MCP proxies require its Enterprise Edition. Compare both against the consumer list and the features you actually need.
How do authentication, API keys and rate limits move to the new gateway?
Each published recipe becomes a route with its own policy. Authentication moves from Workato's connection and API client settings to plugins on the gateway, typically an OIDC plugin for user tokens and key or client credential checks for machine callers. Rate limits and quotas are set per route or per consumer, and must be tested against your real request volumes. Existing API keys cannot usually be carried over unchanged, so plan a rotation window and confirm with each consumer owner how credentials will be reissued. Ask the provider to show how each control is tested before the switch.
What does the engagement cover, and what does it not cover?
A DeployOpen engagement is fixed-scope: scope, deliverables and timelines are agreed in writing before work starts. Typical deliverables for this migration include the gateway deployment in your own infrastructure, route and policy configuration, integration with your identity provider, testing, backup and documentation. Ongoing upgrades and continuous testing are available as retainers. DeployOpen prepares systems, controls and evidence for compliance assessments, but it does not issue audit reports or certifications; independent auditors do that. Confirm the exact deliverables and exclusions in the written scope.
Licensing and security checks before going live
Before a gateway or workflow engine serves production traffic, confirm the license terms of every component, because the stack in this topic mixes licenses. Apache APISIX is licensed under Apache-2.0, which permits commercial use, modification and redistribution under its standard terms. n8n is different. Its main codebase is under the Sustainable Use License, which allows use for your own internal business purposes or for non-commercial and personal use. That is source-available, not OSI open source. Exposing n8n workflows as a paid API product to external customers may fall outside internal business use, so have counsel review that specific use case before you publish a recipe-backed API.
Check the repository for files with .ee in their name or directory. Those files are not covered by the Sustainable Use License and require a valid n8n Enterprise License. The same applies to Gravitee: its Apache-2.0 Community Edition is the self-hosted base, while the Enterprise Edition requires a license. Gravitee lists audit trails of API consumption and activity, data masking, GeoIP filtering, Dynamic Client Registration, Redis caching and the Alert Engine among Enterprise features. If your API controls depend on any of these, budget for the license and confirm what the Community Edition omits. Ask Gravitee and n8n in writing which features each license key unlocks in your deployment model.
Run the security checks against your own configuration before go-live. Confirm that the Admin API on port 9180 is not reachable from client networks, that openid-connect validates tokens against your identity provider, and that rate limits and API keys are enforced on every published route. For n8n, confirm that the encryption key is shared with all worker and webhook processor nodes, and that the webhook instance is exposed only through the gateway. Record the results as evidence for your change process. Independent auditors and certification bodies assess controls, so treat these checks as inputs to their review, not as a substitute for it.

