- Introduction
- Getting started
- Process modeling with BPMN
- Process modeling with Case Management
- Designing a persistent case entity schema
- Defining case keys (system vs. external)
- Establishing task I/O and write-back contracts
- Exit rules and early stage termination
- Modeling primary and secondary stages
- Triggering a case from Data Fabric
- Implementing stage-level personas and permissions
- Setting SLAs and automated escalation rules
- Configuring a rework loop (re-entry)
- Managing live case instances: pause, migrate, and retry
- Maestro case management component dictionary
- Process modeling with Flow
- Getting started
- Core concepts
- Node reference
- Build guides
- Best practices
- Reference
- Process implementation
- Debugging
- Simulating
- Publishing and upgrading agentic processes
- Common implementation scenarios
- Extracting and validating documents
- Process operations
- Process monitoring
- Process optimization
- Reference information
Maestro user guide
What you'll build: A workflow that calls an authenticated Representational State Transfer (REST) API, handles the response, and makes the extracted data available to downstream nodes. This is one of the most common patterns in Flow — it applies to any system that exposes an HTTP endpoint.
What you'll need
- A UiPath Automation Cloud account with access to Maestro Flow.
- The target API's base URL, endpoint path, and authentication details (API key, bearer token, or basic auth credentials).
Nodes used
- Manual Trigger — starts the workflow on demand
- HTTP Request — calls the REST API
- Data Transform — extracts the fields you need from the response
- Script — logs failures on the HTTP Request's error path
Steps
1. Create a new Flow and add a trigger
- Open Maestro → Flow and create a new workflow.
- Drag a Manual Trigger onto the canvas.
2. Add and configure the HTTP Request node
- Drag an HTTP Request node onto the canvas and connect it to the trigger.
- In the configuration panel:
- Set Method to the appropriate verb (
GET,POST,PUT,PATCH, orDELETE). - Enter the full URL of the endpoint.
- Under Headers, add authentication and content-type headers.
- Set Method to the appropriate verb (
For API key authentication:
Add a header with key Authorization and value Bearer {{ secret.apiKey }}. The secret. prefix tells Flow to look up the value from your secure variable store — never paste the key directly into the field.
For basic auth:
Add a header with key Authorization and value Basic {{ secret.encodedCredentials }}, where encodedCredentials is the base64-encoded username:password string.
3. Extract the data you need
- Drag a Data Transform node onto the canvas and connect it to the HTTP Request node.
- In the configuration panel, map the response fields you need from
$vars.httpRequest1.output.bodyto named output variables.
For example, to extract a user's name and email from a response like { "user": { "name": "Alex", "email": "alex@example.com" } }, map:
$vars.httpRequest1.output.body.user.name→userName$vars.httpRequest1.output.body.user.email→userEmail
4. Add error handling
- Select the HTTP Request node.
- Drag from its error handle (the bottom-right connector) to a new Script node.
- In the Script node, log the error from
$vars.httpRequest1.error:
const error = $vars.httpRequest1.error;
console.log('API call failed:', error.message, '| Status:', error.status);
return null;
const error = $vars.httpRequest1.error;
console.log('API call failed:', error.message, '| Status:', error.status);
return null;
5. Test and debug
Select Test. In the execution trace:
- Check the HTTP Request node's
statusCodeoutput.200means success;401means your authentication is wrong;404means the URL is incorrect. - Check the Data Transform node's output to confirm the fields were extracted correctly.
- To test the error path, temporarily set the URL to an invalid value and verify the error path executes.
Result
Your workflow calls the REST API, extracts the fields you need from the response, and logs failures on the error path. You can inspect the HTTP status code and extracted values in the execution trace, and confirm both the success and error paths work as expected.
Extend this workflow
- Handle pagination: if the API returns results across multiple pages, add follow-up HTTP Request nodes to fetch additional pages, branching with a Decision on whether the response includes a next-page cursor.
- Write results to another system: after the Data Transform node, add another HTTP Request node or an integration node to push the data downstream.
- Schedule it: replace the Manual Trigger with a Scheduled Trigger to run the workflow on a regular interval.