Please note that this feature is exclusively available with specific pricing plans.
For example, if someone has answered the question "Your Name", you can then add their answer (like "Mark") to any other part of the form. This is great for making your forms feel more personal.
In this guide, we'll cover:
Where you can use Answer Piping
Where you can't use Answer Piping
How to set up Answer Piping
Setting a Default Answer using Answer Piping
Supported Question Types
Answer Piping Transformations
Where can I use Answer Piping on my form?
Answer Piping can be used to insert answers into:
Question Titles
Question Descriptions
Appointment Event Configuration Text
General (body/ content) Text
Custom Success Pages
Custom Emails
Custom PDFs
Integration Actions
Where *can't* I use Answer Piping?
Although Answer Piping is widely supported throughout Paperform, here are some areas where you can't directly use this feature.
Question Custom Pre-fill Keys
Multiple Choice/ Dropdown Options
Calculation Fields within other Calculation Fields
Calculation Fields cannot be Answer Piped into other Calculation Fields, but the value of Calculation Fields can be used as normal with any other supported area on your form.
How do I set up Answer Piping?
The Fast Method
Navigate to the area you'd like to add Answer Piping to.
Begin by typing two forward-facing curly brackets ({{) and then type the title of the question you're trying to use in answer piping.
A dropdown list will appear for you to select the question you're trying to use. Clicking on the desired option will then complete the Answer Piping for you. e.g. Your Name
If the question being piped is the first one in the list, you can press "Enter" on your keyboard to complete the Answer Piping text.
The Long Method
Navigate to your form editor and locate the question you want to pipe the answer from.
Hover over the question and click on the "Configure" (Cog) icon appearing on the right.
Scroll to the bottom of the configuration window and locate the field titled "Pre-fill Key".
Copy the key next to the title "Pre-fill Key". It should look like an assortment of letters and numbers e.g. e7jcq.
If you'd like to use a Custom Pre-fill Key for your Answer Piping, simply enter the key you'd like to use in the field marked "Custom Pre-fill Key". Ensure your key doesn't contain any spaces or special characters e.g. @!"£$%^&()*
Now that you have the Pre-fill Key copied, navigate to where you'd like the Answer Piping to appear.
Begin typing two forward-facing curly brackets ({{) and then paste the key we copied earlier. Now add a further two curly brackets, but this time facing backward (}}).
The final result should look like this:
e.g. Pre-fill Key:e7jcq.
{{ e7jcq }}
You'll know whether Answer Piping is working by clicking outside of the area you're editing. You should see a bubble appear in the area your Answer Piping code was added instead of the code itself. The bubble will also contain the Question Title to determine which question is being piped in.
If the Answer Piping bubble does not appear, this generally means that the Answer Piping for this field isn't working. Be sure to check that the Pre-fill Key is correct (either custom or default), and that you're not attempting to use a calculation field within another calculation field.
Default Answer Piping Keys
Some default Answer Piping keys exist for use on your form, and they can be found listed below.
total - The Total Price for your form ({{ total }})
score - The Total Score for your form ({{ score }})
Setting a Default Answer using Answer Piping
Due to the fact that Answer Piping updates in real-time, your form content can look a little strange when using answers from fields the respondent hasn't answered yet.
For example, if you want to insert the answer for "Your Name" into the following question to say "Hey {{ dlpfbin }}, what’s your email?”, then the email field might look a bit weird before the person has entered their name into the "Your Name" field.
You can set a default answer to appear before the customer has given an answer to make forms read better. This is especially good if you are piping answers that are not required and may not be answered. For example, you may want the email question in the last example to say "Hey there, what’s your email?" and then change to "Hey David, what’s your email?" when the name field is answered. Here's how to do this:
When piping an answer, follow the format {{ key | default }}.
For example, the key dlpfbin the example above with a default value of "there", it will look like this:
{{ dlpfb | there }}
When the question is using the default answer as shown above, then the text on your form will output the following:
Once the field contains an answer, this will be shown in place of the default value defined above like so:
Answer Piping Question Types
Most question types will permit the use of regular Answer Piping (e.g. {{ key }}), however, sometimes you may need finer control over answers being inserted from complex fields.
The question types listed below support more advanced answer piping features that allow you to access additional properties. These additional properties can be particularly helpful in calculations and are accessed via "dot notation" on the answer piping key.
For example, {{ a3fda.selectedProducts }} will return a list of all the selected product SKUs.
In the examples below, key is a placeholder for the Pre-fill Key and sku is the placeholder for a product's SKU. Make sure that key is replaced with your actual Question Pre-fill Key or they may not work as intended.
Question types
Address
key.street — The street field
key.suburb — The suburb field
key.state — The state field
key.postcode — The postcode/ zip field
key.country — The country field
Appointment
key.start — Datetime and timezone for the appointment start
key.stop — Datetime and timezone for the appointment end
key.start_date — Start date of the appointment
key.start_time — Start time of the appointment if it is in minutes
key.stop_date — End date of the appointment
key.stop_time — End time of the appointment if it is in minutes
key.title — Title of the appointment
key.location — Location of the appointment
key.description — Description of the appointment
key.minuteLength — Length of the appointment in minutes
key.hourLength — Length of the appointment in hours
key.dayLength — Length of the appointment in days
key.timezone — Timezone of the appointment
Color Picker
key — The selected color's hex code (e.g. Black is #000000)
Country
key.code — The two-letter country code
key.name — The full country name
Date
key.year — The selected year
key.month — The selected month
key.day — The selected day
Dropdown and Multiple Choice
key.array — Selected options as an array instead of a comma-separated string
key.selectedIndex* — Position of the selected item within the list of options
key.selectedIndexes — Position(s) of the selected item(s) within the list of options (array, if multiple)
Matrix
key — A list of the selected options, labeled by row
key.rows.row — A comma-separated string of the selected options for that row number, labelled by column (e.g. key.rows.1 is the first row)
key.cells.cell — Whether a cell is selected or not using Excel-style coordinates, labelled as true or false (e.g. key.cells.A1 is the first column in the first row)
*Does not work for questions that allow more than one answer
Price
key — Total price for a price question (will keep the price even if not visible)
key.total — Total price for a price question (will be 0 if question is not visible)
Products
key.quantity — Total quantity selected for the question
key.selectedProducts — Array of selected product SKUs
key.quantities.sku — Selected quantity for a product SKU
key.names.sku — Name of a product
key.prices.sku — Price of a product
key.total — Total price for a product question (will be 0 if question is not visible)
Rank
key — An ordered list of the ranked options selected.
key.array — An ordered array of the ranked options selected.
key.commaSeparated — An ordered comma-separated list of the ranked options selected.
Rating
key — The number correlating to the rating selected (e.g. a rating of five symbols is equal to 5)
Time
key.hour or key.hour12 — The hour in 12 hour format
key.hour24 — The hour in 24 hour format
key.minute — The minute
key.ampm — The time period
Transformations
There is one more set of answer piping features that can come in handy. Transformations allow you to modify an answer piping value using the following formats.
With a default value{{ key | default_value | transformation }}
Without a default value{{ key || transformation }}
Remember to replace key with the Pre-fill Key of your field. Without this, the Answer Piping Transformation will not work.
Available transformations include:
uppercase - {{ key | "default" | uppercase }}
Transforms "default" or the value of key to "DEFAULT"
lowercase - {{ key | "DEFAULT" | lowercase }}
Transforms "DEFAULT" or the value of key to "default"
capitalize - {{ key | "default" | capitalize }}
Transforms "default" or the value of key to "Default"
encoded - {{ key | "support@paperform.co" | encoded }}
Transforms "support@paperform.co" or the value of key to "support%40paperform.co"
date - {{ key | "2019-12-31" | date d/m/y }}
Transforms "2019-12-31" or the value of key to "31/12/19"
Gotchas
Answer Piping cannot be used within a Calculation field if the answer being piped is from another Calculation field.
The answers provided on the Form Editor using Answer Piping rely on data from your latest form submission. If you're Answer Piping properties from questions that haven't been answered yet, you may see some unexpected results. To resolve most issues related to this, simply answer the relevant question in a new submission on your form.