Skip to main content

Discovery

These tools are always available (locked) and read-only. They help AI agents understand what’s in the project before making changes.

ap_list_flows

List flows in the current project with status, trigger type, and published state.

ap_flow_structure

Get the full structure of a flow: step tree, configuration status, step input values, router branch conditions, and valid insert locations. Shows the actual configured inputs for each step (URL, body, headers, etc.) so the AI can read and edit existing configurations.

ap_read_step_code

Read the full source code, package.json, and input mappings of a CODE step. Returns untruncated content — unlike ap_flow_structure which truncates code to 300 characters.
Use this tool when you need to read or edit a CODE step’s full source. ap_flow_structure truncates code for overview purposes, so always call ap_read_step_code before modifying a code step.

ap_validate_flow

Validate a flow for structural issues without publishing. Checks step validity, template references, and empty branches.

ap_research_pieces

Research available pieces. Use pieceNames for bulk exact lookup (always returns actions and triggers). Use searchQuery for fuzzy discovery.

ap_get_piece_props

Get the detailed input property schema for a specific piece action or trigger. Returns field names, types, required/optional, descriptions, default values, and dropdown options. When auth is required but not provided, automatically lists available connections. Use this before ap_update_step or ap_update_trigger to know exactly which fields to set.

ap_resolve_property_options

Resolve dropdown options for a single piece property. Returns available choices with labels and internal IDs. Use this to discover valid values for dynamic dropdown fields (e.g., Slack channels, Google Sheets, email labels) before configuring a step.
Each option in the response has a label (human-readable name) and a value (internal ID). Always pass the value when configuring a step — never use the label. For example, if the response includes {label: "general", value: "C1234567890"}, use "C1234567890" as the channel value.

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.
Use this instead of multiple ap_resolve_property_options calls when fields depend on each other. For example, to resolve Google Sheets columns: pass spreadsheetId and sheetId with their selectedValue, and values without — the tool resolves the full chain and returns the column fields in one call.

ap_validate_step_config

Validate a step configuration before applying it. Returns field-level errors without modifying any flow.

ap_list_connections

List OAuth/app connections in the project. Required before adding steps that need authentication.

ap_list_ai_models

List configured AI providers and their available models. Use this to discover valid aiProviderModel values for configuring Run Agent steps.

ap_list_tables

List all tables in the project with their fields (name, type, id) and row counts.

ap_find_records

Query records from a table with optional filtering. Filter operators: eq, neq, gt, gte, lt, lte, co (contains), exists, not_exists

ap_list_runs

List recent flow runs with optional filters.

ap_get_run

Get detailed results of a flow run including step-by-step outputs, errors, and durations.

ap_setup_guide

Get step-by-step instructions for setting up connections or AI providers. Returns instructions for the user to follow in the UI — credentials are never handled through MCP.

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.

Flow Management

Create and manage flows.

ap_create_flow

Create a new empty flow.

ap_duplicate_flow

Duplicate an existing flow. Creates a new copy with all steps, configuration, and canvas notes. Connections and sample data are not copied.
After duplicating, use ap_flow_structure on the new flow to check configuration status. Steps that reference connections will need to be re-configured with ap_update_step.

ap_rename_flow

Rename an existing flow.

ap_change_flow_status

Enable or disable a flow.

ap_delete_flow

Permanently delete a flow and all its versions. This cannot be undone.

ap_lock_and_publish

Publish the current draft of a flow. Validates all steps are configured.

Flow Building

Add, configure, and remove steps in a flow.

ap_build_flow

Create a complete flow in one call — trigger plus any number of steps. Steps are added sequentially (trigger → step_1 → step_2 → …). All steps are validated on creation. Use granular tools (ap_add_step, ap_update_step) to modify existing flows or add nested structures (loop contents, router branches). Returns the flow ID, a direct flowUrl link to the flow in the editor, step count, and validation status. Step types in the array:
  • PIECE: pieceName, actionName, input, auth, continueOnFailure, retryOnFailure
  • CODE: sourceCode, input, continueOnFailure, retryOnFailure
  • LOOP_ON_ITEMS: loopItems
  • ROUTER: creates a router with Branch 1 + Otherwise

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, or loopItems.

ap_update_step

Update an existing step’s settings. Auto-fills default values for optional properties.
Use {{stepName.field}} syntax in input values to reference data from previous steps (e.g., {{trigger.body.email}}, {{step_1.id}}). Do NOT include .output. in the path.

ap_delete_step

Delete a step from a flow.

Router & Branching

Manage conditional branches in router steps. Use ap_flow_structure to see existing branch conditions and indices.

ap_add_branch

Add a conditional branch to a router step. The branch is inserted before the fallback (Otherwise) branch. Conditions format: Outer array = OR groups, inner array = AND conditions. Each condition has:
  • firstValue (string) — left-hand value, can use {{step_1.field}} template syntax
  • operator (string) — e.g. TEXT_CONTAINS, NUMBER_IS_GREATER_THAN, EXISTS, BOOLEAN_IS_TRUE
  • secondValue (string, optional) — right-hand value (not needed for single-value operators)
  • caseSensitive (boolean, optional) — for text operators

ap_update_branch

Update the conditions and/or name of an existing router branch without affecting the steps inside it.
Cannot set conditions on the fallback branch — only branchName can be updated for fallback branches.

ap_delete_branch

Delete a branch from a router step. Cannot delete the fallback (last) branch.

Annotations

ap_manage_notes

Add, update, or delete canvas notes on a flow.

Tables

Full CRUD operations for the built-in Tables feature. Use field names (not IDs) when inserting or updating records.

ap_create_table

Create a new table with an initial set of fields. Field types: TEXT, NUMBER, DATE, STATIC_DROPDOWN (requires options array)

ap_delete_table

Permanently delete a table and all its data.

ap_manage_fields

Add, rename, or delete fields on a table.

ap_insert_records

Insert one or more records into a table.

ap_update_record

Update specific cells in a record. Only specified fields are changed.

ap_delete_records

Permanently delete one or more records.

Testing & Runs

Test flows, inspect results, and retry failures. Test tools poll for up to 120 seconds and return step-by-step results.

ap_test_flow

Test a flow end-to-end in the test environment. Pass triggerTestData to provide mock trigger output when no sample data exists (e.g., for webhook triggers).
The flow must have a configured trigger. The tool validates this before running and returns a clear error if not.

ap_test_step

Test a single step within a flow. Runs all steps up to and including the target step. Pass triggerTestData when no sample data exists.

ap_retry_run

Retry a failed flow run.
  • FROM_FAILED_STEP: Resume from where it failed, keeping previous step outputs
  • ON_LATEST_VERSION: Re-run the entire flow with the current published version

ap_run_action

Execute a single piece action once without building or saving a flow. Designed for one-shot tasks like “check my inbox” or “send one Slack message” where building a full automation would be overkill. Under the hood the tool creates a disposable flow, runs the action, returns the output, and cleans the flow up — the user never sees it in their flow list.
When to pick this vs. ap_build_flow:
  • ap_run_action — one-off, throwaway, returns a result now.
  • ap_build_flow — persistent automation that should repeat, run on a schedule, or trigger on external events.
Prefer calling ap_list_connections and ap_get_piece_props first so you know the exact actionName, the expected props, and the right connectionExternalId before invoking. Missing required inputs or unknown actions produce a friendly error before dispatch — no run is created and nothing is billed.