The Activepieces MCP connector routes your AI agent's tool calls to Activepieces's own MCP server through Scalekit. Each user signs in to Activepieces once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 44 tools.
- Tools
- 44
- What they doRead · write · destructive
- 19 · 19 · 619 read19 write6 destructive
- Users sign in with
- OAuth
- OAuth app
- Scalekit's or your own
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Activepieces MCP connection
In AgentKit > Connections, create an Activepieces MCP connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for Activepieces MCP server, so you don't need to register an OAuth app.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'activepiecesmcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Activepieces MCP:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'activepiecesmcp_ap_list_ai_models',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "activepiecesmcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Activepieces MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="activepiecesmcp_ap_list_ai_models",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolactivepiecesmcp_ap_find_recordsQuery records from a table with optional filtering.Read-onlyFindRecords
Query records from a table with optional filtering. Operators: eq, neq, gt, gte, lt, lte, co, exists, not_exists.
Inputs
tableIdstringrequired- The table ID. Use ap_list_tables to find it.
filtersarray- Optional filters. All filters are combined with AND logic.
limitnumber- Max records to return (default 50, max 500)default
50
activepiecesmcp_ap_flow_structureGet 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.Read-onlyFlowStructure
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.
Inputs
flowIdstringrequired- The id of the flow
activepiecesmcp_ap_get_piece_propsGet 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).Read-onlyGetPieceProps
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).
Inputs
actionOrTriggerNamestringrequired- The action or trigger name (e.g. "send_channel_message"). Use ap_research_pieces with pieceNames to get valid values.
pieceNamestringrequired- The piece name (e.g. "@activepieces/piece-slack"). Use ap_research_pieces to get valid values.
typestringrequired- Whether to look up an action or a trigger.one of
actiontrigger authstring- Connection externalId from ap_list_connections. When provided, dynamic dropdowns and dynamic property sub-fields are resolved via your account.
flowIdstring- Flow ID for resolving dependent dropdowns that need step context. Optional — most dropdowns work without it.
inputobject- Known input values to resolve dependent dynamic properties.
activepiecesmcp_ap_get_runGet detailed results of a flow run including step-by-step outputs, errors, and durations.Read-onlyGetRun
Get detailed results of a flow run including step-by-step outputs, errors, and durations.
Inputs
flowRunIdstringrequired- The ID of the flow run. Use ap_list_runs to find it.
activepiecesmcp_ap_list_ai_modelsList configured AI providers and their available models.Read-onlyListAiModels
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.
Inputs
providerstring- Filter by provider name. Omit to list all configured providers and their models.one of
openaiopenrouteranthropicazuregoogleactivepiecescloudflare-gatewaycustombedrockmistral
activepiecesmcp_ap_list_connectionsList OAuth/app connections in the project.Read-onlyListConnections
List OAuth/app connections in the project. Returns externalId needed for the auth parameter on steps.
Inputs
displayNamestring- Filter by connection display name (partial, case-insensitive match). Use to find a connection by its label, e.g. "My Gmail" or "Slack workspace".
pieceNamestring- Filter by piece name. Short names like "slack" or "google-drive" are auto-expanded to full format (e.g. "@activepieces/piece-slack"). You can also pass the full name directly.
statusarray- Filter by status: ACTIVE (working), MISSING (deleted or inaccessible), ERROR (auth/refresh failed). Omit to return all statuses.
activepiecesmcp_ap_list_flowsList flows in the current project with status, trigger type, and published state.Read-onlyListFlows
List flows in the current project with status, trigger type, and published state.
Inputs
limitinteger- Max flows to return (default 100, max 500).default
100 namestring- Filter by flow name (partial match).
statusstring- Filter by status: ENABLED or DISABLED.one of
ENABLEDDISABLED
activepiecesmcp_ap_list_runsList recent flow runs with optional filters.Read-onlyListRuns
List recent flow runs with optional filters. Returns run ID, status, timestamps, and failed step info.
Inputs
environmentstring- Filter by environment: PRODUCTION (live runs) or TESTING (manual test runs). Defaults to PRODUCTION when no flowId is given, since cross-environment scans on the runs table are slow.one of
PRODUCTIONTESTING flowIdstring- Filter by flow ID. Use ap_list_flows to find it.
limitnumber- Max runs to return (default 10, max 50)default
10 statusstring- Filter by status: SUCCEEDED, FAILED, RUNNING, QUEUED, PAUSED, TIMEOUT, etc.one of
FAILEDQUOTA_EXCEEDEDINTERNAL_ERRORPAUSEDQUEUEDRUNNINGSUCCEEDEDMEMORY_LIMIT_EXCEEDEDTIMEOUTCANCELEDLOG_SIZE_EXCEEDED
activepiecesmcp_ap_list_tablesList all tables in the current project with their fields (name, type, id) and row counts.Read-onlyListTables
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.
Inputs
This tool takes no inputs.
activepiecesmcp_ap_read_step_codeRead the full source code, package.json, and input of a CODE step.Read-onlyReadStepCode
Read the full source code, package.json, and input of a CODE step. Returns untruncated content (unlike ap_flow_structure which truncates).
Inputs
flowIdstringrequired- The id of the flow
stepNamestringrequired- The name of the CODE step (e.g. "step_1"). Use ap_flow_structure to get valid values.
activepiecesmcp_ap_read_step_settingsRead the full untruncated settings of any step, including the trigger: piece input, action/trigger name, loop items, router branches, and error handling options.Read-onlyReadStepSettings
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.
Inputs
flowIdstringrequired- The id of the flow
stepNamestringrequired- The name of the step (e.g. "trigger", "step_1"). Use ap_flow_structure to get valid values.
activepiecesmcp_ap_research_piecesResearch available pieces.Read-onlyResearchPieces
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.
Inputs
categoriesarray- No description.
forIntentstring- What you are trying to do (e.g. "list all my open deals"). When set, each piece also returns recommendedActions — the actions whose AI guidance best matches your intent — so you can pick the right action in one shot. Advisory only; the full action list is always returned.
includeActionsboolean- When true, include action names and descriptions for each piece (only applies to searchQuery mode)
includeTriggersboolean- When true, include trigger names and descriptions for each piece (only applies to searchQuery mode)
localestring- No description.one of
nlendefresjazhptarzh-TW pieceNamesarray- Exact piece names to look up (e.g. ["gmail", "slack", "@activepieces/piece-google-sheets"]). Always returns actions and triggers for each piece.
searchQuerystring- No description.
suggestionTypestring- No description.one of
ACTIONTRIGGERACTION_AND_TRIGGER
activepiecesmcp_ap_resolve_property_chainResolve a chain of dependent dropdown properties in one call.Read-onlyResolvePropertyChain
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 the value from returned options, not the label.
Inputs
actionOrTriggerNamestringrequired- The action or trigger name (e.g. "insert_row").
authstringrequired- Connection externalId - required to resolve options from the user's account.
pieceNamestringrequired- The piece name (e.g. "@activepieces/piece-google-sheets").
propertyChainarrayrequired- Ordered list of properties to resolve (max 10). Each property is resolved using the values of all prior properties as context.
typestringrequired- Whether this is an action or trigger.one of
actiontrigger currentInputobject- Additional input values already known (e.g. from prior configuration).
activepiecesmcp_ap_resolve_property_optionsResolve dropdown options for a single piece property.Read-onlyResolvePropertyOptions
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`.
Inputs
actionOrTriggerNamestringrequired- The action or trigger name (e.g. "send_channel_message").
pieceNamestringrequired- The piece name (e.g. "@activepieces/piece-slack").
propertyNamestringrequired- The exact property name to resolve options for (e.g. "channel").
typestringrequired- Whether this is an action or trigger.one of
actiontrigger authstring- Connection externalId. Required for pieces that resolve options from a connected account (e.g. Slack channels, Gmail labels). Omit for pieces that have no auth (e.g. Tables table_id) — passing a value there is unnecessary.
inputobject- Values for parent properties that this field depends on (refreshers).
searchValuestring- Search/filter term to narrow results for large dropdown lists (e.g., "sales" to find sales-related channels).
activepiecesmcp_ap_search_actionsFind piece actions by natural-language task description (e.g.Read-onlySearchActions
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). Falls back to keyword catalog search when no embedding model is configured. Each row carries a `connected` flag indicating whether this project already has a connection for the piece. 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.
Inputs
querystringrequired- Natural-language description of the task to accomplish (e.g. "send a message to a Slack channel", "create a Google Calendar event").
limitinteger- Maximum number of action matches to return. Defaults to 5.default
5 pieceNamestring- Restrict results to a single piece (e.g. "slack" or "@activepieces/piece-slack"). Omit to search the whole catalog.
activepiecesmcp_ap_search_triggersFind piece triggers (the event that starts a flow) by natural-language description of when the flow should run (e.g.Read-onlySearchTriggers
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). Falls back to keyword catalog search when no embedding model is configured. Each row carries a `connected` flag indicating whether this project already has a connection for the piece. This is the discovery step: take a result's pieceName + triggerName to ap_get_piece_props for its input schema.
Inputs
querystringrequired- Natural-language description of the event that should start the flow (e.g. "when a new row is added to a Google Sheet", "when a new email arrives").
limitinteger- Maximum number of trigger matches to return. Defaults to 5.default
5 pieceNamestring- Restrict results to a single piece (e.g. "slack" or "@activepieces/piece-slack"). Omit to search the whole catalog.
activepiecesmcp_ap_setup_guideGet setup instructions for connections or AI providers.Read-onlySetupGuide
Get setup instructions for connections or AI providers. Returns steps for the user to follow in the UI.
Inputs
topicstringrequired- What to get setup instructions forone of
connectionai_provider pieceNamestring- For connections: the piece that needs auth (e.g., "@activepieces/piece-gmail"). Omit for general instructions.
activepiecesmcp_ap_validate_flowValidate a flow for structural issues without publishing.Read-onlyValidateFlow
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.
Inputs
flowIdstringrequired- The id of the flow to validate. Use ap_list_flows to find it.
activepiecesmcp_ap_validate_step_configValidate a step configuration before applying it.Read-onlyValidateStepConfig
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.
Inputs
stepTypestringrequired- The type of step to validate.one of
PIECE_ACTIONPIECE_TRIGGERCODELOOP_ON_ITEMSROUTER actionNamestring- For PIECE_ACTION: action name (e.g. "send_channel_message").
authstring- For PIECE steps requiring auth: any non-empty string indicates auth is provided.
inputobject- For PIECE_ACTION/PIECE_TRIGGER: the input config to validate (key-value pairs).
loopItemsstring- For LOOP_ON_ITEMS: expression for items to iterate over.
packageJsonstring- For CODE: package.json content as JSON string.default
{} pieceNamestring- For PIECE_ACTION/PIECE_TRIGGER: piece name (e.g. "slack" or "@activepieces/piece-slack").
settingsobject- For ROUTER: raw router settings including branches and executionType.
sourceCodestring- For CODE: the JavaScript/TypeScript source code.
triggerNamestring- For PIECE_TRIGGER: trigger name (e.g. "new_mention").
activepiecesmcp_ap_add_branchAdd a conditional branch to a router step.WriteAddBranch
Add a conditional branch to a router step. Inserted before the fallback branch.
Inputs
branchNamestringrequired- Display name for the new branch (e.g. "Branch 1")
flowIdstringrequired- The id of the flow
routerStepNamestringrequired- The name of the ROUTER step to add a branch to. Use ap_flow_structure to get valid values.
conditionsarray- Conditions array (outer array = OR groups, inner array = AND conditions). Required for condition-type branches; omit to use an empty condition group.
activepiecesmcp_ap_add_stepAdd a new step to a flow.WriteAddStep
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.
Inputs
displayNamestringrequired- Display name for the step
flowIdstringrequired- The id of the flow
parentStepNamestringrequired- The step name to insert after/into (e.g. "trigger", "step_1"). Use ap_flow_structure to get valid values.
stepLocationRelativeToParentstringrequired- Where to place the step: AFTER = after the parent, INSIDE_LOOP = first action inside a loop, INSIDE_BRANCH = first action inside a router branch, INSIDE_ON_SUCCESS_BRANCH / INSIDE_ON_FAILURE_BRANCH = first action inside the On success / On failure branch of a continue-on-failure step (set continueOnFailure on the parent first).one of
AFTERINSIDE_LOOPINSIDE_BRANCHINSIDE_ON_SUCCESS_BRANCHINSIDE_ON_FAILURE_BRANCH stepTypestringrequired- The type of step to add. Prefer PIECE over CODE - only use CODE when no piece fits and the logic can't be done with an inline formula expression (in a free-text/value input) or a router condition.one of
CODEPIECELOOP_ON_ITEMSROUTER actionNamestring- For PIECE steps: the action name within the piece. Use ap_research_pieces with includeActions=true to get valid values.
authstring- Connection externalId from ap_list_connections. Auto-wrapped as {{connections['externalId']}}.
branchIndexnumber- Branch index (required when stepLocationRelativeToParent is INSIDE_BRANCH)
continueOnFailureboolean- For CODE/PIECE steps: set true on the step that can fail (the one whose failure you want to react to), NOT on the recovery step. Defaults to false. When true the flow keeps running on failure and the step gains On success / On failure branches - add handler steps into them with stepLocationRelativeToParent INSIDE_ON_SUCCESS_BRANCH / INSIDE_ON_FAILURE_BRANCH and parentStepName = this step.default
false inputobject- For PIECE/CODE steps: input config (key-value pairs). Reference a prior step's output with {{stepName['output'].field}} (output is nested under ['output'], e.g. {{trigger['output'].body.email}}, {{send_email['output'].id}}). For a continue-on-failure step's error, use {{stepName['error'].message}}.
loopItemsstring- For LOOP steps: expression for items to iterate (e.g. "{{step_1['output'].items}}").
packageJsonstring- For CODE steps: package.json as JSON string. Defaults to "{}".default
{} pieceNamestring- For PIECE steps: the piece name (e.g. "@activepieces/piece-gmail"). Use ap_research_pieces to get valid values.
retryOnFailureboolean- For CODE/PIECE steps: whether to retry this step on failure. Defaults to false.default
false sourceCodestring- For CODE steps: JavaScript/TypeScript source. Must export a code function.
activepiecesmcp_ap_build_flowCreate a NEW flow from scratch in one call: trigger + steps.WriteBuildFlow
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).
Inputs
flowNamestringrequired- Name for the new flow
stepsarrayrequired- Array of steps. By default added sequentially after trigger. Use parentStepName + stepLocationRelativeToParent to nest steps inside loops. Each step supports: PIECE (pieceName+actionName+input), CODE (sourceCode+input), LOOP_ON_ITEMS (loopItems). Prefer PIECE and inline formula expressions (in free-text/value inputs, not dropdowns) over CODE — reach for a CODE step only when no piece fits and the transform exceeds the inline formula functions. ROUTER is not supported here — add it afterwards with ap_add_step + ap_add_branch.
triggerobjectrequired- Trigger configuration: which piece and trigger to start the flow with, plus its input and auth.
activepiecesmcp_ap_change_flow_statusEnable or disable a published flow.WriteChangeFlowStatus
Enable or disable a published flow.
- Idempotent
Inputs
flowIdstringrequired- The id of the flow
statusstringrequired- The new status: ENABLED to activate the flow, DISABLED to pause itone of
ENABLEDDISABLED
activepiecesmcp_ap_create_flowCreate a new flow in Activepieces.WriteCreateFlow
Create a new flow in Activepieces.
Inputs
flowNamestringrequired- The name of the flow
activepiecesmcp_ap_create_tableCreate a new table with an initial set of fields.WriteCreateTable
Create a new table with an initial set of fields. Types: TEXT, NUMBER, DATE, STATIC_DROPDOWN.
Inputs
fieldsarrayrequired- Fields to create. Max 100 fields per table.
namestringrequired- The name of the table
activepiecesmcp_ap_duplicate_flowDuplicate an existing flow.WriteDuplicateFlow
Duplicate an existing flow. Creates a new copy with all steps and configuration. Connections and sample data are not copied.
Inputs
flowIdstringrequired- The id of the flow to duplicate. Use ap_list_flows to find it.
namestring- Name for the duplicated flow. Defaults to "Copy of {original name}".
activepiecesmcp_ap_insert_recordsInsert one or more records into a table.WriteInsertRecords
Insert one or more records into a table. Max 50 records per call.
Inputs
recordsarrayrequired- Array of records (1-50). Each record maps field names to values. Example: [{"Name": "Alice", "Age": "30"}]
tableIdstringrequired- The table ID (the "id" from ap_list_tables; the externalId is also accepted).
activepiecesmcp_ap_lock_and_publishPublish and enable the current draft version of a flow.WriteLockAndPublish
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.
Inputs
flowIdstringrequired- The id of the flow to publish
activepiecesmcp_ap_manage_fieldsAdd, rename, or delete fields on a table.WriteManageFields
Add, rename, or delete fields on a table. Max 100 fields per table.
Inputs
operationstringrequired- ADD a new field, UPDATE (rename) an existing field, or DELETE a fieldone of
ADDUPDATEDELETE tableIdstringrequired- The table ID
fieldIdstring- The field ID (required for UPDATE and DELETE). Use ap_list_tables to find it.
namestring- Field name (required for ADD and UPDATE)
optionsarray- Dropdown options (required for ADD with STATIC_DROPDOWN type)
typestring- Field type (required for ADD only)one of
TEXTNUMBERDATESTATIC_DROPDOWN
activepiecesmcp_ap_manage_notesAdd, update, or delete canvas notes on a flow.WriteManageNotes
Add, update, or delete canvas notes on a flow. Notes are visual annotations on the flow canvas.
Inputs
flowIdstringrequired- The id of the flow
operationstringrequired- Operation to perform: ADD a new note, UPDATE an existing note, or DELETE a noteone of
ADDUPDATEDELETE colorstring- Note color variant (orange, red, green, blue, purple, yellow). Default: yellowone of
orangeredgreenbluepurpleyellowdefaultyellow contentstring- The text content of the note (required for ADD, optional for UPDATE)
noteIdstring- The note ID (required for UPDATE and DELETE)
positionobject- Position on the canvas (required for ADD, optional for UPDATE)
sizeobject- Size of the note (optional, defaults to 200x200)
activepiecesmcp_ap_rename_flowRename a flow.WriteRenameFlow
Rename a flow.
- Idempotent
Inputs
displayNamestringrequired- The new display name for the flow
flowIdstringrequired- The id of the flow to rename
activepiecesmcp_ap_retry_runRetry a failed flow run.WriteRetryRun
Retry a failed flow run. FROM_FAILED_STEP resumes at failure point, ON_LATEST_VERSION re-runs entirely.
Inputs
flowRunIdstringrequired- The ID of the failed flow run to retry. Use ap_list_runs to find it.
strategystringrequired- FROM_FAILED_STEP to resume where it failed, ON_LATEST_VERSION to re-run with the current published flow.one of
ON_LATEST_VERSIONFROM_FAILED_STEP
activepiecesmcp_ap_test_flowTest a flow end-to-end in the test environment.WriteTestFlow
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.
Inputs
flowIdstringrequired- The ID of the flow to test. Use ap_list_flows to find it.
displayNamestring- Short approval prompt shown to the user (e.g. "Test Send Welcome Email"). Must include what the action does and the target name.
triggerTestDataobject- Mock trigger output data. Saved as sample data before running the test. Useful when the trigger has no prior test data.
activepiecesmcp_ap_test_stepTest a single step within a flow.WriteTestStep
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.
Inputs
flowIdstringrequired- The ID of the flow containing the step. Use ap_list_flows to find it.
stepNamestringrequired- The name of the step to test (e.g., "step_1"). Use ap_flow_structure to find it.
displayNamestring- Short approval prompt shown to the user (e.g. "Test Send Email step in Welcome Flow"). Must include what the action does and the target name.
triggerTestDataobject- Mock trigger output data. Saved as sample data before running the test. Useful when the trigger has no prior test data.
activepiecesmcp_ap_update_branchUpdate the conditions and/or name of an existing router branch.WriteUpdateBranch
Update the conditions and/or name of an existing router branch. Does not affect the steps inside the branch.
- Idempotent
Inputs
branchIndexnumberrequired- The index of the branch to update (0-based). Cannot update the fallback branch conditions.
flowIdstringrequired- The id of the flow
routerStepNamestringrequired- The name of the ROUTER step. Use ap_flow_structure to get valid values.
branchNamestring- New display name for the branch
conditionsarray- New conditions array (outer array = OR groups, inner array = AND conditions). Replaces the existing conditions entirely.
activepiecesmcp_ap_update_recordUpdate specific cells in a record.WriteUpdateRecord
Update specific cells in a record. Only specified fields are changed.
- Idempotent
Inputs
fieldsobjectrequired- Object mapping field names to new values. Only specified fields are updated. Example: {"Name": "Bob", "Age": "25"}
recordIdstringrequired- The record ID to update. Use ap_find_records to find it.
tableIdstringrequired- The table ID.
activepiecesmcp_ap_update_stepUpdate an existing step's settings.WriteUpdateStep
Update an existing step's settings. Provide only the fields you want to change.
- Idempotent
Inputs
flowIdstringrequired- The id of the flow
stepNamestringrequired- The name of the step to update (e.g. "step_1"). Use ap_flow_structure to get valid values.
actionNamestring- For PIECE steps: the action to perform. Use ap_research_pieces to get valid values.
authstring- Connection externalId from ap_list_connections. The tool wraps it automatically as {{connections['externalId']}}.
continueOnFailureboolean- For CODE/PIECE steps: set true on the step that can fail (the one whose failure you want to react to), NOT on the recovery step. The flow keeps running on failure and the step gains On success / On failure branches - add handler steps into them with ap_add_step using stepLocationRelativeToParent INSIDE_ON_SUCCESS_BRANCH / INSIDE_ON_FAILURE_BRANCH and parentStepName = this step.
displayNamestring- New display name for the step
inputobject- Input settings for the step (key-value pairs matching the action schema). Reference a prior step's output with {{stepName['output'].field}} (output is nested under ['output'], e.g. {{trigger['output'].body.email}}, {{send_email['output'].id}}). For a continue-on-failure step's error, use {{stepName['error'].message}}.
loopItemsstring- For LOOP steps: expression for the items to iterate over
packageJsonstring- For CODE steps only: package.json content as a JSON string for npm dependencies. Defaults to "{}".default
{} retryOnFailureboolean- For CODE/PIECE steps: whether to retry this step on failure.
skipboolean- Whether to skip this step during execution
sourceCodestring- For CODE steps only: the JavaScript/TypeScript source code. Must export a code function: export const code = async (inputs) => { ... }.
activepiecesmcp_ap_update_triggerSet or update the trigger for a flow.WriteUpdateTrigger
Set or update the trigger for a flow.
- Idempotent
Inputs
flowIdstringrequired- The id of the flow
pieceNamestringrequired- The piece name for the trigger (e.g. "@activepieces/piece-gmail"). Use ap_research_pieces to get valid values.
triggerNamestringrequired- The trigger name within the piece (e.g. "new_email"). Use ap_research_pieces with includeTriggers=true to get valid values.
authstring- Connection externalId from ap_list_connections. The tool wraps it automatically as {{connections['externalId']}}.
displayNamestring- Display name for the trigger step
inputobject- Input settings for the trigger (key-value pairs). Reference a prior step's output with {{stepName['output'].field}} (output is nested under ['output'], e.g. {{trigger['output'].body.email}}, {{send_email['output'].id}}). For a continue-on-failure step's error, use {{stepName['error'].message}}.
activepiecesmcp_ap_delete_branchDelete a branch from a router step.DestructiveDeleteBranch
Delete a branch from a router step. Cannot delete the fallback branch.
Inputs
branchIndexnumberrequired- The index of the branch to delete (0-based). Cannot delete the fallback/last branch.
flowIdstringrequired- The id of the flow
routerStepNamestringrequired- The name of the ROUTER step. Use ap_flow_structure to get valid values.
displayNamestring- Short approval prompt shown to the user (e.g. "Delete branch 2 from router"). Must include what the action does and the target name.
activepiecesmcp_ap_delete_flowPermanently delete a flow and all its versions.DestructiveDeleteFlow
Permanently delete a flow and all its versions. This cannot be undone.
Inputs
flowIdstringrequired- The ID of the flow to delete
activepiecesmcp_ap_delete_recordsPermanently delete one or more records by their IDs.DestructiveDeleteRecords
Permanently delete one or more records by their IDs.
Inputs
recordIdsarrayrequired- Array of record IDs to delete. Use ap_find_records to find them.
displayNamestring- Short approval prompt shown to the user (e.g. "Delete 3 records from Emails table"). Must include what the action does and the target name.
activepiecesmcp_ap_delete_stepDelete a step from a flow.DestructiveDeleteStep
Delete a step from a flow. Prefer ap_update_step to modify - delete destroys sample data.
Inputs
flowIdstringrequired- The id of the flow
stepNamestringrequired- The name of the step to delete. Use ap_flow_structure to get valid values.
displayNamestring- Short approval prompt shown to the user (e.g. "Delete Send Email step"). Must include what the action does and the target name.
activepiecesmcp_ap_delete_tablePermanently delete a table and all its data.DestructiveDeleteTable
Permanently delete a table and all its data.
Inputs
tableIdstringrequired- The ID of the table to delete. Use ap_list_tables to find it.
displayNamestring- Short approval prompt shown to the user (e.g. "Delete Customer Emails table"). Must include what the action does and the target name.
activepiecesmcp_ap_run_actionExecute a single piece action once, without building or saving a flow.DestructiveRunAction
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.
Inputs
actionNamestringrequired- Action to run, e.g. "send_channel_message". Use ap_get_piece_props for the input shape.
inputobjectrequired- Fully-resolved input for the action. Keys must match the piece action's props. Pass raw values - do NOT wrap in {{...}}. Pass an empty object if the action has no props.
pieceNamestringrequired- Piece name, e.g. "slack" or "@activepieces/piece-slack". Use ap_research_pieces to discover.
connectionExternalIdstring- externalId from ap_list_connections. Required if the piece needs auth. Auto-wrapped as {{connections['externalId']}}.
No tools match.