Summary
There is exactly one configured tool instance per action per workspace, and inputMappingConfig lives on that shared tool config — not on the workflow node. Saving a static input mapping while editing workflow A silently changes the behavior of workflow B that uses the same action. Last edit wins; no warning or error is surfaced — the other workflow just starts failing or running with wrong values.
Reproduction (observed live on a shared tct_ config, 2026-08-06)
- Two workflows, both using the same action (tool).
- In workflow A, save a static value into the tool's input mapping.
- Run workflow B → it now uses (or breaks on) workflow A's static value.
Expected
- Per-node (or at least per-workflow) input mapping overrides, or
- A prominent warning at edit time that the tool config is workspace-shared and other workflows depend on it.
Workaround we use
Never bake static values into a tool config — make every mapping {type: "reference"} with variables so each workflow supplies its own values.
Built/observed via the Clay plugin's workflow MCP (edit_node) + CLI on Claude Code.
Summary
There is exactly one configured tool instance per action per workspace, and
inputMappingConfiglives on that shared tool config — not on the workflow node. Saving a static input mapping while editing workflow A silently changes the behavior of workflow B that uses the same action. Last edit wins; no warning or error is surfaced — the other workflow just starts failing or running with wrong values.Reproduction (observed live on a shared
tct_config, 2026-08-06)Expected
Workaround we use
Never bake static values into a tool config — make every mapping
{type: "reference"}with variables so each workflow supplies its own values.Built/observed via the Clay plugin's workflow MCP (
edit_node) + CLI on Claude Code.