Skip to main content
All CollectionsBuild AutomationsSteps
Use Files in Torq Workflows
Use Files in Torq Workflows

Learn how to incorporate file usage into Torq workflows, optimizing effciency and flexibility in data handling.

Updated over a week ago

You can use files in workflows by passing the file links between steps. By default, links to files that are the output of step executions can only be used in Torq steps. This means the file links can't be opened in a browser or shared with external services. There is an option to make the file link shareable.

Here are some common ways to use files in workflows:

Important to Know

  • The format for links to files that are outputs of step executions: tqfile://steps/XXXXXXX

  • File links can't be shared externally. They can only be passed in Torq steps using the inline function file.
    Example: {{ file $.send_an_http_request.api_object.url }}

  • Other file links are signed URLs with this format: https://link.torq.io/****dEjnLCXnv7. These file links can be shared externally and used in Torq steps without using the inline function file.

Supported Steps

You can return the response as a file for the following steps:

  • Send an HTTP request

  • Any step that you can switch to HTTP mode

Share a File Outside of Torq

These instructions explain how to get a signed URL for a file stored in Torq to share outside Torq. Files will be available for 24 hours and then deleted. To change the expiration period, contact Torq support.

  1. In the step Execution Options section, set the Return response as file toggle to Yes.

  2. Set the Shareable link toggle to Yes.

Example Use Case

This example shows how to use a non-sharable file URL in a subsequent step.

  1. Add the step Send an HTTP request step to the canvas.

  2. Under Execution Options, set the Return response as file toggle to Yes.

  3. Run the step. The file URL appears in the following format - tqfile://steps/XXXXXX and is available in the step output in the Execution Log. The file URL can only be used in Torq steps.

  4. To extract data from the file, use this expression {{ file $.send_an_http_request.api_object.url }}

Use Files in Inline Scripts

To access the content of a file in an inline script, you first need to apply the Get method to the file URL.

The example below shows a Python inline script, but the same applies to other scripting languages, such as Javascript, Bash, etc.

Use the file inline function for non-shareable file URLs that have the format: tqfile://steps/XXXXXX

Shareable URLs that don't require the file inline function: https://link.torq.io/***dEjnLCXncv7

Upload a File Using an HTTP Request Step

  1. Add a Send an HTTP request step to the designer.

  2. Set the METHOD to POST.

  3. Add a header to the HEADERS section if you want the file to be interpreted in a specific format (for example, to suit the third-party service requirements).

    1. Key: content-type

    2. Value: file format

  4. Set the body CONTENT_TYPE parameter to raw binary.

  5. Set the BODY to the file URL. For example, {{ file $.prev_step_name.api_object.url }}. Use the file inline function for non-shareable links.

Passing File Content within a Workflow

Retrieving the content of a tqfile into a workflow's execution context can be required, for instance, when you need to do some data manipulation on the contents of that file, but the step you need to perform such manipulation doesn't support a hyperlink to a file as input.

The most straightforward way to achieve this is by using a Send an HTTP Request step in which the URL parameter is built from the tqfile://... hyperlink prepending the keyword file to the reference containing the tqfile hyperlink.

The tqfile content will be returned as the value of the api_object key in the step output.

Binary Files

If the tqfile you're trying to retrieve into the workflow execution context is not an ASCII file but a binary file, you'd probably want to consider adding the Base64 response body parameter to the Send an HTTP Requeststep and set it to Yes. With that the content of the binary file will be returned and added to the workflow execution context as a Base64 encoded string.


Did this answer your question?