Split Text
Split Text cuts a string at a delimiter and returns one segment or the full list.
- Use it to
- Split a string on a delimiter and return a specific segment or a list of all pieces
- Find it
- Tools → Data → Convert → Split Text
- Cost
- 1 Step credit per execution
- Output
- Selected segment string or full list via {{ N.$full_result }}
- Instead
- Inline pipe ({{ 1.text | split }}, {{ 1.text | before:" " }}, {{ 1.text | first_line }})
Use it when something arrives as one line, like "enterprise, b2b, high-priority", and you need the parts separately. Or when you want one piece out of the middle: the domain from an email address or the final part of a space-separated label.
Quick extractions without an extra step: If you only need a single slice or quick domain/list split, you can do it directly inside field tokens with Data Transformation:
- Domain from email:
{{ 2.email | extract_domain }} - Text after the first space:
{{ 2.name | after:" " }} - Split to list:
{{ 2.tags | split:comma_space }}
Use the Split Text step when you need to pass an entire list of pieces to downstream canvas steps (like a Loop).
Keyboard shortcut: t+s
Setting it up
Three fields, all required.
Input
The text you want to cut. Pick it from an earlier step with the data picker.
Separator
The character or word to cut on. A comma, a single space, \n for line breaks.
A separator beginning with / is evaluated as a regular expression to identify the delimiter string. When delimiters vary across the input, normalize them first with an inline | replace pipe or Code editor.
Segment Index
Which piece you want back. This is the field that decides whether you get one piece or all of them:
| Choose | You get |
|---|---|
| First | Everything before the first separator |
| Second | The second piece |
| Last | Everything after the final separator |
| Second to Last | The piece before the last one |
| All | Every piece, as a list |
Custom numeric indexes count from zero: 3 selects the fourth piece. Negative indexes count back from the end, so -2 selects the second-to-last piece. Prefer the named choices for First and Last.
Pick All when you want to loop over the pieces. The named options each return a single piece of text, which is what you want for “the domain” or “the final segment”. For “do something with each tag”, choose All and point a looping step at the result.
What it passes on
The Step returns the piece you asked for, or the list of pieces with All, directly. If the separator is not found, it returns the original text even with All selected. Use {{ 4.$full_result }} for the whole value from Step 4, and check that it is a list before giving it to a loop:
{{ 4.$full_result }}Run it once and read the step’s Executions tab for the exact shape before you build on it; that is quicker than reasoning it out.
Examples to copy
Every tag from one field
A CRM sends a contact’s tags as "enterprise, b2b, high-priority" and you want to act on each.
| Field | Value |
|---|---|
| Input | the tags field |
| Separator | , (comma, space) |
| Segment Index | All |
Cutting on comma-and-space rather than the comma alone keeps a leading space off every piece after the first. " b2b" and "b2b" are different text, and a later Filter matching on b2b would miss the first form.
Then turn on Run for each item on the next step and point it at this one. See Loops & Iteration.
A surname from a full name
For a controlled two-part example such as "Ada Lovelace", the final space-separated piece is "Lovelace".
| Field | Value |
|---|---|
| Input | full_name |
| Separator | a space |
| Segment Index | Last |
Last selects the final piece, not a verified surname. Names can contain multiple words or follow different ordering conventions. When the distinction matters, collect a separate surname field rather than infer it by splitting.
The domain from an email address
| Field | Value |
|---|---|
| Input | the address |
| Separator | @ |
| Segment Index | Last |
Useful in front of a Conditions step that routes by company.
- Run
- Set Input to a comma-separated string, Separator to ", ", Segment Index to All, and click Run step
- You should see
- Executions shows a JSON array of trimmed segments that you can reference with {{ N.$full_result }} or pass into a loop.
What’s Next?
- Do something with each piece using Loops & Iteration.
- Cut the list down before you act on it with Filter.