Client Tool Step
The Client Tool step pauses a Flow and waits for an external client, browser, or application to complete a named action. When the result comes back, the Flow continues and downstream steps can use that result.
What this is
Client Tool is useful when a Flow needs something that happens outside the Studio canvas. For example, a website might need to look up page-specific data, a customer portal might need to confirm account context, or an embedded chat might need to ask the surrounding app for information before the Flow continues.
Implementation details for registering and executing client tools belong in the Developer Hub.
When to use it
Use a Client Tool step when:
- The Flow needs context from an external application.
- A connected client must perform a local action before the Flow continues.
- You want the Flow to wait for a result instead of guessing or skipping a step.
- A Webchat or embedded experience needs to pass page-specific information back to Studio.
Use other steps instead when:
- Studio can make the request directly with HTTP Request.
- You need server-side JavaScript inside the Flow with Execute Node.js.
- You only need a human decision, in which case use User Approval.
Before you start
Make sure:
- A developer has implemented the matching client-side action.
- You know the exact client tool name to call.
- You know which parameters the client action expects.
- You have decided which output variable downstream steps should read.
Configure the step
- Add a Client Tool step to the Flow.
- Enter a clear step name, such as
Fetch customer profile. - Set Tool Name to the client tool name provided by your implementation team.
- Add the required parameters.
- Use template variables for values produced earlier in the Flow.
- Set the Output variable name.
- Connect the next step that should run after the client result returns.
Inputs
| Field | Required | What it controls |
|---|---|---|
| Tool name | Yes | The external client action the Flow should request |
| Parameters | No | Values sent to the client action |
| Output | Recommended | The Flow context variable that stores the returned result |
Parameter Configuration
Parameters are configured as key-value pairs in the step details panel. For each parameter, provide:
- Parameter Name: The key expected by the client action (e.g.,
customerIdorregion). - Value: The value to send. Use template variables (e.g.,
{ {customer_id} }) if the value should come from a previous step in the Flow.
Use the result
After the client action completes, the output variable is available to later steps. For example, if the output is customer_profile, a later Ask to LLM, Condition, or Final step can refer to that value.
Common follow-up steps:
- Ask to LLM to summarize or transform the returned result.
- Condition to branch based on the result.
- Final to show the result to the user.
Review or test the result
Test the Flow with the same client experience that will run it in production.
Check that:
- The Flow pauses at the Client Tool step.
- The client action receives the expected parameters.
- The Flow resumes after the client returns a result.
- Downstream steps can read the output variable.
- Errors produce a clear user-facing fallback.
Troubleshooting
The Flow does not pause
Confirm the step type is Client Tool and that it is connected in the active Flow path.
The client action is not found
Check the Tool Name value. It must match the client action name implemented outside Studio.
Parameters are missing or empty
Verify the template variables exist before the Client Tool step runs. If the value comes from another step, confirm that step has an output variable and executes on the same path.
The Flow resumes but the next step cannot use the result
Check the Client Tool step's Output field and make sure downstream steps reference the same variable name.
You need implementation instructions
Use the Developer Hub for SDK setup, code samples, and client-side implementation details.

