URL parameters

Passing answers directly in the URL.

The easiest way to set answers in a flow from outside is to set them in the URL search parameters in the URL to the flow, using the answer variable labels as keys.

Setting single answers

For example, if I have a variable first_name, I could pass a first name into a flow by appending ?first_name=Olivia to the URL of a flow. If you're passing multiple answers at once, separate the answers with an ampersand, for example ?first_name=Olivia&last_name=Gretel.

If you want to pass in data that don't correspond to questions, and you'd like them available within the flow's answers (such as utm_source), you should create an external variable first, so that the flow is aware of it.

Answers passed with the wrong type, or to non-existent variable names, are ignored when loading the flow.

Check the javascript console if you are having problems ingesting answers - a warning will be present if URL parameters don't match known answers, or the value you're providing is invalid.

Setting date answers

Date answers should be passed in YYYY-MM-DD format. For example, if you want to pass in the appointment_date answer "Apr 25 2023", append ?appointment_date=2023-04-25 to the flow URL.

Setting array answers

If the answer variable is of array type (for example, an answer labeled countries coming from a select question that allows multiple choices), you can pre-populate by creating a URL like following:


The above results in the countries answer being set to ["US", "CA"].

Setting object answers

If an answer variable is of object type (for example, an address question's answer labelled mailing_address), you can set parts of that object using a URL like the following:


The above results in the mailing_address answer being set to { "postal_code": "12571", "city": "Brooklyn" }.


The contents of URLs are visible in the URL bars of browsers, and are often logged by third-party analytics that you might load within Formsort.

To prevent unnecessary answer exposure, we strip the URL of any provided answers when your flow loads.

For extra security, you should consider POSTing data into the flow instead.

Last updated