# Responder UUIDs

A **responder UUID** (Universally Unique Identifier) is a unique value used to identify a user's browser session. This UUID is automatically generated by Formsort when a user loads a form for the first time and is stored in their browser’s `localStorage`.

By default, the UUID persists across visits, allowing Formsort to:

* Recognize returning users,
* Restore saved answers,
* And tie together session-specific data like events and submissions.

### When Is a Responder UUID Generated?

You don’t need to provide a UUID manually. Formsort automatically generates a `responderUuid` during a responder’s first session.

If you’d like to generate a **new UUID** every time someone visits your form (even in the same browser), enable **Start each session as a new responder** in your variant settings.

### Manually Setting a Responder UUID

While auto-generation works for most use cases, you can also provide your own responder UUID. This is useful if:

* You already have a unique identifier for a user (e.g. a user ID or session ID),
* You want to force-load a specific session tied to that identifier.

#### Two ways to set the responder UUID manually:

1. **Via the URL parameter** `responderUuid`**:**

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

2. **Via HTML POST body:**

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

{% hint style="info" %}
:bulb:You can also use URL parameters to set initial answers in the form—see our full guide for more.
{% endhint %}

#### Important notes:

* `responderUuid` must be a valid UUID string in the format:\
  `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`\
  (e.g., `123e4567-e89b-12d3-a456-426614174000`)
* Force-loading a session with `responderUuid` **will not work** if:
  * **Start each session as a new responder** is enabled, or
  * The user’s previous session has been finalized.

### Making the responder UUID available as an answer

You can make the `responderUuid` available as an **answer variable** in your flow by adding it from the **System Library** into your form schema.

<div align="left"><figure><img src="/files/euRFQ1e4F0ZO0z0zdxyM" alt="" width="563"><figcaption><p>The System Library menu</p></figcaption></figure></div>

Once added:

* It can be templated into redirects or API calls, or anywhere templating is allowed.
* You can reference it like any other variable in your flow.

{% hint style="info" %}
Learn more about [variable templating](/variable-templating.md) for dynamic usage of answer data in your form logic.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.formsort.com/core-concepts/how-data-works-in-formsort/responder-uuids.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
