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:
pre-fill answers to questions in your form; or,
pass data to an application that the user will be redirected to, using external variables.
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:
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" }
.
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