Skip to main content
WorkflowDog treats files, strings, and structured values as different data types. Keep them distinct until a system boundary requires a conversion.

Know what you have

Changing a filename does not convert bytes, and serializing an object does not create a File. Use an explicit conversion action so the boundary is visible on the canvas.

Create and download files

Use Create Text File when the content already exists as a String. Supply the complete filename, including an extension:
The filename extension is used to infer the MIME type when recognized. Use Download File from URL to retrieve a public resource. You can provide a filename or let the action derive one from the URL path. It uses the response’s content type when available and fails for non-success responses.
Download File from URL blocks local, internal, and private network addresses. It is for public resources, not for reaching services inside a private network.

Rename without converting

Rename File returns a copy with a new name while preserving its bytes and MIME type.
The example still contains PNG image data and keeps its original MIME type. Use a format-specific conversion action when the content itself must change.

Convert files to and from data URLs

Convert File to Data URL creates a String in this form:
This is useful when HTML or an API requires embedded content. Base64 increases the representation’s size, so prefer a File when the receiving action accepts one. Convert Data URL to File performs the reverse operation. Its input must use the exact data:MIME_TYPE;base64,DATA form. The output is named converted.EXTENSION, with the extension derived from the MIME type.
A normal https:// URL is not a data URL. Download it with Download File from URL instead.

Parse JSON text

Parse JSON converts a valid JSON String into its native value: an Object, List, String, Number, Boolean, or null.
After parsing, select the properties downstream actions need. See Connect Data for property outputs. Malformed JSON causes the action to fail. JSON requires double-quoted strings and does not allow comments or trailing commas.

Serialize values as JSON or YAML

Convert to JSON serializes a workflow value as JSON text. Enable pretty formatting for human-readable output; compact output is usually better for API requests or storage. Convert to YAML emits YAML using two-space indentation. Its Use references? option represents repeated objects with YAML anchors and aliases. Leave references off when every section should be standalone and easy to copy. Serialization is useful at an external boundary:
Do not serialize only to parse the value again in the next node. Connect the original Object or List directly and preserve its types.

Validate structured data

Validate JSON Schema checks any value against a JSON Schema and returns:
  • Is Valid, a Boolean;
  • Errors, a list containing every validation error found; and
  • the original validated value or top-level property outputs, depending on the schema.
For an object schema, the node exposes properties declared under the schema’s top-level properties. Connect Is Valid to Route Value or a Conditional meta control before using those values:
Validation does not coerce types. The String "18" does not satisfy an integer schema. It also does not strip extra properties, and property outputs remain the supplied values even when validation fails.
An ordinary schema mismatch returns Is Valid: false. Malformed JSON or an invalid schema fails the action itself. Handle those as separate failure cases.

Choose the right conversion

Use Convert to JSON. If the API action accepts a structured body directly, connect the Object instead.
Use Parse JSON, then select properties from the resulting value.
Use Create Text File and give it the correct filename extension.
Use Download File from URL.
Use Convert File to Data URL.