Back to MCP Overview

Flows Tools

Tools for creating, updating, and executing automation flows.

29 tools

Available Tools

flow_create

Create a new automation flow

Input Schema

namestringrequired

Name for the new automation flow

descriptionstring

Optional description of the flow

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_create",
    "arguments": {
          "name": "example",
          "description": "example"
    }
  }
}
flow_list

List all automation flows. Returns array with id, name, description, isActive, triggerType, nodes[], edges[].

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_list",
    "arguments": {}
  }
}
flow_getAvailableNodes

Get available node types for building flows. Use type filter to reduce response size.

Input Schema

typestring

Filter by node type

categorystring

Filter utilities/tools by category

mcpServerIdstring

Filter tools by specific MCP server

searchstring

Search by name or description

limitnumber

Max items for tools (default 50)

offsetnumber

Offset for tools pagination

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_getAvailableNodes",
    "arguments": {
          "type": "example",
          "category": "example",
          "mcpServerId": "example"
    }
  }
}
flow_getById

Get flow details with nodes and edges

Input Schema

idstringrequired

Flow ID from list

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_getById",
    "arguments": {
          "id": "example"
    }
  }
}
flow_update

Update flow configuration. Only provided fields are updated.

Input Schema

idstringrequired

Flow ID from list

namestring

New name for the flow

descriptionstring

New description

nodesarray

Array of flow nodes

edgesarray

Array of flow edges connecting nodes

triggerTypestring

Trigger type: "manual", "webhook", "schedule", "table"

isActiveboolean

Whether the flow is active

usedSequenceNumbersarray

Used sequence numbers for node ordering

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_update",
    "arguments": {
          "id": "example",
          "name": "example",
          "description": "example"
    }
  }
}
flow_updateNodeConfig

Update configuration for a single node

Input Schema

flowIdstringrequired

Flow ID

nodeIdstringrequired

Node ID within the flow

configobjectrequired

Node configuration object

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_updateNodeConfig",
    "arguments": {
          "flowId": "example",
          "nodeId": "example",
          "config": {}
    }
  }
}
flow_delete

Permanently delete a flow

Input Schema

idstringrequired

Flow ID to delete

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_delete",
    "arguments": {
          "id": "example"
    }
  }
}
flow_createWebhook

Create a webhook trigger for a flow

Input Schema

flowIdstringrequired

Flow ID

triggerIdstringrequired

Trigger node ID in the flow

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_createWebhook",
    "arguments": {
          "flowId": "example",
          "triggerId": "example"
    }
  }
}
flow_getWebhook

Get webhook details for a trigger

Input Schema

triggerIdstringrequired

Trigger node ID

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_getWebhook",
    "arguments": {
          "triggerId": "example"
    }
  }
}
flow_deleteWebhook

Delete a webhook trigger

Input Schema

triggerIdstringrequired

Trigger node ID

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_deleteWebhook",
    "arguments": {
          "triggerId": "example"
    }
  }
}
flow_createSchedule

Create a schedule trigger for a flow

Input Schema

flowIdstringrequired

Flow ID

triggerIdstringrequired

Trigger node ID

cronExpressionstringrequired

Cron expression (5 parts): minute hour day month weekday. Example: "0 9 * * *" for 9am daily

timezonestring

Timezone (default: UTC). Example: "America/New_York"

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_createSchedule",
    "arguments": {
          "flowId": "example",
          "triggerId": "example",
          "cronExpression": "example"
    }
  }
}
flow_getSchedule

Get schedule details

Input Schema

triggerIdstringrequired

Trigger node ID

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_getSchedule",
    "arguments": {
          "triggerId": "example"
    }
  }
}
flow_updateSchedule

Update a schedule trigger configuration

Input Schema

triggerIdstringrequired

Trigger node ID

cronExpressionstringrequired

Cron expression (5 parts): minute hour day month weekday

timezonestringrequired

Timezone. Example: "America/New_York", "UTC"

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_updateSchedule",
    "arguments": {
          "triggerId": "example",
          "cronExpression": "example",
          "timezone": "example"
    }
  }
}
flow_deleteSchedule

Delete a schedule trigger

Input Schema

triggerIdstringrequired

Trigger node ID

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_deleteSchedule",
    "arguments": {
          "triggerId": "example"
    }
  }
}
flow_getExecutions

Get execution history for a flow with pagination

Input Schema

flowIdstringrequired

Flow ID

limitnumber

Max results (1-50, default 10)

cursorstring

