Advanced Workflows
Understanding Node Variables & Passing Data
How to dynamically pass output from one node to the input of another using variables.
Connecting two nodes with an edge tells the workflow engine the order in which to execute them. However, passing the actual data (like the file URL, a JSON payload, or text) requires understanding Variables.
What is a Variable?
In the ConvertUniverse Workflow Editor, every node generates an output when it finishes running. This output is stored in variables that downstream nodes can reference.
When you click on an input field in the Properties Panel, you might notice the {x} Variable Icon. Clicking this button opens the Variable Picker, which displays all available data from preceding nodes.
Syntax: The Double Curly Braces
Under the hood, variables use a templating syntax with double curly braces: {{ ... }}.
For example, if the first node in your workflow is a Trigger node with the ID trigger_1, and it outputs a file URL, the variable syntax to reference that file would look like this:
{{trigger_1.file_url}}
When the workflow runs, the execution engine parses the text, finds the {{trigger_1.file_url}} string, and dynamically replaces it with the actual URL (e.g., https://storage.convertuniverse.com/file_xyz.pdf).
Using the Variable Picker
You don't need to memorize the node IDs or the exact JSON paths of outputs. The built-in Variable Picker handles the syntax for you.
- Focus an Input Field: Click into a text input or parameter field in a Node's configuration panel.
- Open the Picker: Click the
{x}symbol next to the field. - Select the Data: A dropdown menu will appear listing all nodes upstream of the current one. Expand a node to see its available output fields (like
name,size,url,content). - Insert: Click the field you want, and the picker will automatically insert the
{{node_id.field_name}}syntax into your input.
Example: PDF to Email
Imagine a workflow that extracts text from a PDF, and then emails that text to a manager.
- The
Extract Textnode runs and outputs its data under theextracted_textfield. - In the
Send Emailnode, you write the body of the email. - You type: "Here is the content of the latest document:"
- You use the Variable picker to insert the output of the Extract Text node.
- The final input in the Email Body field looks like this:
Here is the content of the latest document:
{{extract_pdf_1.extracted_text}}
When the email is sent, the variable syntax is seamlessly replaced by the actual document text.
Debugging Variables
If a node fails because it claims an input is missing or malformed, it's usually because the referenced variable string does not exist, or the upstream node failed to generate it. Check the Execution History to inspect the exact JSON payload the upstream node outputted to ensure your variable path is perfectly mapped to an existing property.