URL parameters

Passing answers directly in the URL.

Formsort forms are able to accept incoming data by passing that data in as URL query parameters. This can be leveraged to:

Setting answers

If your answer schema has a variable first_name, you could set a value for first_name by appending ?first_name=Olivia to the URL of the flow. If you're passing multiple answers at once, separate the answers with an ampersand, for example:

?first_name=Olivia&last_name=Gretel.

For data you'd like available within the flow's answers (such as utm_source) but don't correspond to in-form questions, you'll need to create an external variable to capture the incoming value.

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:

?countries[]=US&countries[]=CA

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:

?mailing_address[postal_code]=12571&mailing_address[city]=Brooklyn

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

Setting a responder UUID

Setting a responder UUID is not required, since Formsort automatically generates one at the responder's first session.

If you would like to provide your own UUID to use as an identifier, you can set the responder UUID using a URL like the following:

https://<FLOW-URL>?responderUuid=123e4567-e89b-12d3-a456-426614174000.

Or, you may provide it within a POST body:

<input name="responderUuid" value="123e4567-e89b-12d3-a456-426614174000" />.

Manually setting responderUuid is useful for two reasons:

  • You already have an identifier generated for a particular user, like an account UUID or session UUID from your own application. Additionally, any responderUUID set in Formsort (manually or automatically) can be passed along with the user when being redirected out of the flow.

  • You would like to force-load a session that is tied to a particular responder UUID. Keep in mind, force-loading a session with the responder UUID will not work if "start each session as a new responder" is enabled in the variant settings, or if the user session has already been finalized.

The responderUuid must be a UUID - a 36 character hexadecimal string hyphenated with the pattern8-4-4-4-12, for example 123e4567-e89b-12d3-a456-426614174000.

Privacy

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 properly ingested answers when your flow loads.

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

Last updated