Pagination cursor from previous response

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_getExecutions",
    "arguments": {
          "flowId": "example",
          "limit": 0,
          "cursor": "example"
    }
  }
}
flow_getExecutionDetails

Get full execution details with node results and flow snapshot

Input Schema

executionIdstringrequired

Execution ID from getExecutions

includeFullDataboolean

Include full node results (for copying data)

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_getExecutionDetails",
    "arguments": {
          "executionId": "example",
          "includeFullData": true
    }
  }
}
flow_getActiveExecution

Get the most recent running execution for a flow

Input Schema

flowIdstringrequired

Flow ID

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_getActiveExecution",
    "arguments": {
          "flowId": "example"
    }
  }
}
flow_getActiveExecutions

Get all currently running executions for a flow

Input Schema

flowIdstringrequired

Flow ID

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_getActiveExecutions",
    "arguments": {
          "flowId": "example"
    }
  }
}
flow_getSnapshots

Get flow version history (snapshots). Each save creates a snapshot for rollback.

Input Schema

flowIdstringrequired

Flow ID

cursorstring

Pagination cursor

limitnumber

Max results (1-50, default 20)

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_getSnapshots",
    "arguments": {
          "flowId": "example",
          "cursor": "example",
          "limit": 0
    }
  }
}
flow_deleteSnapshot

Delete a snapshot (cannot delete the latest snapshot)

Input Schema

snapshotIdstringrequired

Snapshot ID from getSnapshots

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_deleteSnapshot",
    "arguments": {
          "snapshotId": "example"
    }
  }
}
flow_restoreFromSnapshotById

Restore flow nodes and edges from a previous snapshot

Input Schema

flowIdstringrequired

Flow ID

snapshotIdstringrequired

Snapshot ID to restore from

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_restoreFromSnapshotById",
    "arguments": {
          "flowId": "example",
          "snapshotId": "example"
    }
  }
}
flow_stopExecution

Stop a running execution

Input Schema

executionIdstringrequired

Execution ID to stop

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_stopExecution",
    "arguments": {
          "executionId": "example"
    }
  }
}
flow_runManualFlow

Execute a flow manually with optional trigger data

Input Schema

flowIdstringrequired

Flow ID to execute

triggerDataobject

Data to pass to the trigger node

triggerIdstring

Specific trigger node ID (uses manual trigger if not specified)

executionIdstring

Custom execution ID (generated if not provided)

executionModestring

Execution mode: "test" uses pinned data, "live" runs normally

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_runManualFlow",
    "arguments": {
          "flowId": "example",
          "triggerData": {},
          "triggerId": "example"
    }
  }
}
flow_pinNodeData

Pin data to a node for testing. Pinned nodes use fixed output instead of executing.

Input Schema

flowIdstringrequired

Flow ID

nodeIdstringrequired

Node ID to pin data to

inputany

Input data to pin

outputany

Output data to pin - used as fixed output in test mode

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_pinNodeData",
    "arguments": {
          "flowId": "example",
          "nodeId": "example",
          "input": {}
    }
  }
}
flow_unpinNodeData

Remove pinned data from a node so it executes normally

Input Schema

flowIdstringrequired

Flow ID

nodeIdstringrequired

Node ID to unpin

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_unpinNodeData",
    "arguments": {
          "flowId": "example",
          "nodeId": "example"
    }
  }
}
flow_toggleActive

Toggle flow active/inactive. Inactive flows do not process webhook or schedule triggers.

Input Schema

flowIdstringrequired

Flow ID

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_toggleActive",
    "arguments": {
          "flowId": "example"
    }
  }
}
flow_enterListenMode

Enter listen mode to capture incoming webhook/table events without executing the flow

Input Schema

flowIdstringrequired

Flow ID

triggerTypestringrequired

Type of trigger to listen for

durationnumber

Listen duration in ms (default 5 minutes)

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_enterListenMode",
    "arguments": {
          "flowId": "example",
          "triggerType": "example",
          "duration": 0
    }
  }
}
flow_exitListenMode

Exit listen mode and stop capturing events

Input Schema

flowIdstringrequired

Flow ID

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_exitListenMode",
    "arguments": {
          "flowId": "example"
    }
  }
}
flow_getHelp

Get help for Flows API. Call with topic to get focused guidance.

Input Schema

topicstring

Topic: "overview", "nodes", "triggers", "execution", "testing"

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flow_getHelp",
    "arguments": {
          "topic": "example"
    }
  }
}
Flows MCP Tools - Serenities