Answer piping
Answer piping lets you reference a respondent's earlier answers directly in field labels and help text. It makes forms feel personal and conversational.
Syntax
Use double curly braces with the field's pipe slug. Slugs are namespaced by their object type (people.name, companies.domains, etc.):
{{object.attribute}}
For example, if your first field captures a person's name on a People form, its slug is people.name, and you can write:
"Thanks {{people.name}}, what's your company called?"
When the respondent fills in their name, say "Jordan", subsequent fields show:
"Thanks Jordan, what's your company called?"
Where piping works
Piping tokens can be used in:
- Field labels: the heading text above any field
- Help text: the descriptive text below any field
- Placeholder text: the hint text shown inside the input before the respondent types
Using the autocomplete
In the form builder's label and help text inputs, type {{ to open the pipe autocomplete. It shows all eligible source fields (those appearing before the current field). Select one to insert the token.
Transforms
You can manipulate a piped value before it's inserted by adding a transform after a pipe character (|), Liquid-style. Chain multiple transforms left to right.
{{email_addresses | domain}} → nick@acme.com becomes acme.com
{{people.name | upper}} → Jordan becomes JORDAN {{email_addresses | domain | upper}} → nick@acme.com becomes ACME.COM
Available transforms:
- domain — strips an email address or URL down to its bare domain (
nick@acme.com→acme.com,https://www.acme.com/x→acme.com) - upper / lower — change case
- trim — remove leading and trailing whitespace
- capitalize — uppercase the first character
Common use: derive a company from an email
Add an email field, then set a domains field's default value to {{email_addresses | domain}}. As the respondent types their email, the domains field pre-fills with the domain (and stays editable). Point a company record reference field's mapping at that domains field, matching on domains, to look up or create the matching company in Attio automatically.
In the builder autocomplete, email fields show a "— domain" entry that inserts the | domain transform for you.
Namespacing
All pipe slugs are namespaced by their object type to avoid ambiguity when multiple fields share the same attribute name (e.g. people.name vs companies.name). The autocomplete handles this automatically and inserts the correct fully-qualified slug.
Fallback behaviour
If a piped field has no value (the respondent skipped it or it is hidden), the token is replaced with an empty string. Design your labels to read naturally even when the piped value is absent. Avoid constructions like "Hello, {{people.name}}!" where the comma looks odd if the name is blank.
Related articles
Show / hide rules
Reveal or conceal fields based on the value of any previous answer.
URL prefill & hiding fields
Pre-populate field values and hide fields dynamically using URL query parameters.
Calculated fields
Formula-based fields that compute values from other field answers.
Email & domain field options
Require a work email, block free/personal domains, lock an email's domain to a website field, and derive a domain from an email.
Record reference fields
Five ways to resolve record reference fields: hidden, field mapping, linked section, searchable, and dropdown.