Activepieces
Activepieces reviewed for operators leaving Zapier or Make: editions, pieces, Agents, MCP, self-hosting and a documented Sheets-to-Slack workflow.
Published

Activepieces deserves a migration pilot if you want an MIT-licensed automation core or need to reduce the cost of long, repeatable workflows. Its subscription plans meter an ordinary flow run at 1 credit regardless of step count, but AI adds usage and self-hosting does not include every commercial feature. Choose it when your required actions work and someone can own the system; keep your existing platform when either condition fails.
Verified against Activepieces' live pricing, documentation and GitHub source on 6 November 2026. This is a documentation-based evaluation and worked build, not a hands-on deployment test. The decision turns on action coverage, edition boundaries, workflow cost and operating responsibility.
What Activepieces Is
Activepieces is a visual automation platform: an event starts a flow, and the steps you arrange read data, make decisions and act in connected applications. Its integrations are called pieces. It also offers Agents, which choose actions using an AI model, and Tables, which hold structured records. The licensing documentation separates the MIT-licensed core from commercially licensed features. MIT here describes the core's software license, not a promise that the entire hosted product is free.
Cloud versus self-hosted is a deployment choice; Community versus commercial is a feature choice. The free cloud plan and a Community installation are different products to evaluate. Community is the automation core; do not assume it includes the Agents and Chat listed in the cloud offering. The current self-hosted license guide says every pricing plan is available self-hosted, with Plus and Team subscriptions activated inside the app. A custom enterprise agreement uses a license key. The embedded-database Hobby installation cannot run that Enterprise edition. That is a more useful distinction than calling everything on your own server “the free version.”
Who Should Use It, and Who Should Skip It
Activepieces fits an operator who wants to maintain ordinary app workflows visually, with an infrastructure owner available when self-hosting is required. A founder moving lead notifications, onboarding updates or recurring reports should assess those specific processes first.
For the shortlist, Zapier is a hosted app automation service, Make is a visual scenario builder, and n8n is a workflow platform with hosted and self-hosted editions. Their bills measure different units, so equal allowances do not buy equal work.
The n8n entry uses its current pricing page. Zapier's task accounting rules distinguish successful actions from triggers and list exceptions. These are starting points, not a quote for an equivalent workload.
Stay on Zapier if migration creates an integration project. Compare the exact trigger, search and write operations you use against the Zapier app directory and Activepieces' corresponding piece. A logo match is insufficient. If the current Zap works and the replacement requires maintaining an API connector, the subscription saving must pay for that work.
Keep Make if your operator already understands its complex scenarios. Its router documentation shows filtered branches and fallback routes. Rebuilding a working order-processing scenario merely to change vendors can cost more than it saves. Activepieces supports branching too; this is a judgment about the rebuild and its owner, not a claim that it cannot branch.
Prefer n8n for a code-led workflow estate. Its Code node supports JavaScript and Python, including configurable npm imports when self-hosted. That is a concrete fit for a developer maintaining custom transformations. Activepieces' permissive core license remains a separate reason to choose it.
The wider Zapier alternatives shortlist covers other reasons to leave. For billing-unit comparisons, use n8n vs Zapier vs Make.
Pieces: Check the Action, Not the App Name
Activepieces pieces package the operations a connected service exposes to your flow. The official repository describes them as TypeScript packages and lists builder features such as loops, branches, HTTP calls and code steps. You can inspect the integration code when the product description leaves a question unanswered.
Consider a contact-maintenance workflow. An incoming record needs a lookup by email, a create action when absent and an update when present. The Google Sheets piece offers Find or Create Row and Update Row, so a spreadsheet contact register can use those operations. For another customer database, verify the equivalent actions before promising the migration. “Connects to our CRM” does not establish that it handles the object, search field or update you need.
Permissions can be equally decisive. The Slack piece's Search Messages operation requires a user token. A connection suitable for posting notifications does not automatically satisfy a search-heavy agent. The Slack action catalog makes that distinction visible.
When an action is missing, an HTTP request or a custom piece may bridge the gap. The hidden work is authentication, pagination, retries and keeping pace with the other service's API. Use a ready-made action when it fits; treat a custom integration as software someone must maintain. That boundary determines whether a non-developer can own the flow after the initial setup.
Build a Sheets-to-Slack Flow End to End
Activepieces can turn a newly appended spreadsheet row into a channel notification without an AI step. For an operator moving sales intake, this is a useful first migration: the input is inspectable, the output is visible, and failures are easy to isolate. Activepieces publishes this Sheets-to-Slack use case; the following build combines it with the current trigger source and flow documentation.
The intended result is simple: each new lead row produces a Slack message containing its identifier, name and company. Use a test worksheet and a test channel while building. The sample names and field choices below are illustrative.
Prepare an input you can recognize
Create a worksheet with a header row containing Lead ID, Name, Email and Company, then add a sample record with a distinctive lead identifier. Create a flow and name it Lead intake to Slack. Keep the first version limited to a notification so that replaying a test cannot create a customer account or send a customer email.
Select and test the precise trigger
Add the Google Sheets piece and choose New Row Added. Connect the Google account, select the spreadsheet and worksheet, then test the trigger to load sample output. This trigger watches rows appended at the bottom; New or Updated Row is a different option in the Google Sheets piece catalog.
Inspect the returned row values before mapping anything. Use the actual fields shown in the sample, rather than assuming their names match your spreadsheet headings.
Map the Slack notification
Add Slack's Send Message To A Channel action, connect the correct workspace and select the test channel. Write a short message beginning with New lead, then insert the lead identifier, name and company from the trigger output using the Data selector. Include a static link to the worksheet if the operator needs to open the source.
The passing-data guide explains how static text and earlier-step values combine in one input. Select values from the tested output instead of typing a guessed expression.
Test the destination, then publish
Use Test Step on the Slack action. Open Slack and confirm the message reached the intended channel, the fields contain the expected values and the worksheet link is usable. A successful status is weaker evidence than seeing the intended result.
Then publish the flow. The publishing guide confirms that draft changes do not replace the live flow until publication.
Prove a new event reaches the destination
After the flow is enabled, append a different record at the bottom of the sheet. Do not reuse an old row as evidence that the live trigger works. Check for a new run and the corresponding Slack message.
The trigger's source code records the current row count when enabled and warns that Google's notification delay can reach 3 minutes. An immediate absence is not proof of failure, and this is not an instant-alert design.
Diagnose the first failure at the right step
Open Runs, select the execution and inspect the failed step's input and output. That path is documented in Debugging Runs. If no run exists, inspect the trigger, worksheet selection and webhook reachability. If the run exists but posting fails, inspect the Slack connection and channel access.
Before replaying, check whether a message was already delivered. A timeout after an external write can leave a visible result even when the caller did not receive confirmation. Keep the lead identifier in the message so the operator can recognize a duplicate.
This build has a narrow acceptance condition: a new row produces the right notification, and its owner can locate a failure. Test an empty optional field and a row whose values contain punctuation before expanding it. Add a lookup, approval or AI step only after this simpler path works.
Activepieces AI: Agents Inside a Controlled Workflow
Activepieces Agents are model-driven workers that choose among the tools you give them. Use one when the work requires interpreting a request, such as deciding whether a support message concerns billing or needs a human. Keep exact procedures, such as sending a message to the agreed channel, in explicit flow steps.
A practical extension is intake triage. Start with an incoming message, pass its text to an agent, then route the returned classification to the appropriate operator. The Agents in Flows guide names the action Run Agent, inside the AI piece. Select a saved, published agent; leave AI Model empty when using that agent's configured model.
Build the agent with a bounded job: classify the message, explain the routing choice briefly and return category, urgency and needs_human. These are the structured fields used in the documentation. A later condition can inspect needs_human instead of trying to interpret a paragraph whose wording changes each run.
In the agent editor, choose the model, instructions and necessary tools, set Max steps, and use Test before Publish. Those controls are described in the agent creation guide. The available tool types are Piece tool, an individual app action; Flow tool, a predefined workflow; and MCP server, an external tool service. For a classification-only job, begin without tools that can change customer records. If an agent posts a summary, pin the destination rather than letting the model choose it.
A saved agent is a shared dependency. Publishing an edit updates every flow using it on its next run, without republishing those flows. Before changing a shared triage agent, test the kinds of messages its dependent flows receive. A narrower instruction that helps one queue can break another.

