Activepieces
Activepieces Use Activepieces to build, manage, and run agent and automations using natural language.
What it can do
- Ap Set Project Context: Set or clear the active project context. All tools require a project context to operate. Call with a projectId to select a project, or without to clear the selection. Always re
- Ap Build Flow: Create a NEW flow from scratch in one call: trigger + steps. Steps are added sequentially by default (trigger → step_1 → step_2 → ...). To nest steps inside a loop, set parentStepName t
- Ap Create Flow: Create a new flow in Activepieces
What data it sees
Do you need an account
No: the server works without sign-in
Activepieces
Use Activepieces to build, manage, and run agent and automations using natural language.
About Activepieces MCP
Activepieces is an open-source automation platform that lets you connect apps and automate workflows with natural language.
With it, you can:
- Execute tasks across your apps
- Create and modify automation flows
- List and manage existing flows
- Explore available integrations and actions
- Configure triggers and steps
- Manage tables and records
- Add conditional branches
- Publish flows
- Test runs
Authentication is handled securely through OAuth 2.0 with dynamic client registration.
Learn more about Activepieces MCP
Example use cases
Automate repetitive tasks
"Create a flow that triggers when a new row is added to Google Sheets, sends a Slack notification, and creates a task in Asana."
Manage existing automations
"List all my active flows and disable the one that sends daily email reports."
Build multi-step workflows
"Create a flow triggered by a new GitHub issue that categorizes it using AI, assigns it to the right team member in Linear, and posts an update in Slack."
Change your automation logic
"Add a conditional branch to my order processing flow. If the order total is over $500, send it for manual approval before processing."
Explore available integrations
"What pieces are available for CRM integrations? Show me the actions available for HubSpot."
Execute tasks across your apps
"Summarize the latest Doc in my Google Docs."
Get started
Sign up for Activepieces to get started.
For setup instructions, see the Activepieces MCP documentation.
Resources
Support
Need help? Contact support@activepieces.com.
How to connect
How to connect Activepieces to Claude
The server address to paste into Claude settings:
https://activepieces--activepieces.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect Activepieces to ChatGPT
The server address to paste into ChatGPT settings:
https://activepieces--activepieces.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect Activepieces to Cursor
The server address to paste into Cursor settings:
https://activepieces--activepieces.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (45)
Raw names from tools/list. Only developers need these.
| ap_set_project_context | Set or clear the active project context. All tools require a project context to operate. Call with a projectId to select a project, or without to clear the selection. Always returns the list of available projects. |
| ap_build_flow | Create a NEW flow from scratch in one call: trigger + steps. Steps are added sequentially by default (trigger → step_1 → step_2 → ...). To nest steps inside a loop, set parentStepName to the loop step name and stepLocationRelativeToParent to INSIDE_LOOP. ROUTER steps are NOT supported here (branches and conditions cannot be configured in one call) — build the rest of the flow first, then add the router with ap_add_step and configure branches with ap_add_branch / ap_update_branch. For EDITING an existing flow, do NOT rebuild it — use the granular ap_add_step / ap_update_step / ap_update_trigger instead. Prefer PIECE actions and inline formula expressions (in a free-text/value input — never a dropdown/option field — wrapped `ap-formula-v1::{…}::ap-formula-v1`) over CODE steps — only emit a CODE step when no piece fits AND the logic exceeds the inline formula functions (see the build_flow guide expression ladder). |
| ap_create_flow | Create a new flow in Activepieces |
| ap_duplicate_flow | Duplicate an existing flow. Creates a new copy with all steps and configuration. Connections and sample data are not copied. |
| ap_rename_flow | Rename a flow. |
| ap_list_flows | List flows in the current project with status, trigger type, and published state. |
| ap_flow_structure | Get the structure of a flow: step tree (parent/child), each step type, configuration status (configured/unconfigured/invalid), and valid insert locations for ap_add_step. |
| ap_read_step_code | Read the full source code, package.json, and input of a CODE step. Returns untruncated content (unlike ap_flow_structure which truncates). ap_read_step_settings reads full settings for any step type. |
| ap_read_step_settings | Read the full untruncated settings of any step, including the trigger: piece input, action/trigger name, loop items, router branches, and error handling options. Use this to see a step's current configuration before updating it (ap_flow_structure truncates piece input). For reviewing a CODE step's source, prefer ap_read_step_code. |
| ap_validate_flow | Validate a flow for structural issues without publishing. Checks step validity, template references, and empty branches. Returns a detailed report with all issues found. Use this before ap_lock_and_publish to catch problems early. |
| ap_research_pieces | Research available pieces. Use pieceNames for bulk exact lookup (always returns actions and triggers, each with an AI guidance hint). Use searchQuery for fuzzy discovery. Pass forIntent with what you are trying to do to get recommendedActions ranked by AI guidance, so you pick the right action in one shot. |
| ap_search_actions | Find piece actions by natural-language task description (e.g. "send a message to a Slack channel"). Returns the most semantically relevant actions ranked by similarity — lightweight rows only — or an empty list when nothing in the catalog is relevant (it does not force a match). Always available: when no embedding model is configured it falls back to a keyword catalog search (response "mode":"keyword", lexical not semantic). Each row carries a `connected` flag indicating whether this project already has a connection for the piece. Optionally scope to a single piece with `pieceName`. This is the discovery step: take a result's pieceName + actionName to ap_get_piece_props for its input schema, then ap_run_action to execute it. |
| ap_search_triggers | Find piece triggers (the event that starts a flow) by natural-language description of when the flow should run (e.g. "when a new row is added to a Google Sheet", "when an email arrives"). Returns the most semantically relevant triggers ranked by similarity — lightweight rows only — or an empty list when nothing in the catalog is relevant (it does not force a match). Always available: when no embedding model is configured it falls back to a keyword catalog search (response "mode":"keyword", lexical not semantic). Each row carries a `connected` flag indicating whether this project already has a connection for the piece. Optionally scope to a single piece with `pieceName`. This is the discovery step: take a result's pieceName + triggerName to ap_get_piece_props for its input schema. |
| ap_get_piece_props | Get the input schema for a piece action or trigger, plus AI guidance for using it: an AI-written description of what it does, an idempotency hint, and — when available — the output field paths it produces (for triggers, also derived from sample data). Use the AI description to pick the right action; when output fields are listed, reference them directly downstream as {{step['output'].path}}. Pass auth to resolve dynamic dropdowns and dynamic property sub-fields (e.g. Custom API Call url/body fields). |
| ap_resolve_property_options | Resolve dropdown options for a single piece property. Returns the available options with labels and values (IDs). Use this to discover valid values for DROPDOWN fields (e.g. Slack channels, Google Sheets, email labels). Always use the `value` from the returned options, not the `label`. |
| ap_resolve_property_chain | Resolve a chain of dependent dropdown properties in one call. For actions with cascading fields (e.g. Spreadsheet → Sheet → Columns), this resolves each property sequentially, feeding each selected value into the next resolution. Pass `selectedValue` for properties whose value you already know; the tool stops and returns options when it hits a property without a `selectedValue`. Always use `value` from returned options, not `label`. |
| ap_validate_step_config | Validate a step configuration before applying it. Returns field-level errors without modifying any flow. Use this to check your config is correct before calling ap_update_step or ap_update_trigger. |
| ap_list_connections | List OAuth/app connections in the project. Returns externalId needed for the auth parameter on steps. |
| ap_update_trigger | Set or update the trigger for a flow. |
| ap_add_step | Add a new step to a flow. Optionally configure it in the same call by providing input/auth/sourceCode. Prefer PIECE actions and inline formula expressions over CODE. |
| ap_update_step | Update an existing step's settings. Provide only the fields you want to change. |
| ap_delete_step | Delete a step from a flow. Prefer ap_update_step to modify — delete destroys sample data. |
| ap_add_branch | Add a conditional branch to a router step. Inserted before the fallback branch. |
| ap_update_branch | Update the conditions and/or name of an existing router branch. Does not affect the steps inside the branch. |
| ap_delete_branch | Delete a branch from a router step. Cannot delete the fallback branch. |
| ap_lock_and_publish | Publish and enable the current draft version of a flow. This locks the draft, sets it as the published version, and enables the flow. Returns validation errors if the flow is not ready. |
| ap_change_flow_status | Enable or disable a published flow. |
| ap_delete_flow | Permanently delete a flow and all its versions. This cannot be undone. |
| ap_manage_notes | Add, update, or delete canvas notes on a flow. Notes are visual annotations on the flow canvas. |
| ap_list_ai_models | List configured AI providers and their available models. Use this to discover valid provider and model values for configuring Run Agent steps. The output shows provider names and model IDs needed for the aiProviderModel input. |
| ap_list_tables | List all tables in the current project with their fields (name, type, id) and row counts. Use this to discover available tables before querying or modifying data. Each table has two ids: use "id" with the record/field MCP tools (ap_insert_records, ap_find_records, ap_manage_fields, etc.), and use "externalId" as the table_id value when configuring a Tables piece step inside a flow. |
| ap_find_records | Query records from a table with optional filtering. Operators: eq, neq, gt, gte, lt, lte, co, exists, not_exists. |
| ap_create_table | Create a new table with an initial set of fields. Types: TEXT, NUMBER, DATE, DATETIME, STATIC_DROPDOWN. DATE and DATETIME both hold an ISO-8601 UTC timestamp; DATETIME additionally shows and edits the time of day. |
| ap_delete_table | Permanently delete a table and all its data. |
| ap_manage_fields | Add, rename, or delete fields on a table. Max 100 fields per table. |
| ap_insert_records | Insert one or more records into a table. Max 50 records per call. |
| ap_update_record | Update specific cells in a record. Only specified fields are changed. |
| ap_delete_records | Permanently delete one or more records by their IDs. |
| ap_list_runs | List recent flow runs with optional filters. Returns run ID, status, timestamps, and failed step info. |
| ap_get_run | Get detailed results of a flow run including step-by-step outputs, errors, and durations. |
| ap_test_flow | Test a flow end-to-end in the test environment. Requires a configured trigger. Waits up to 120s. Pass triggerTestData to provide mock trigger output when no sample data exists. |
| ap_test_step | Test a single step within a flow. Runs all steps up to and including the specified step. The flow must have a configured trigger. Pass triggerTestData when no sample data exists. |
| ap_retry_run | Retry a failed flow run. FROM_FAILED_STEP resumes at failure point, ON_LATEST_VERSION re-runs entirely. |
| ap_run_action | Execute a single piece action once, without building or saving a flow. Use this for one-shot tasks like "check my inbox" or "send one Slack message". For recurring/triggered work, build a flow with ap_build_flow instead. |
| ap_setup_guide | Get setup instructions for connections or AI providers. Returns steps for the user to follow in the UI. |