- Release notes
- Getting started
- For administrators
- RPA workflow projects
- Creating an RPA workflow from an idea
- Creating a project
- How to start an RPA workflow
- Managing project files and folders
- Connecting RPA workflows to your accounts
- Configuring activities
- Managing the activities in a project
- Passing values between activities
- Iterating through items
- Managing the data in a project
- Configuring a project to use your data
- Using file and folder resources
- App projects
- Agentic processes
- Agents
- Solutions - Preview
- API workflows - Preview
- User interface
- Managing API workflows
- Consuming API workflows

Studio Web User Guide
- In your Automation Cloud™ organization, open Studio Web.
- Select Create New > API workflow.
API workflows function as APIs themselves and may require an input schema to define the expected input parameters. The input schema specifies the data structure an external service must provide when triggering the workflow.
You can configure the input schema by uploading a JSON or by manually defining input parameters.
The output schema defines the structure of the data returned by the API workflow, ensuring that any service calling the workflow understands the output format in advance. The output schema may include data explicitly defined within the schema itself, such as IDs or user-provided values, as well as outputs generated dynamically from workflow steps, such as API responses or calculated values.
You can configure the output schema by uploading a JSON or by manually defining output parameters.
The Expression editor helps you access, evaluate, and manipulate data within API workflows. Use it to create conditional logic, configure activity fields, or write JavaScript activities.
Expression editor layout
The layout of the Expression editor contains the following panels:Panel | Description |
---|---|
Input |
The main panel is the input panel, where you write your JavaScript or JQ expressions. This panel includes a built-in syntax-checker that identifies and highlights errors in your expression syntax. |
Autopilot expression generator |
Located at the bottom of the input panel, the Autopilot expression generator helps you create workflow expressions using natural language, instead of writing JavaScript. Autopilot understands the context of your workflow, and enables you to reference objects and workflow steps simply by describing your desired outcome. |
Activity test input |
To the right-hand side of the code panel, the Activity test input panel allows you to review test data generated from previous workflow runs. It provides sample data you can use to build and validate expressions, and it interacts directly with the Expression output panel to ensure your expressions produce the desired results. |
Expression output |
The Expression output panel displays the result of your expression based on the data from the Activity test input data. This allows you to validate that your expression generates the expected outcome. If your expression has errors, the Expression output section highlights the problematic expression and provides a corresponding error message. The result updates automatically whenever you modify the expression in the input panel. |
Accessing data using JavaScript
There are two access points for workflow data:$workflow
—Refers to the workflow-level configuration.$context
—Refers to activity-level configuration.$input
—Refers to the previously executed activity configuration.
Access points | Description | How to use |
$workflow.input | Stores the request schema and any values defined in the test configuration. | To access test configuration data within the Expression editor, enter the following syntax, and replace {property_name} with the specific property you want to reference:
|
$context | Stores the input and output data for each workflow step. To reference these properties in your expressions, first run and test the workflow. This generates step-level inputs and outputs visible in the Test Input screen. | To access the output response data of a specific step, use the following syntax pattern in the Expression editor, and replace {step_name} and {property_name} with your step and property names, respectively:
|
$input | Stores data passed directly from the previous step into the current step. Use $input to reference properties from the preceding step without navigating through the entire $context .
| To access properties from the previous step, use the following syntax, and replace {property_name} with the property you wish to reference:
|
For a successful API workflow integration, test your workflow early and frequently. Regular testing helps you quickly identify and resolve errors. Features such as IntelliSense, auto-completion, Autopilot, and the Activity test input screen depend on test data. Execute the workflow regularly using the Test button to generate this data.
Testing ensures:
- Your data mappings between workflow steps are correct, preventing unexpected behavior.
- API requests are properly configured, ensuring reliable responses.
- Your workflow performs as intended, reducing the risk of unexpected errors in production.
Understanding the Run Output information
The Run Output panel provides detailed information about workflow execution.
Activity input and output data
This data is available per selected activity and provides:- Input data—Information a step receives from the previous activity.
- Output data—Information produced by the current step, passed to the next activity.
API request information
When workflows interact with APIs, verify the following request details:- Request URL—Confirm dynamic URL parameters resolve correctly.
- Headers—Ensure authentication and content-type headers are set appropriately.
- Query Parameters—Check that filters and parameters are correctly formatted.
- Body Content—Validate JSON structure matches the API requirements.
Successful API requests
For successful API requests, expand each step to review:- Request details—URL, headers, query parameters, and body content.
- Response details—Status code, headers, and response content.
- Output data—Information generated by the API call for use in subsequent workflow steps.
Debug
To efficiently identify and debug workflow errors, follow these guidelines:- Error Indicators
- Steps encountering errors display an error icon.
- Select the step to view detailed error messages and outputs.
- Common Debugging Steps
- Validate API requests—Ensure request details such as URLs, headers, parameters, and body content match API documentation.
- Review error messages—Examine error messages for clues about authentication errors, incorrect payloads, or scripting mistakes.
Adding a Test configuration
$workflow.input
object during workflow execution.
To add a Test configuration:
- On the top of your API workflow designer canvas, open the Test dropdown, then select Test configuration.
- In the window that opens, provide the test input data in JSON format.
- Save your test configuration.
- Once saved, you can access the test configuration in the Expression editor using the reference
$workflow.input.{propertyname}
. Additionally, the test configuration is also displayed in the Activity test input panel of the Expression editor.
Testing your API workflow
- Open your API workflow. Make sure your workflow is fully configured and ready to run.
- If your workflow depends on input data, for example, from an external system, define the Test configuration before testing. This ensures every step receives the necessary data.
- Test your workflow. The Test button is located at the top of the page. Select it to execute the workflow and see real-time results.
- Once testing starts, the Run Output panel appears on the right side of the screen. Here, you can see each step execution status clearly marked as success, failure, or pending.
If you published to your personal workspace feed, the workflow is visible in Orchestrator under My Workspace > Automations > Processes. API workflows are identifiable by the type API.
If you published to your tenant feed, the workflow is visible in Orchestrator under Tenant > Solutions. API workflows are identifiable by the type API.
Deploying API workflows from your personal workspace feed
Publishing to your personal workspace prepares the API workflow as a process in Orchestrator > My Workspace > Your API workflow name subfolder > Automations > Processes.Deploying API workflows from your tenant feed
Publishing to your Orchestrator tenant uploads the API workflow package to Orchestrator > Tenant > Solutions.
To deploy it as a process:
- Go to Orchestrator > Tenant > Solutions.
- For the API workflow package you previously published to your tenant feed, select the three dots menu, then select Deploy package.
- On the Deploy solution version wizard, configure the following details:
- Deployment name—add the name to be displayed on all pages which mention, list, or monitor processes. If left empty, the name of the package is used.
- Destination folder—indicate the folder to be used as a parent folder for the solution root. The solution is not deployed in the selected folder, but a new child folder is created.
- Install as a new root folder under tenant—select this checkbox to install the solution as a new root folder under the current tenant.
- Solution root folder name—change the root folder name.
- Select Review. You can now save your solution as a draft, or validate it and continue.
- Select Deploy. Now you can find your workflow as a process in the folder indicated at step 3 > Automations > Processes. You can identify an API Workflow by the type API.
- Select Activate deployment to finish deploying your API workflow.
- Define clear Input and Output schemas so other UiPath products can understand and interact with your workflow.
- Leverage the quick execution speed of API workflows to test input and output payloads during design time.
- Use Autopilot to generate context-aware expressions and JavaScript code.
- Validate expressions in the Expression Editor output panel to catch syntax or logic issues before runtime.
- Interact with input and output data in the Run Output panel by expanding, collapsing, or copying values to the clipboard.
- Exit the workflow early by configuring a Response activity, either Success or Failure.
- In Loop activities, namely For Each and Do While, use $input instead of $context to access the previous object output.
- Use the HTTP activity to call APIs directly when a connector does not provide the required functionality. Choose between the native HTTP activity or the connector-specific HTTP Request activity.
- Provide authentication tokens in the HTTP activity Headers property:
{ Authorization: "<my_token>", "Content-Type": "application/json" }
{ Authorization: "<my_token>", "Content-Type": "application/json" }For basic authentication, use:
{ Authorization: "Basic " + btoa("<username>:<pass>")}
{ Authorization: "Basic " + btoa("<username>:<pass>")}
- Managing API workflows
- Creating API workflows
- Defining Input schemas
- Defining Output schemas
- Using the Expression editor
- Expression editor layout
- Accessing data using JavaScript
- Testing API workflows
- Understanding the Run Output information
- Activity input and output data
- API request information
- Successful API requests
- Debug
- Adding a Test configuration
- Testing your API workflow
- Publishing API workflows
- Deploying API workflows
- Deploying API workflows from your personal workspace feed
- Deploying API workflows from your tenant feed
- Best practices