The useful combination is flexible interpretation inside a predictable process. If a fixed condition can decide the route, use the condition. An agent adds model variability and usage to a decision that may not need either.
MCP: Build and Inspect Flows from an AI Client
Activepieces' MCP Server lets an external AI assistant work with the automation platform. MCP, the Model Context Protocol, is a standard connection through which an AI client discovers and invokes tools. This is separate from an Agent running inside an Activepieces flow.
The documented setup is Settings → MCP Server → enable → copy Server URL. Add that URL to the client and authenticate through OAuth. Discovery tools are read-only and always available; other tool categories can be switched on or off per project. The MCP overview covers flow building, publishing, tables, testing and run inspection.
For the intake workflow, connect the client and ask it to identify the Sheets trigger and Slack action, construct a draft with your selected connections, then inspect its configuration. Test the destination before enabling live work. Later, use it to inspect a failed run and its inputs. Those are concrete operating tasks; natural-language creation does not establish that the resulting field mapping is correct.
MCP also has a billing boundary: ap_run_action costs a credit per call, and a flow started by a tool call uses normal flow billing. Do not assume everything reached through an AI client is free execution.
Self-Hosting: The Server Is Only the Starting Point
Activepieces self-hosting is appropriate when you need to choose where the platform runs and can assign someone to operate it. For a founder simply trying to lower a modest automation bill, cloud is usually the cleaner first pilot.
The current Docker Compose guide requires Docker Compose v2, at least 2 vCPU and 4 GB RAM; Windows users run it inside WSL2. Its installer starts the application, worker, PostgreSQL database and Redis queue. The documented installation command is:
curl -fsSL https://get.activepieces.com | shRun it on the server you intend to use. To inspect the installer first, fetch that URL without piping it to sh. After installation, enter the generated activepieces directory and check the stack:
docker compose -p activepieces ps
curl http://localhost:8080/api/v1/healthOpen the service on port 8080 and create the initial administrator account. For incoming app webhooks, set AP_FRONTEND_URL to an externally reachable production address. A laptop-only address cannot receive Google's notifications for the Sheets example.
The minimum installation is not a capacity guarantee. The production setup recommends a separate worker for each simultaneous flow, with managed PostgreSQL, Redis and S3-compatible object storage in the same region. Its reference worker is 0.5 vCPU and 1 GB RAM. Size against the busiest overlap of jobs, not just the monthly run total. A few slow jobs can occupy capacity while new triggers wait.

