Skip to main content
All CollectionsBuild AutomationsSteps
Creating Custom Torq Steps: Automate Anything
Creating Custom Torq Steps: Automate Anything

Learn how to create your own new steps to automate any process.

Updated over a week ago

Torq offers hundreds of integrations and steps out of the box, providing extensive functionality. However, there may be times when you need to create a custom step to extend these capabilities or address specific needs. You can quickly and easily create custom steps for these cases, ensuring you have the precise functionality required for your workflows. There are several ways to create a custom step, and you can use the Step Builder to save these for future use in your workspace:

Create an HTTP Request Step

  1. Open Your Workflow: Navigate to the Workflows page and open or create a new workflow.

  2. Add an HTTP Request Step: In the Step Finder, search for Send an HTTP Request and add the step to the workflow.

  3. Configure Your Step: Click the wand icon to open the Step Builder.
    It’s important to save the work you do in the Step Builder. If you close it without saving, all work on the custom step will be lost.

  4. Use Your Step: Go to the Custom tab in the Step Finder to use this step.

Optional Parameters:

Access the optional parameters by clicking on the Settings icon in the Parameters section of the step. Some of the notable available options include:

  • Timeout: This will set the step to end automatically after a specified period of inactivity. This prevents the indefinite execution of the step.

  • Skip SSL verification: SSL verification is the process of confirming a website's certificate, which ensures secure and encrypted communication between the client and server.

  • Ignore redirects: If the call requires over three redirects, they will be ignored.

  • HTTP proxy: Provide an intermediary server to send the requests to the servers. This enhances security and privacy.

Convert a Step to HTTP Mode

HTTP mode exposes additional HTTP request options for an integration step. Since integration steps are usually a subset of the vendor's API calls' input parameters, HTTP mode can configure the step as a raw HTTP request and use the full functionality of the underlying API request.


Click the two arrows icon in the step Parameters section to convert the step to HTTP mode.

Example: HTTP Mode for Dropbox Step

  1. The only parameter the Get member list Dropbox step has is the integration.

  2. Click the two arrows icon to convert the step to HTTP mode. Now, you can edit the API call to suit your needs.

  3. For example, you can provide a different access token than the one used by the integration. The out-of-the-box step can only use the access token provided by its input parameter - the Dropbox integration.

Create a Custom Step from a Public Step

Sometimes, you may want to create a custom step from a public step instead of converting it to HTTP mode.

  1. Find the public step you want to customize and add it to your workflow.

  2. Click the wand icon in the step configuration window. Follow the Step Builder instructions and save your work. If you close the wizard without saving, all work on the custom step will be lost.

Create a Step from a cURL Command

Create an HTTP request step by pasting (similar to copy-pasting) an API call in the form of a cURL command (for example, from vendor documentation) into the Designer.

  1. Prepare the cURL Command: Copy the cURL command that executes the API call you want to run in Torq.

    curl -X GET "https://api.shodan.io/shodan/host/8.8.8.8?key={YOUR_API_KEY}"
  2. Generate Your HTTP Request Step: Directly paste it onto the desired anchor in the Designer (the same way you would paste a step), creating a Send an HTTP request step based on the cURL command. This is customizable using the wand icon and Step Builder.

Create a Step from a Nested Workflow

Save nested workflows as custom steps to allow other users to easily access, reuse, and benefit from their logic. For more information on nested workflows, see here.

  1. Select Your Nested Workflow: Within an existing workflow, drag the Workflow operator onto the Designer. Select the workflow you would like to save as a custom step. Note that this must be a workflow you can access within your workspace.

  2. Customize Your Step: Click the wand icon to create a custom step based on the selected workflow and follow the Step Builder instructions.

    • Choose the main vendor (integration) for this nested workflow. This will ensure the custom step appears when you search for that vendor. You can also specify the name of a new vendor.

Create Custom Steps with the Step Builder

This walkthrough of the Step Builder will guide you in creating your custom step. Access the Step Builder by clicking the wand icon in the step you want to customize or save as a custom step.

Make sure to save your work in the Step Builder. If you close the wizard without saving, your work will be lost.

Step Details

  • Name: Enter a meaningful name for the step. Make sure other users will be able to understand what it does.

  • Description: A brief explanation of the step that expands on the name.

  • Documentation URL: A link to the vendor’s API documentation (if available).

  • Vendor: The vendor for this step. If the vendor doesn’t exist, type the new name and click Create <vendor name>.

  • Integration (optional): The integration instance to use by default for this step.

HTTP Request

In this section, you create the underlying API for the step.

  • URL: The base URL for the API call.

  • Method: The API method (GET, POST, PATCH, DELETE, etc.).

  • Authorization: The authorization method for the API call (None, Basic (u/p), and Bearer.

  • Headers: One or more key:value pairs that further secure the Webhook.

  • HTTP optional parameters: An expandable list of optional parameters to add to the step.

Parameters

You can set any value from the HTTP request as a parameter. When configuring this step, users will see required parameters as fields in the main configuration window, and optional parameters will be accessible by clicking the cogwheel icon.

Creating a New Parameter

For a new parameter, highlight it from the URL and click Set as parameter. The value will be marked, and the parameter will be added on the left-hand side for you to configure. The step preview will show the input field for this parameter:

Assigning a Value to an Existing Parameter

Highlight the value and select Assign to existing parameter, then select the desired parameter from the list.

Types of Parameter

There are primarily two parameter types: data parameters and integration value parameters.

  • Data Parameter: This parameter will receive input from the end-user using the step. The user should edit the name to be a pretty name for the step’s input field (the preview will be updated accordingly), select the correct type, description, placeholder, and if this is a required field.

  • Integration Value: If the step was configured with an Integration (under the Step details section), the user can select a parametrized value that will receive its content from the integration. This will usually be for the URL's account domain identifier or authorization-related values.

Parameter Conditions

This is a regular parameter meant for cases where the end-user should fill it out only if another parameter has a specific value or is filled in. In the step configuration, the user should unselect the 'Required' checkbox and add a condition according to the appropriate requirements.

Removing Values from Parameters

To remove a value from being a parameter option (but not delete the parameter), go to the HTTP section, click on the parameterized value, and click Remove parameter.

If the parameter doesn’t have any value, a notification will appear, reminding you to assign a value or delete it.

Deleting Parameters

To delete a parameter, go to the parameter configuration and click Delete in the top right corner. When deleting a parameter, each associated value will become unparameterized, and the input field presented in the step preview will be removed.

Did this answer your question?