test_run_cloudflow_flow
Manage CloudFlow. Runs a flow once as a test, and accepts an unpublished (draft) flow — unlike actions/trigger, which requires the flow to be published. Use this to verify a newly authored or edited flow before publishing it. Execution is identical to a production run: the same graph, the same bo...
This record as markdown: /tools/doit/test-run-cloudflow-flow.md
What test_run_cloudflow_flow does on Doit
AI agents call test_run_cloudflow_flow to retrieve information from Doit without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.
| Parameter | Type | Required | Description |
|---|---|---|---|
dryRun | boolean | — | |
flowId | string | Yes | |
Idempotency-Key | string | Yes | |
customerContext | string | — | Scope the request to a specific customer by ID. Required for DoiT employees (whose token isn't tied to a single customer); omit for direct customer users. |
Parameters from the server's own tool schema.
Why test_run_cloudflow_flow is rated Low
Even though test_run_cloudflow_flow only reads data, uncontrolled read access leaks sensitive information and racks up API costs: an agent caught in a retry loop can make thousands of calls a minute without anyone noticing.
Risk signalsBulk/mass operation — affects multiple targets
Attacks that exploit this kind of access
The rule that runs test_run_cloudflow_flow safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Doit, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For test_run_cloudflow_flow, this is the rule to start with:
test_run_cloudflow_flow is read-only, so it stays allowed. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Doit, apply this rule, and every test_run_cloudflow_flow call is checked against it from then on.
Questions about test_run_cloudflow_flow
Manage CloudFlow. Runs a flow once as a test, and accepts an unpublished (draft) flow — unlike actions/trigger, which requires the flow to be published. Use this to verify a newly authored or edited flow before publishing it. Execution is identical to a production run: the same graph, the same bound connections, the same credentials, and the same approval behaviour. An approval-gated node still parks the run and its side effect still waits for a real approval — there is no request that skips one. The run is recorded as a test, so it does not appear in run history, does not count towards dashboard statistics, does not become a dashboard widget's data source, and does not consume a scheduled-run budget. It does hold the flow's concurrency lock, so a 409 is returned while the flow is already running. The flow's first node must be a webhook, scheduled, or manual trigger. Before dispatching, the flow is validated with the same checks publish applies — a draft has never been through them. A flow that fails returns 422 listing every offending node at once, so all of them can be fixed in one pass. Poll the Location URL to follow the run and read what each node produced. Pass ?dryRun=true to validate the flow without starting a run. Generated codeNode code may fail silently or error at run time despite passing validation. With dryRun this call shows only that the flow is well-formed; without dryRun it executes real actions even on drafts. A completed run's per-node output (get_cloudflow_flow_run) shows whether it works. The current generated MCP schema exposes no arbitrary trigger payload field; the API uses an empty payload when omitted. Idempotency-Key is required even with dryRun. Same key/request replays within 24 hours; different request fails with 422, an in-progress match with 409. Dry-runs validate existing fingerprints without storing a replay. The API fingerprints MCP tracking parameters; a changed client/server version can cause a same-key conflict. Keep the original request context and key. If an HTTP failure has only generic text, do not infer a status or retry automatically. It is categorised as a Read tool in the Doit MCP Server, which means it retrieves data without modifying state.
test_run_cloudflow_flow accepts 4 parameters: dryRun, flowId, Idempotency-Key, customerContext. Required: flowId, Idempotency-Key. The full parameter table on this page comes from the server's own tool schema.
Register the Doit MCP server in PolicyLayer and add a rule for test_run_cloudflow_flow: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Doit. Nothing to install.
test_run_cloudflow_flow is a Read tool with low risk. Read-only tools are generally safe to allow by default.
Yes. Add a rate_limit block to the test_run_cloudflow_flow rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for test_run_cloudflow_flow. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
test_run_cloudflow_flow is provided by the Doit MCP server (@doitintl/doit-mcp-server). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Doit, and thousands of servers like it.
This server
Across the catalogue