Treat backup and recovery as part of the build. Preserve the database, stored files and the encryption key used for saved connections. The disaster-recovery guide also names a queue-loss case: accepted asynchronous webhook events can disappear when Redis loses them before a run record exists. A database backup alone does not make every incoming event replayable.
For a must-self-host team, the purchase decision therefore includes the feature edition, infrastructure, restore procedure and response owner. Owning the server removes a hosting dependency; it gives you responsibility for keeping the automation available.
Activepieces Pricing: The Plan That Fits an Operator
Activepieces Plus is the sensible starting point for a small operator whose pilot has outgrown Free. The following are the monthly-billed terms on Activepieces' pricing page, verified 6 November 2026:
- Free: $0, 1,000 credits a month and up to 5 users. The allowance is the practical wall for recurring work.
- Plus: $20/month, 10,000 credits and up to 5 users; additional usage is $0.007 per credit, with bring-your-own AI keys.
- Team: $200/month, 50,000 credits and 25 users; choose it for projects, single sign-on (SSO) or shared administration needs that exceed Plus.
- Community: no core software license fee; budget infrastructure and maintenance separately. Advanced commercial requirements need the applicable paid plan or quote.
An ordinary run uses one credit regardless of steps. AI usage is additional; bringing your own key still leaves a platform charge and a separate model-provider bill. Unlimited flows therefore does not mean unlimited execution.
Worked budget: assume 5,000 successful non-AI runs in a month, with no extra tests or retries taking usage beyond the included allowance. Plus costs $0.004 per completed run, calculated as $20 ÷ 5,000. This is an illustrative platform-only cost, not a measured result. It excludes connected-app fees, hosting and staff time.
The Free reset wording is inconsistent: the page describes a monthly allowance but elsewhere says exhausted runs wait until the next day. Confirm the reset in your account before relying on Free for an essential process.
Limitations That Can Change the Decision
Activepieces has specific operating boundaries that matter more than a feature checklist. These are the ones most likely to change a migration or self-hosting decision.
Agent Audit Logs Do Not Capture Every Action
The Agent Tools documentation identifies gaps even on plans with audit logs. External MCP tool calls, code the agent writes and executes, and email it sends do not create the listed agent-action audit events. Read operations are excluded, and action input values are not stored.
If you must reconstruct an invoice change, buying an audit-log feature is insufficient evidence that every possible agent route is covered. Keep important writes in documented piece actions or flows and verify the resulting record. This is a reason to constrain the design before selecting the plan.
Runtime and Response Budgets Are Different
The limits reference sets Cloud's active flow timeout at 10 minutes, while a synchronous webhook response has 30 seconds. Delays and waits for approval do not consume active execution time. A customer-facing request that needs a long agent investigation should acknowledge receipt and deliver the result later, rather than hold a synchronous connection open.
Plus also permits 10 concurrent runs per project on Cloud. Excess runs queue. An acceptable monthly bill does not guarantee immediate service during a burst.
Large Run Logs Can Fail Independently of File Storage
Cloud's combined flow-run log cap is 25 MB. The limit includes the original sizes of outputs moved into object storage; lowering the output-slicing threshold does not increase the total allowance. A flow that repeatedly logs a large response can therefore fail even when the file itself is stored elsewhere. Split the work and pass only what later steps need.
Existing Make and Zapier Workflows Still Need a Rebuild Decision
Activepieces does not earn a migration merely by showing your apps in its catalog. The webhook behavior, available action inputs, authentication and destination semantics all need to match the existing process. Our Sheets example exposes a concrete mismatch with an “instant” assumption: the trigger itself warns of notification delay.
Make's credit documentation explains how repeated bundles consume downstream operations. That gives a reason to evaluate Activepieces for long ordinary workflows, but only after including the migration effort and replacement behavior. Keep the existing platform when the saving is smaller than the work required to preserve reliability.
Self-Hosted Does Not Mean Every Feature or Every Byte Stays Local
An external model or application still receives the data you send to it. Hosting the coordinator yourself does not move Slack, Google Sheets or a remote model into your network. A strict local-processing requirement must be checked for every destination and provider.
The edition distinction also applies to alternatives. n8n's Community feature list excludes workflow and credential sharing, projects and SSO, among other features. Its license documentation describes a fair-code model with use restrictions, rather than an MIT license. Neither product's free installation should be treated as its full commercial offering.
Verdict: Migrate One Bounded Process First
Activepieces is a good fit when an operator can build the required process with verified pieces, the relevant edition contains the controls they need, and someone owns failures and upgrades. Its core license and ordinary-run billing are substantial reasons to evaluate it. Neither compensates for a missing action or an unowned server.
Switch when the pilot preserves the required behavior and the recurring saving exceeds the added hosting and maintenance work. Stay on Zapier for a working integration you cannot replace economically, keep Make when rebuilding complex scenarios erases the benefit, and favor n8n when a developer's custom logic drives the system.
Next week, copy a low-risk intake notification into Activepieces, use distinct sample records to verify live triggering, inspect a failed run, and record the credit usage. Expand only after the operator who will maintain it can explain both the result and the recovery path.
FAQ
Activepieces vs n8n
Choose Activepieces when its MIT-licensed core and visual workflow ownership fit your requirements. Choose n8n when developer-maintained JavaScript or Python is central to the work. Both have self-hosted options and commercial feature boundaries; compare the exact actions and collaboration requirements before moving.
Activepieces AI agent
An Agent uses a selected model and tools to handle a job whose steps may vary. A published agent can run inside a flow through the AI piece's Run Agent action and return structured fields. It is different from the MCP Server that connects an external AI client to Activepieces.
Activepieces github
The official repository is activepieces/activepieces on GitHub, linked above. Inspect the root license and the relevant piece source. The core is MIT-licensed, while enterprise feature directories have separate commercial terms; access to their source does not make them part of the free core.
Get the AI Business Workflow Audit Checklist
Map the input, owner, approval, recovery path and budget before moving your automations.
- Published
- Category
- Build
- Language















