> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Pre-fill form defaults

> Pre-fill form fields via URL parameters to auto-populate store info, source channels, and more — reducing errors and enabling submission tracking across text, number, single-select, and multi-select fields.

Pre-filling default values in a form lets you do things like:

**Pre-fill defaults**: when a store submits a form task, auto-fill the store's info so they don't fat-finger it.

**Tag the submission channel**: when a user signs up, auto-fill a **Source channel** column.

> 📌 Use the link generator to bulk-create pre-fill links: [https://store.dingtalk.io/materials/659](https://store.dingtalk.io/materials/659 "https://store.dingtalk.io/materials/659")

## Basics

Format:
**Single question**: `<form share link>?prefill_<question name>=<value>`. **Multiple questions**: `<form share link>?prefill_<question name>=<value>&prefill_<question name>=<value>`.

Example:
[https://docs.dingtalk.io/notable/share/form/v011GXn4BrXGJobODQ4\_hERWDMS\_7LisUkm?prefill\_标题=预设标题\&prefill\_单选=选项二](https://docs.dingtalk.io/notable/share/form/v011GXn4BrXGJobODQ4_hERWDMS_7LisUkm?prefill_标题=预设标题\&prefill_单选=选项二 "https://docs.dingtalk.io/notable/share/form/v011GXn4BrXGJobODQ4_hERWDMS_7LisUkm?prefill_标题=预设标题\&prefill_单选=选项二")

Question types that support defaults: text, number, single-select, multi-select.

| Question type         | Format                               |
| --------------------- | ------------------------------------ |
| Text                  | `<form link>?prefill_Channel=WeChat` |
| Number                | `<form link>?prefill_Score=1`        |
| Single / multi-select | `<form link>?prefill_Pick=Sneakers`  |

If your default contains special characters, encode them per the table:

| Character | Encoded  |
| --------- | -------- |
| Space     | %20 or + |
| ;         | %3B      |
| :         | %3A      |
| \\\[      | %5B      |
| (         | %28      |
| )         | %29      |
| &         | %26      |
| \\\$      | %24      |
| ,         | %2C      |
| ！         | %21      |
| @         | %40      |
| ]         | %5D      |
| \{        | %7B      |
| }         | %7D      |
| #         | %23      |

If you don't want a pre-filled question to show on the form, add `&hide_<question name>=1` to the link. Example: hide the **Reviewer** field on a content-submission form:

[Form link?prefill\_Reviewer=Kato](https://docs.dingtalk.io/notable/share/form/v011GXn4BrXGJobODQ4_hERWDMS_7LisUkm?prefill_标题=预设标题\&prefill_单选=选项二 "Form link?prefill_Reviewer=Kato")[\&hide\_ProjectOwner=1](https://docs.dingtalk.io/notable/share/form/v011GXn4BrXGJobODQ4_hERWDMS_7LisUkm?prefill_标题=预设标题\&prefill_单选=选项二 "\&hide_ProjectOwner=1")

This trick also lets you trace submission channels. Say you're collecting feedback on an event and want to know which channel produced the most submissions:

1. Add a question called **Submission platform**.
2. Open form sharing, set the audience, and copy the share link.
3. Add a source param to the link. If the source is DingTalk:

   `<form link>?prefill_SubmissionPlatform=DingTalk&hide_SubmissionPlatform=1`
4. Share each variant to a different platform.

The pre-filled default lets you trace exactly where each submission came from.

## FAQ

#### Q: **Will my pre-filled defaults break if I rename the question?**

A: Yes — the link breaks. Rebuild it with the new question name.

#### Q: **Why doesn't a pre-filled person name take effect in an AI Table form?**

A: A few possibilities:

* The name is a duplicate within the org.
* The person is external and not in your DingTalk contacts.
* The name is misspelled — double-check.

#### Q: **After setting a default in an AI Table form, will every respondent see it?**

A: Yes. To hide it, add `&hide_<question name>=1` to the link.

#### Q: **I added the hide param but the question still shows on the form. Why?**

A: Likely the field is required and the default didn't take. With an invalid default, the required field stays empty, so it can't be hidden. Re-do the default.
