Find a field's ID
Every field has an ID that does not change when you rename the field or move it. It is usually a UUID such as 3f6c2a1e-8b4d-4c2f-9a71-1d2e3f4a5b6c. Four places show it:
- The form's אינטגרציות tab, under אוטומציה ו-API: every field that holds an answer, with its מזהה השדה, a ready קישור עם ערכים ממולאים built from your own fields, and a ready signing request.
- In the editor, a field's settings: מזהה שדה ואינטגרציות, with העתקת מזהה שדה.
- The שיתוף tab's מילוי מראש ב-URL, which builds a link from values you type.
- By API:
GET /external/forms/{form}/fieldslists each field'sid,nameandtype. See Automation endpoints.
Layout blocks such as headings, text and page breaks have IDs too, but they hold no answer and cannot be prefilled.
The link format
https://formy.co.il/forms/service-agreement?3f6c2a1e-8b4d-4c2f-9a71-1d2e3f4a5b6c=Dana+Cohen&8a1d4e2b-5c3f-4a6e-b7d8-9e0f1a2b3c4d=Package+2&c4b3a2d1-6e5f-4d7c-8b9a-0f1e2d3c4b5a=13000&5e6f7a8b-9c0d-4e1f-a2b3-c4d5e6f7a8b9=C-1042Encode values as any URL query does: build the link with your language's URL library rather than by hand, so spaces, Hebrew and & survive.
const url = new URL('https://formy.co.il/forms/service-agreement')
url.searchParams.set('3f6c2a1e-8b4d-4c2f-9a71-1d2e3f4a5b6c', 'דנה כהן') // text
url.searchParams.set('c4b3a2d1-6e5f-4d7c-8b9a-0f1e2d3c4b5a', '13000') // number
url.searchParams.append('9d8c7b6a-5f4e-4d3c-8b2a-1f0e9d8c7b6a[]', 'Email') // multi-select
url.searchParams.append('9d8c7b6a-5f4e-4d3c-8b2a-1f0e9d8c7b6a[]', 'SMS')
console.log(url.toString())- A field that is not in the link keeps the value the form gives it: empty, or its default.
- An ID that names no field on the form changes nothing, and Formy does not save it with the response.
- The respondent can change any prefilled value unless the field is locked. See [locked and hidden fields](#locked).
Values for each field type
| Field type | Value | Example |
|---|---|---|
| Text, email, URL, number | The value itself. Numbers without a thousands separator. | 13000 |
| Phone | The country's two-letter code, then the number in international format. Write + as %2B: a bare + in a query string reads as a space. | IL%2B972501234567 |
| Single choice | The option's exact text. The option's ID also works. | Package+2 |
| Multiple choice | The field ID with [], once for each option. | ID[]=SEO&ID[]=PPC |
| Checkbox, toggle | true or false (1 and 0 work too). | true |
| Date | Year-month-day. | 2026-11-01 |
| Date and time | ISO 8601 with the offset from UTC, + written as %2B. | 2026-09-01T09:30:00%2B03:00 |
| Date range | Two dates, each with [] after the ID. | ID[]=2026-11-01&ID[]=2026-11-05 |
| Time only | Hours and minutes. | 09:30 |
| Rating, scale, slider | A number within the field's range and steps. | 4 |
The share tab's link builder and the AI assistant do not put signatures, files, repeating groups, calculated fields or matrices in a link. A calculated field is always worked out from the answers, so a link cannot set it.
A select value that matches no option stays in the field, and the form does not submit until the respondent fixes it, so a mapping error shows up in front of the respondent rather than in a signed contract.
Locked and hidden fields
| Field state | The respondent | Saved with the response |
|---|---|---|
| Normal | Sees the value and can change it. | Their final value |
| מושבת | Sees the value and cannot change it in the form. | The value from the link |
| מוסתר | Does not see the field. | The value from the link |
Both states are on every plan. Neither keeps a value secret or proves it came from you: it is in the link, where whoever holds it can read and edit it before opening the form. For a price or terms that must not change, send a signing request, which stores the values on the document before anyone opens it.
Which value wins
When a form opens, Formy fills it from the first of these that applies, in order:
- An edit link for an existing response: the response's saved answers.
- A draft saved on this device, when the form saves unfinished answers in the browser and the respondent has one. The link's values are then not applied at all.
- The link's parameters.
- Each field's own default value, set in the editor, for fields that are still empty.
So a respondent who opened the form before and left a draft sees their draft, not your new values. Test your links in a private browser window.
Parameters that are not fields
| Parameter | What it does |
|---|---|
auto_submit=true | Submits the form as soon as it opens, with the values in the link, as the שיתוף tab's advanced setting does. Validation still applies. It does nothing on a form built on a PDF document. |
utm_source, gclid and the other campaign parameters | Recorded as the response's campaign attribution, never as answers. Formy records 16 of them; see the attribution field. |
invite | Identifies an invitation from bulk send. Leave it as Formy wrote it. |
Prefill an embedded form
Put the parameters in the iframe's src. To fill fields after the page loads, for example from what the visitor typed elsewhere on your page, wait for the SDK's ready event and call setField or setFields with the same IDs and values. See the embed SDK.
<iframe id="service-agreement" style="border:none;width:100%;"
src="https://formy.co.il/forms/service-agreement?5e6f7a8b-9c0d-4e1f-a2b3-c4d5e6f7a8b9=C-1042"></iframe>
<script src="https://formy.co.il/widgets/formy-sdk.min.js"></script>Questions developers ask
What is the prefill URL format for a Formy form?
The form's address, then ? and pairs of field ID and value joined with &: https://formy.co.il/forms/<slug>?<field ID>=<value>&<field ID>=<value>. Multiple-choice fields take one <field ID>[]=<option> pair per option.
Do field IDs change when I edit the form?
No. A field keeps its ID when you rename it, move it or change its settings. A field you delete and add again gets a new ID, so update your links and mappings after replacing a field.
Can a prefilled value be kept from the respondent?
A hidden field is not shown, but its value is in the link, which the respondent holds and can read. Use prefill only for values the respondent may see; keep secrets out of links.
Is there a limit to how many fields a link can prefill?
Formy sets none; the practical limit is the length of a URL that browsers, email clients and messaging apps pass along intact. For many values, or values that must not change, a signing request carries up to 200 of them in a request body instead.
Related
- Prefilled links: Personal links for each client, locked and hidden values, without code.
- Signing requests: Values that must not change, stored on the document.
- Embed SDK: setField and setFields on an embedded form.
Every page of the docs is listed in Formy developer docs .
Try it on a free account
Every plan includes the API, webhooks, the embed SDK and the MCP server, Free included.
Create a free account