Skip to Content
BuildData Transformation

Data Transformation

Format text, calculate numbers, shift dates, and filter lists directly inside any Step field. Append operations to a reference like {{ 2.email }} or {{ 3.total }}. They run in memory at zero credit cost. Use a canvas Step when multiple downstream Steps need the result.

At a glanceVerified in app · Oct 30, 2026
Use it to
Clean, calculate, filter, or look up values inline inside any Step field
Find it
Workflow data → Data transformation tab, or inline {{ ref | op }}
Cost
Free (0 Step credits and 0 Glow AI tokens)
Limits
Up to 10,000 items for in-field list operations
Instead
Change Fields, Summarize, or Code editor (when several downstream Steps read the result)
Interactive Data Transformation Flow
Typeform
Source Data: New Lead SubmissionOriginal incoming value referenced by token
{{ 1.email }}
Raw Value:
Configured in Workflow Data → Data transformation tab
Transformation Chain
In-Field In-Memory OperationsTidies value before the step runs — without extra canvas steps
In-Memory
1
Trim whitespace| trim
Strips leading and trailing spaces
2
To lowercase| lower
Converts entire string to lowercase
3
Extract domain| extract_domain
Pulls the domain portion after @
Yields"cyberdyne.com"
Evaluated result directly populates the field
HubSpot
Step Field: Company Domain FieldClean, transformed value used during step execution
Ready for API
Field Payload:
"cyberdyne.com"
Try inline pipe expressions live0 Step credits · Evaluates in real time
Resolved result
"acme.io"
1.email → " [email protected] "| trim → "[email protected]"| lower → "[email protected]"| extract_domain → "acme.io"

How to Use Data Transformation

Open the Workflow Data Panel

Click any Step input field on the canvas to open Workflow data.

Switch to the Data Transformation Tab

Select Data transformation in the top bar (next to Data select and Data flow).

Add Transformations to Step Variables

Click Add transformation on a mapped variable to chain Trim spaces, To lowercase, Times, or Format as currency. Operations resolve in memory without changing the earlier Step’s output.


Everyday Examples

GoalInputTransformationOutput
Clean name" john doe "Trim spaces + Capitalise Each Word"John Doe"
Format phone"777123456"Format a phone number: CZ"+420 777 123 456"
Join list["Apple", "Banana"]Join items (comma + space)"Apple, Banana"
Empty fallbacknull or ""If empty, use: "Unknown""Unknown"

Operation Catalogue

Text & Clean Up Operations

OperationSyntax (Example)Effect
Trim spaces| trim (" hi " → "hi")Strips outer spaces.
lower case| lower ("Hi" → "hi")Lowercases text.
UPPER CASE| upper ("Hi" → "HI")Uppercases text.
Capitalise Each Word| capitalize ("john doe" → "John Doe")Title-cases words; keeps hyphens.
Take the text out of HTML| strip_html ("<p>Hi</p>" → "Hi")Strips HTML; keeps breaks and bullets.
Take the markdown out| strip_markdown ("**Hi**" → "Hi")Strips headings, bold, and links.
Remove the code fence| strip_fence ("```json\n{}\n```" → "{}")Unwraps outer code fences.
Replace text| replace:"old":"new"Replaces substring matches.
Everything before| before:"@" ("[email protected]" → "u")Text before first delimiter.
Everything after| after:"@" ("[email protected]" → "glow.app")Text after first delimiter.
First line only| first_lineFirst non-empty line.
Shorten to| limit:100Truncates at N chars (emoji/accents = 1).
Split on| split:comma ("a, b" → ["a", "b"])Splits by comma, semicolon, tab, or pipe.
Count characters / words| count_characters / | count_wordsChar or word count (emoji/accents = 1).

Fallback Values (If empty)

Append If empty, use (or | default:"value") to supply a fallback when a field is missing, null, or blank:

{{ 3.company | default:"Individual / Self-Employed" }}

Preserves 0 and false. default replaces missing, null, and whitespace-only values while keeping 0 and false. Validate required data when a fallback would hide an error.


Choosing Between In-Field Transforms and Canvas Steps

Zero Steps · Up to 10,000 itemsIn-Field Data Transformation
  • Clean text, extract domains, format currencies, or shift dates inline.
  • Pluck fields from a list and join or total them in one input.
  • Runs in memory at 0 Step credits for lists up to 10,000 items.
Reusable output · Up to 100,000 itemsDedicated Canvas Steps
  • Route runs across branches with Conditions or Switch Steps.
  • Call external APIs once per item with a Repeater loop.
  • Sort and filter large datasets up to 100,000 items (Sort, Filter).
Verify it works
Run
Open Data transformation on a mapped field, add Trim spaces and lower case, and click Run step.
You should see
The field resolves the cleaned lowercase value in memory at 0 Step credits.

What’s Next?

Last updated on

Search documentation

Start with a guide, or search by Step, task or error.