Answer Piping
Answer piping lets you insert a respondent's previous answers into later questions, descriptions, or messages within the same form. This creates a personalized, conversational experience where the form feels like it remembers and responds to what the user has said.
What Is Answer Piping?
When a respondent enters their name as "Sarah" in a Name field, you can reference that answer later in the form. Instead of a generic "Tell us about your experience," you can write "Sarah, tell us about your experience." The piped value updates in real time as the respondent types.
This technique is sometimes called "recall," "merge tags," or "variable insertion." In WittyForm, it works everywhere text is configurable.
Piping Syntax
Reference a field's answer using double curly braces and the field ID:
{{field_name}}Each field in your form has a unique ID visible in the field settings panel. You can also use the Insert Variable button (available in any text input in the builder) to browse and insert field references without memorizing IDs.
Examples
| You write | Respondent sees |
|---|---|
Hi {{field_first_name}}, thanks for reaching out! | Hi Sarah, thanks for reaching out! |
You selected the {{field_plan}} plan at ${{field_price}}/month. | You selected the Pro plan at $49/month. |
Your score: {{field_total_score}} out of 100 | Your score: 85 out of 100 |
Where You Can Use Piping
Answer piping works in any text area within the form builder and certain system messages:
In Form Fields
- Field labels: Personalize questions (e.g., "{{field_name}}, how would you rate our service?").
- Helper text: Add context that references previous answers.
- Placeholder text: Dynamic placeholders based on earlier input.
- Heading and Paragraph fields: Insert piped values into any descriptive text block.
- Page titles and descriptions: Personalize page headers in multi-page forms.
In Emails
Use piping syntax in notification emails and confirmation emails sent to respondents:
Subject: Thanks for your order, {{field_first_name}}!
Hi {{field_first_name}},
We received your order for {{field_product_name}}.
Your order total is ${{field_order_total}}.
We'll send a shipping confirmation to {{field_email}} shortly.Configure email templates in Settings > Notifications > Email Templates.
In Confirmation Messages
The thank-you message shown after form submission supports piping:
Thank you, {{field_first_name}}! Your {{field_request_type}} request has been submitted.
We'll respond within 24 hours to {{field_email}}.How Different Field Types Are Piped
The piped value depends on the source field type:
| Field Type | Piped Value |
|---|---|
| Short Text, Long Text, Email, URL | The raw text entered by the respondent |
| Number, Rating, Scale | The numeric value as a string |
| Multiple Choice, Dropdown | The label of the selected option |
| Checkbox Group, Multi-Select | Comma-separated list of selected option labels |
| Date Picker | The formatted date string (e.g., "March 25, 2026") |
| Yes / No | "Yes" or "No" |
| Calculated | The computed value in its display format |
| File Upload | The file name(s) uploaded |
Empty Values
If the referenced field is empty (the respondent has not answered it yet), the piped value renders as blank. To avoid an awkward greeting like "Hi " with a trailing space, place the personalized text after the field has been answered, or use a conditional Heading field that only appears once the relevant question is filled in.
Real-Time Updates
Piped values update instantly as the respondent types or changes their answer. If they go back and update a field on a previous page, all piped references to that field update when they return to the page containing the piped text.
Tip: Combine answer piping with conditional logic for powerful personalization. For example, use a conditional Heading field that pipes the respondent's name and selected product, creating a personalized review section before payment.