26 KiB
Ported from earlier research (2026-10-29) and sanitized for clean-room use: source-code-derived details removed. Not legal advice.
Activepieces as a self-hosted n8n alternative (as of late Oct 2026)
Method note: Licensing facts come from the repository's LICENSE files and GitHub metadata/API (stars, forks, releases, LICENSE commit history). Gating, ops and env-var facts come from the official documentation (activepieces.com/docs) and the pricing page (activepieces.com/pricing), fetched 2026-10-29. Third-party reviews are marked as such. "Verified" means read in a primary public source. "Inference" means my reading of the docs that no source states directly. Clean-room note: the Activepieces enterprise code is proprietary; STaurtomation contributors must not read or copy it, nor the MIT core's implementation, and should work from documented behaviour only.
1. License (MIT core + commercial EE), license history
Takeaway
This is an open-core repo. Everything is MIT except two enterprise ("ee") directories named in the root LICENSE, which fall under a proprietary "Activepieces Enterprise license". Production use of that code needs a paid subscription; dev and test use is free. The split has been in place since Feb 2023 and has not changed in substance since. There is no BSL/SSPL-style relicensing of the core (unlike n8n's Sustainable Use License). The "conflicting sources" problem has a simple cause: the MIT Community Edition is the core alone (the pricing FAQ calls it "the automation core on its own"), without SSO, roles, audit logs, git sync, secret managers or embedding. Marketing copy that calls Activepieces "fully MIT" leaves the enterprise directories out.
Cited Findings
- Root LICENSE: all content under two named enterprise directories of the repository "is licensed under the license defined in" the enterprise LICENSE file, and "Content outside of the above mentioned directories … is available under the "MIT Expat" license". Copyright line: "(c) 2020-2024 Activepieces Inc." GitHub's API reports the SPDX ID as
NOASSERTIONbecause the license is mixed. — LICENSE file in activepieces/activepieces - Enterprise LICENSE ("Activepieces Enterprise license"): the software "may only be used in production, if you … have agreed to … the Activepieces Subscription Terms of Service … and otherwise have a valid Activepieces Enterprise license for the correct number of user seats." You may modify it and publish patches, but Activepieces keeps the rights to those patches, and they may only be used with a valid license. "you may copy and modify the Software for development and testing purposes, without requiring a subscription." Otherwise "it is forbidden to copy, merge, publish, distribute, sublicense, and/or sell the Software." — enterprise LICENSE file in activepieces/activepieces
- Official docs: "Activepieces' core is released as open source under the MIT license and enterprise / cloud editions features are released under Commercial License … Using the enterprise features … with a self-hosted instance requires an Activepieces license." — docs: license
- LICENSE git history: created 2022-12-07 as MIT. "chore(license): add ee license" on 2023-02-17, with follow-ups on 2023-02-20. "merge ee repository" on 2023-10-07 (EE code had lived in a separate repo before that). An editions wording change on 2023-11-14. A year bump on 2024-02-11. A path update on 2024-02-15. No commits to either LICENSE file since Feb 2024. — GitHub commits for LICENSE
- The vendor's n8n comparison blog (Jul 2025) calls Activepieces "fully open source under the MIT license" and n8n "Fair Code (commercial restricted)". — activepieces.com blog
Inferences
- The license structure has been stable for about 2.7 years (Feb 2024 to Oct 2026), and the substantive MIT/EE split dates to Feb 2023. I found no 2025-2026 license change. The real change happened in pricing and packaging (see section 2).
- The EE license forbids production use without a subscription, and patching gate checks for production use is explicitly forbidden. The core is MIT, so features can legally be re-implemented independently. For STaurtomation, any re-implementation must be clean-room from documented behaviour; do not read the EE or core code.
- The "fully MIT" vendor wording overstates things. The accurate phrase is "MIT core, proprietary EE modules in the same repo" (open core, similar to GitLab's model).
Gaps
- I did not read the full text of activepieces.com/terms (the Subscription ToS the EE license references).
- I did not check the separate pre-Oct-2023 EE repository for its license history.
2. Free Community Edition vs paid plans, pricing
Takeaway
The cloud ladder as of Oct 2026 is Free ($0, 1,000 credits/mo, up to 5 users), Plus ($20/mo flat, 10k credits), Team ($200/mo flat, 50k credits, 25 users, SSO + standard roles, unlimited projects), Ultimate (custom, yearly), Embed (from $36k/yr), and "Enterprise control" (custom, on-prem/air-gapped). Docs say every plan can also run self-hosted. Plus and Team are bought in-app with no key. Custom and Enterprise plans need a license key, and only with AP_EDITION=ee. The Community Edition (default, AP_EDITION unset) is the free MIT core, with no run or credit caps, but it cannot take a license key later.
Cited Findings
- Pricing page plans: Free $0 (1,000 credits/month, up to 5 users, "Free forever, no card"). Plus $20/month flat (10,000 credits, up to 5 users, BYO AI keys, team analytics, API and SDK). Team $200/month flat (50,000 credits, 25 users included, "Unlimited projects, SSO and standard roles, global connections, email support"). Ultimate custom (yearly, unlimited users, "Dedicated workers, SCIM and custom roles, releases and Git Sync, audit logs and secrets", plus custom terms, branding, platform governance, event streaming, private pieces, per-project credit usage). Embed "From $36k/year" (white-label builder, SDK, your pieces/templates). "Enterprise control": custom, "Run on your own servers or fully air-gapped". Overage $0.007/credit on Plus and Team. All tiers include unlimited flows, agents, tables, MCPs, and API access. — activepieces.com/pricing (fetched 2026-10-29)
- The pricing FAQ says self-hosting "decides where Activepieces runs, not what it can do," and calls the Community Edition "the automation core on its own." — activepieces.com/pricing
- "Activepieces runs on the free plan by default. Every plan on the pricing page is available self-hosted … Upgrading to Plus or Team? … Subscribe from inside the app and your plan applies automatically, with no key to enter … This page is for custom and enterprise plans." The key is activated under Platform Admin → Billing, with no restart needed. — docs: Enterprise license key
- Self-host compose guide: "Set the edition …
AP_EDITION=ee… Without it you get the Community edition, and you will not be able to activate a license key later." Hobby single-container installs on embedded PGLite "cannot run Enterprise at all." — docs: docker-compose, docs: enterprise license - Third-party one-click installs (AWS/GCP/Railway/Elestio/Easypanel/PikaPods) "install the free Community edition". — docs: install overview
- "On self-hosted installations plans don't apply" to concurrency. Per-project concurrency enforcement is off by default (
AP_PROJECT_RATE_LIMITER_ENABLED=false). — docs: limits - OLDER (Jul 2025): the vendor blog listed Free at 1,000 tasks/mo + 200 AI credits and "Basic" at $25/mo (unlimited executions, 10 active flows). Older plan names and prices are therefore stale. — activepieces.com blog, 2025-07-30
- OLDER (Jul 2025): HN post "We just made automation runs/tasks unlimited and Launched agen[ts]". — HN Algolia (story 44435189, 2025-07-01)
- One third-party review title claims a "$16 Cloud" plan, which conflicts with the official $20 Plus price. Treat it as stale or unreliable. — a8gent.com
Inferences
- "Team ~$200/mo" is confirmed: $200/mo flat for 25 users. That is the cheapest tier with SSO and roles. Audit logs, git sync/releases, secret managers, SCIM, and custom roles need Ultimate or Enterprise (custom quote).
- For self-hosters this is a three-tier picture: CE (MIT, free, minimal governance), EE with Plus/Team bought in-app, and EE with a custom license key. I did not verify exactly how credit and user caps apply self-hosted on EE.
Gaps
- Self-hosted price for Ultimate/Enterprise (not published).
- Whether self-hosted Plus/Team charge the same $20/$200, and whether the credit meter applies to self-hosted runs or only to AI calls. Docs say only that plans are "available self-hosted".
3. Feature gating (SSO, RBAC, users, projects, audit logs, log streaming, retention, environments/releases, git sync, secrets, versioning, workers/HA)
Takeaway
Per the pricing page and the enterprise-license docs, the Community Edition is the core alone: SSO, project/standard/custom roles, SCIM, audit logs, secret managers, releases/git sync, event streaming, global connections, dedicated workers, embedding, custom branding, and private piece management are paid features. Retention is configurable for free through documented env vars. Horizontal worker scaling and HA are documented as general architecture, with only dedicated workers / worker groups listed as paid.
Cited Findings
- License-key features (docs): "Standard and custom roles", "SCIM user provisioning", "Projects and multi-tenancy", "Embeddable builder and JavaScript SDK", and "Custom branding and domains" are listed as features unlocked by a license key. — docs: enterprise license
- SSO: Cloud: Team and above. The docs have a dedicated SSO guide (SAML and Google/federated sign-in). — pricing, docs: SSO guide
- User counts: cloud Free/Plus allow up to 5 users, Team 25 included, Ultimate unlimited. — pricing
- Audit logs: Ultimate/Enterprise only. Retention is set by
AP_AUDIT_LOG_RETENTION_DAYS(30 to 3650, empty = forever). — docs: environment variables, pricing - Log/event streaming: "Event streaming" is listed under Ultimate. — pricing
- Execution data retention (not gated):
AP_EXECUTION_DATA_RETENTION_DAYS(default30) covers "execution data, logs, and events", and should be strictly greater thanAP_PAUSED_FLOW_TIMEOUT_DAYS(default 30). Cloud is fixed at 30 days. Admins can shorten retention per project. Other limits:AP_MAX_FLOW_RUN_LOG_SIZE_MB50,AP_FLOW_TIMEOUT_SECONDS600,AP_MAX_FILE_SIZE_MB25,AP_MAX_RECORDS_PER_TABLE10000. — docs: environment variables, docs: limits - Multiple environments / Project Releases / Git Sync: "Project Releases allow you to sync flows, connections, and tables between different projects … develop in one environment and deploy to another." Releases come from Git, from another project, or from a rollback. The feature is enabled under project Settings → Environments. Pricing: "releases and Git Sync" is Ultimate only. — docs: project releases, pricing
- External secrets: the docs cover AWS Secrets Manager, CyberArk Conjur, HashiCorp Vault, and 1Password. Ultimate/Enterprise. — docs: secret managers, pricing
- Flow versioning: one third-party review claims "no native version control for flows". — syncgtm review via search. Not verified against official docs; see Gaps.
- Workers / HA / scaling: "Workers are stateless … scale horizontally: add replicas behind any orchestrator." Crashed worker jobs are requeued by BullMQ and "durable replay skips every completed step."
AP_CONTAINER_TYPE=APP|WORKER|WORKER_AND_APP. Redis Sentinel is supported. Only dedicated workers are gated ("Dedicated workers" on Ultimate). — docs: workers, docs: environment variables, pricing - Other gated items: global connections (Team+), piece management / private pieces, template management, custom branding/domains, embedding SDK. — docs: enterprise license, pricing
Inferences
- Since "Projects and multi-tenancy" and roles are license-key features, CE is unlikely to offer real shared-workspace RBAC for a team. Whether CE allows multiple user accounts at all, and how they are isolated, should be checked in a running instance.
- The n8n features people most often miss (SSO, environments/git, external secrets, log streaming, audit logs) map to Activepieces tiers like this: SSO at Team ($200/mo). Git/environments, secrets, and audit logs at Ultimate (custom). Arguably stricter than n8n's gating for git and environments.
- Unlike n8n Community, CE has no documented gating on retention or worker scaling.
Gaps
- I did not verify in a running instance which multi-user and invitation features CE's UI exposes.
- Whether flow version history is available (and in which edition) was not confirmed from official docs.
4. Product model (builder, pieces, triggers, code, AI/agents/MCP, embedding)
Takeaway
A linear, step-based visual builder that is closer to Zapier than to n8n's free-form node graph. Integrations ("pieces") are TypeScript npm packages; third-party reviews quote 300+ pieces. It includes code steps, subflows, approvals/waitpoints, tables, MCP support, and AI agents. Embedding/white-label is a separate Embed plan (from $36k/yr).
Cited Findings
- Third-party reviews quote "300+" or "~330+" pieces. — agntable, syncgtm. Counts may be stale or counted differently.
- The vendor positions n8n as node-based for technical users and Activepieces as "step-based builder" built for usability and speed. — activepieces.com blog
- HN Apr 2025: "Show HN: Largest Open Source MCP Repo (280)". — HN Algolia
- Durable pause/resume ("Waitpoints") was launched 2026-04-01. — everydev.ai; docs: waitpoints
- Code steps run sandboxed per
AP_EXECUTION_MODE(UNSANDBOXEDdefault in CE;SANDBOX_CODE_ONLYis required withAP_EDITION=ee). — docs: environment variables, docs: docker-compose - Embedding: "Embeddable builder and JavaScript SDK", "Custom branding and domains" are paid. The Embed plan is "From $36k/year". — docs: enterprise license, pricing
- Pricing lists Flows, Agents, Tables, MCPs, and "chat to automation" on every cloud tier. — pricing
Inferences
- Pieces are written in TypeScript and published as npm packages, so custom integrations are much easier to build than n8n custom nodes. Private pieces at org level are a paid feature.
- Which AI features (standalone agents, AI chat, in-flow agent steps) are available in self-hosted CE was not confirmed from docs.
Gaps
- Exact trigger model (polling vs webhook) per piece was not researched in depth. Schedule, webhook and manual triggers are available.
- AI feature availability per edition in self-hosted deployments.
5. Tech stack & ops
Takeaway
TypeScript/Node.js, with a Redis-backed BullMQ queue. The recommended self-host runs PostgreSQL + Redis (+ optional S3). There is also a single-container "hobby" mode on embedded PGLite with in-memory Redis. Docker Compose and Helm are both official. Sizing is documented: workers at 0.5 vCPU / 1 GB each with concurrency 1, and one app per ten workers.
Cited Findings
- Recommended install:
curl -fsSL https://get.activepieces.com | sh(Docker Compose v2, PostgreSQL + Redis). The Helm chart is "only if you already run a cluster". — docs: install overview - Hobby: a single container with
AP_DB_TYPE=PGLITE,AP_REDIS_TYPE=MEMORY. It "cannot scale, cannot move to Enterprise, and moving off it means starting over." SQLITE3 is deprecated and auto-migrated to PGLITE. — docs: docker, docs: environment variables - Redis backs the BullMQ queue, in modes MEMORY, STANDALONE, or SENTINEL. — docs: environment variables
- Production sizing: Worker 0.5 vCPU / 1 GB (concurrency 1, one per concurrent flow). App 1 vCPU / 1 GB (one per ten workers). Postgres 2 vCPU / 4 GB managed. Redis 1 vCPU / 1 GB. Example: "At 50 concurrent flows: 50 workers (25 vCPU / 50 GB) + 5 apps". Benchmark: 777 req/s with 160 workers, and Postgres becomes the bottleneck past about 80 workers. The legacy default concurrency of 5 needs about 2.5 vCPU / 5 GB per worker. — docs: production setup
- A vendor-neutral-ish comparison counts 3 containers (app + PostgreSQL + Redis) for Activepieces vs 2 for n8n. — agntable
Inferences
- A small team can run it on a single 2 to 4 GB VM with the combined
WORKER_AND_APPcontainer. Production at scale is heavier per concurrent flow than n8n queue mode, because the recommended model is one flow per worker.
Gaps
- I found no measured idle RAM figure for a minimal Compose stack.
6. Community health
Takeaway
Very active. About 25.3k stars, about 4.4k forks, 357 listed contributors, and near-daily releases and hotfixes (v0.92.3 as of Oct 2026, still pre-1.0). It is a YC S22 company. Published funding is small and sources conflict.
Cited Findings
- GitHub API (2026-10-29): 25,283 stars, 4,405 forks, created 2022-12-03, last push 2026-10-29. — GitHub
- Contributors endpoint paginates to 357 (per_page=1). — GitHub contributors API
- Releases: 0.86.3 (2026-07-17), 0.87.0 (08-06), 0.88.0 (08-12), 0.91.0 (09-14), 0.92.0 (09-24), 0.92.3 (10-12). Hotfixes on several branches between Oct 23 and 29, 2026. Versioning is still 0.x. — GitHub releases
- Launch HN (YC S22), 2023-02-09: 231 points, 62 comments. — HN 34723989
- Funding: YC S22. Amounts conflict: $1.6M seed in Mar 2023 per VCBacked, a $0.5M convertible note per CB Insights, $6.4M total per startups.fm. No 2026 round found. — vcbacked, cbinsights, startups.fm
Inferences
- About 1 to 2 minor versions per month, plus hotfix backports to several older lines, suggests a busy cadence but also frequent upgrades. Pre-1.0 versioning plus a docs page titled "breaking-changes-unreleased" points to ongoing churn.
Gaps
- Verified funding total, headcount, and revenue.
7. Migration from n8n
Takeaway
There is no documented n8n importer. Migration means a manual rebuild: map n8n nodes to pieces, rewrite Code nodes in TS/JS code steps, and recreate credentials as connections.
Cited Findings
- No n8n import tool is documented. Activepieces imports its own flow JSON ("Import Flow"). Credentials must be reconnected. — neura.market listing
- A community forum user coming from n8n asked about export/import equivalents. — community.activepieces.com
- The vendor n8n comparison gives no migration advice or tool. — activepieces.com blog
Inferences
- Concept mapping: n8n workflow → flow. Node → step/piece action. Trigger node → trigger (webhook/schedule/piece trigger). Code node → Code step (TS/JS). Execute Workflow → Subflows piece. Wait → Delay/approval/waitpoints. Credentials → Connections (global connections are paid). Projects → Projects (team projects are paid). n8n environments/git → Project Releases/Git Sync (Ultimate).
- Effort: moderate to high for complex n8n graphs (branching, merges, item-list semantics), because Activepieces flows are linear with branches and loops rather than arbitrary DAGs with n8n's per-item execution model. Simple Zapier-style flows rebuild quickly.
Gaps
- No first-hand migration case studies found.
8. Known limitations / criticisms
Takeaway
The main criticisms: the enterprise features most teams need (SSO from $200/mo, git/environments/audit/secrets only on custom Ultimate) are gated, contrary to the "fully MIT" messaging. The integration catalog is smaller than Zapier's, the linear builder is less flexible than n8n, docs for advanced self-hosting are sparse, and fast pre-1.0 churn means frequent upgrades. Reddit-specific threads did not show up in searches, so most criticisms come from review blogs of uneven quality.
Cited Findings
- Reviews disagree on what is paywalled (SSO/SAML, audit logs, branding, RBAC, white-label). One notes that having the source does not grant rights to the commercial modules. — ohaiknow, opsily (managed-n8n vendor, biased), baeseokjae
- Single-source claims: no sub-flow architecture, more manual error handling, a loop step failing silently on empty arrays, no native flow version control. — syncgtm. The sub-flow claim conflicts with the product's documented Subflows piece; the versioning claim is unverified.
- Smaller catalog (300+ vs Zapier's 7,000+), and some pieces have few triggers/actions. — syncgtm, workflowautomation.net
- Sparse or outdated docs for Kubernetes, multi-tenant, and enterprise SSO. Community-only support (Discord/GitHub) on free. No SOC 2 / HIPAA BAA for self-hosted. — review roundup via search: noviqip, digioffly (unreachable as of 2026-10-30)
- n8n is seen as more flexible and powerful for code-heavy users, while G2 reviewers praise Activepieces' easy setup. — G2 compare, agntable
- Default
AP_EXECUTION_MODE=UNSANDBOXEDin CE. The docs call sandboxing "the most important security decision for multi-tenant deployments". — docs: workers, docs: environment variables - The docs themselves warn that the default
AP_WORKER_CONCURRENCY=5"widens the OOM blast radius", and thatAP_PREWARM_CACHE_ON_STARTUPcan OOM small workers. — docs: workers, docs: environment variables
Inferences
- For an n8n refugee who wants self-hosted SSO + git + environments for free, Activepieces CE does not solve the gating problem. It is arguably stricter than n8n on git and environments. Its advantage is a truly MIT core (no SUL restrictions on commercial or embedded use of the core), with unrestricted retention and scaling.
Gaps
- No usable r/selfhosted or r/n8n threads turned up in searches. The HN Launch thread (2023) comments were not read in detail.