Torq offers hundreds of integrations and steps out of the box. When you need to expand on existing capabilities or address specific requirements, you can create custom steps to give your workflows the precise functionality you need.
There are several ways to create and save a custom step for reuse across your workspace. Some methods let you save an HTTP request step directly, while others use Step Builder. For a hands-on walkthrough, see the Custom and HTTP Steps course in Torq Academy.
When importing or exporting workflows between workspaces, any custom steps or integrations within the workflow are included.
How to use
Create an HTTP request step
Create your own step by adding an HTTP request step and configuring the API call directly, or use the Step Builder to save it as a reusable custom step.
Open a workflow: Navigate to the Workflows page and open an existing workflow or create a new one.
Add the step: In the Builderbox, search for Send an HTTP Request and add it to the Canvas.
Configure the step: Choose one of the following:
Generate with AI: In the Generate HTTP Request with AI field, enter a natural-language description of the desired action and click the AI complete icon.
Use Step Builder: Click the wand icon to open the Step Builder.
Save your work: Save before closing the Step Builder. If you close without saving, all work on the custom step will be lost.
The step is now available in the workspace under the Custom tab in the Builderbox.
Optional parameters
After adding the step to your workflow, click the Settings icon in the Parameters section to access additional execution settings:
Timeout: Ends the step automatically after a specified period of inactivity, preventing indefinite execution.
Skip SSL verification: Bypasses the process of confirming a website's certificate for secure, encrypted communication.
Ignore redirects: If the call requires more than 3 redirects, they are ignored.
HTTP proxy: Routes requests through an intermediary server to enhance security and privacy.
Convert a public step to HTTP mode
HTTP-based integration steps can be switched to HTTP mode to expose and modify the underlying API request. Since integration steps typically cover a subset of a vendor's API parameters, HTTP mode lets you configure the step as a raw HTTP request and leverage the full functionality of the underlying API.
Converting to HTTP mode is irreversible for that step instance. The step retains its current configuration (URL, headers, parameters), but the Basic mode interface is no longer available. Changes apply only to this step in the current workflow. To keep the original step intact, consider creating a custom step from it instead.
Switch to HTTP mode: Click the two arrows icon in the Parameters section, then click Convert to confirm. You cannot switch back to Basic mode after converting.
Modify the request: Update the request options as needed.
Example: HTTP mode for a Dropbox step
The out-of-the-box step can only use the access token provided by its input parameter, the Dropbox integration.
Convert the step: Click the two arrows icon to switch to HTTP mode. The API call is now editable.
Modify the request: Update the request as needed. For example, provide a different access token than the one used by the integration.
Create a custom step from a public step
Create a custom step based on an existing public step instead of converting it to HTTP mode. The custom step is saved for future use under the Custom tab in the Builderbox.
Add the step: Find the step you want to customize and add it to your workflow.
Open Step Builder: Click the wand icon in the step configuration window and follow the Step Builder instructions. Save your work before closing, unsaved work will be lost.
Create a step from a cURL command
Create an HTTP request step by pasting a cURL command (for example, from vendor documentation) directly into the Designer.
Copy the cURL command that executes the API call you want to run in Torq.
For example:
curl -X GET "https://api.shodan.io/shodan/host/8.8.8.8?key={YOUR_API_KEY}"Paste into the Designer: Paste the command onto the desired anchor point, the same way you would add a step. A Send an HTTP request step is created based on the cURL command, which can be further customized using the wand icon and Step Builder.
Create a step from a nested workflow
Save a nested workflow as a custom step so other users can easily access and reuse its logic. For more information on nested workflows, see here.
Add the Workflow operator: Drag it onto the Canvas within an existing workflow and select the workflow you want to save as a custom step.
Open Step Builder: Click the wand icon and follow the Step Builder instructions.
Select a vendor: Choose the main vendor (integration) for this nested workflow to ensure the custom step appears in relevant searches. You can also specify a new vendor name.
Step Builder
The Step Builder is a wizard for creating and customizing steps. Access it by clicking the wand icon on any step. It is organized into the following sections:
Step details: Define the step name, description, vendor, and integration.
HTTP request: Configure the URL, method, authorization, headers, body, and parameters.
(Optional) Output example: Provide a sample JSON response for the step.
Save your work before closing the Step Builder. Unsaved work will be lost.
Enter step details
Name: Enter a meaningful name that reflects what the step does.
Description: Enter a brief explanation that expands on the name.
Documentation URL: Enter a link to the vendor's API documentation (if available).
Vendor: Select the vendor for this step. If the vendor doesn't exist, type the name and click Create <vendor name>.
Integration: Select the integration instance to use by default for this step.
Build the HTTP request
Configure the underlying API call for the step.
URL: Enter the base URL for the API call.
Method: Select the API method (GET, POST, PATCH, DELETE, etc.).
Authorization: Select the authorization method (for example, None, Basic, or Bearer).
Headers: Add one or more key-value pairs.
(Optional) Content type: Select the content type (for example,
application/json; charset=utf-8).(Optional) Body: Enter the request body content (for example, a JSON payload).
HTTP optional parameters: An expandable list of optional parameters. Click Add next to the parameter you need, then define the field.
You can set any value from the HTTP request as a parameter. Required parameters appear as fields in the main configuration window; optional parameters are accessible via the cogwheel icon.
Create new parameters
Create a parameter from the URL: Highlight the relevant segment in the URL and click Set as parameter.
The parameter is added to the left-hand menu for you to define, and the step preview updates to show the input field.
Assign values to existing parameters
Select a parameter from the left-hand menu to open its configuration panel. Parameters can be one of two types:
Data parameter: Toggle to Create a parameter. This parameter receives input from the user configuring the step. Define the name, type, description, placeholder, and whether it is required.
Integration value parameter: Toggle to Use an integration value. Select the value from the dropdown. It's typically used for account domain identifiers or authorization-related values from the integration. You can also create custom integrations.
Parameter conditions
Use conditions to make a parameter visible only when certain criteria are met — for example, when another parameter has a specific value or is filled in. To apply conditions, deselect the Required checkbox and add the appropriate condition.
Remove a value from a parameter
Remove a parameter value: In the HTTP section, click the parameterized value and click Remove parameter. If the parameter has no value, a notification appears prompting you to assign a value or delete the parameter.
Delete a parameter
Delete a parameter: Open the parameter configuration and click Delete in the top right corner. All associated values become unparameterized and the input field is removed from the step preview.
(Optional) Define an output example
Providing a sample JSON response is recommended. It allows users to reference the step's output via autocomplete when building subsequent steps, without needing to execute the step first.
Open output example: Click Output example in the left-hand menu.
(Optional) Add a description: Enter a description for the output.
Enter sample JSON: Enter or paste a sample JSON response in the Example field.
Example: Add pagination parameters to a step
Many APIs use query parameters such as limit and offset for pagination. This example walks through customizing an existing step to add optional pagination parameters using the Step Builder.
Start from an existing step
Rather than building from scratch, start from a similar existing step that already has a pre-configured URL, authorization, and base parameters. Add the step to your workflow, then click the wand icon to open the Step Builder with the existing configuration pre-filled. Update the Name and Description under Step details to reflect the new endpoint.
Update the URL and add parameters
Update the URL: In the HTTP request section, update the URL to the target endpoint. For example:
https://api.vendor.com/entities/v1?id=abc123&limit=5000&offset=0Tokenize a required parameter: Highlight
abc123in the URL and click Set as parameter in the pop-up. The value is replaced with a colored marker and the parameter appears in the left-hand menu.Configure the parameter: Select it from the left-hand menu and define the following:
Name: Enter a descriptive name (for example,
Host ID).Type: Select the correct type from the dropdown.
(Optional) Enter a description and example value.
Leave the Required checkbox selected.
Add optional pagination parameters
Add the Limit parameter: Highlight
5000next tolimit=in the URL and click Set as parameter. Select it from the left-hand menu and configure:Name:
LimitType: Number
(Optional) Enter an example value (for example,
5000) and a default value.Deselect Required to mark it as optional.
Add the Offset parameter: Highlight
0next tooffset=and click Set as parameter. Configure:Name:
OffsetType: Number
Deselect Required.
When an optional parameter has no value, the entire query string segment (for example, &limit=5000) is omitted from the request URL, allowing the base API call to execute without pagination parameters.
Verify the step
Test the step: Click Test Run in the top right corner. The Execution Log panel opens and displays results under the Output, Input, and Debug tabs.
Confirm omission: Check the Debug tab and verify that the request URL does not include
&limit=or&offset=. Since these parameters are optional and have no default value, they are omitted from the request.









