Advanced Features

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.comacme.com, https://www.acme.com/xacme.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.