Skip to main content

Prefilled Forms in SmartSuite

Learn how to use URL parameters to prefill SmartSuite forms!

Written by Brian Dollen

Feature Overview Video


Prefilled forms in SmartSuite streamline data collection by allowing you to preload specific values into form fields using encoded URL parameters. This guide explains how to set up and use prefilled forms effectively.

Plan Availability

All plan types

Permissions

Administrators, Solution Managers: Can create, modify, delete, and manage forms.

Related Reading

How Prefilled Forms Work

To prefill a value into a form field, append parameters to the form’s URL. The general structure is:

[Form URL]?[Prefill_Parameter]=[Value]
  • Prefill Prefix: Each parameter begins with Prefill_, followed by the field name OR field id.

Note: the prefix Prefill_ is case sensitive, but field names and IDs are not.

  • Value Assignment: Use = to assign a value to the field.

  • Field Names with Spaces: Replace spaces with + or use ENCODE_URL_COMPONENT() in a formula.

  • Multiple Fields: Separate parameters with an ampersand (&).

  • Hidden Fields: Prefilled values in hidden fields are submitted and saved.


Usage in Buttons and Formulas

Dynamic links can be created within out Button and Formula fields to easily prefill encoded URLs that can be clicked through the button or sent through automations to make form prefilling dynamic and easy!

Here is an example Button field formula that prefills the “Company Name” field on a form:

CONCAT( "https://form.smartsuite.com/x8zfht5g/KuZHtUsGJ7?Prefill_Company+Name=", [Company Name] ) Here is a more advanced example that handles blank fields dynamically:

CONCAT(
  IF(AND(IS_NOT_NULL([First Name]), IS_NOT_NULL([Last Name])),
    CONCAT("https://form.smartsuite.com/x8zfht5g/KuZHtUsGJ7?Prefill_Full+Name=", ENCODE_URL_COMPONENT([First Name]), ",,,", ENCODE_URL_COMPONENT([Last Name])),
    "https://form.smartsuite.com/x8zfht5g/KuZHtUsGJ7"
  )
)


Hiding a Prefilled Field

Forms can be prefilled through a URL using field and record IDs instead of descriptive titles. This approach enhances privacy by obfuscating sensitive details while maintaining the submitter’s context. These prefilled fields can also be hidden on the final form, ensuring the user cannot see or interact with them. That means even if the prefilled values are removed from the form URL, no sensitive information is exposed as these fields aren't displayed to the person filling out the form.

For example, imagine a client filling out a change request form. By adding a "Submit Change Request" button to a project record, you can:

  • Prefill the form with the client’s record ID instead of their name or other identifiable details.

  • Automatically associate the form submission with the correct client.

  • Ensure that hidden fields containing the record ID do not expose sensitive information, even if they are removed from view.


Supported Field Types and Examples

Text Fields

  • Single-line text: Prefill_Text=Example+Text

  • Multi-line text: Prefill_Text+Area=This+is+a+multi-line+example

SmartDoc Field

  • Simple Text: Prefill_Text=Example+Text

  • HTML (Requires Encoding): Prefill_SmartDoc=%3Cb%3EExample+Text+%3C%2Fb%3E

Numeric Fields

  • Number: Prefill_Number=123

  • Number Slider: Prefill_Number+Slider=50

  • Currency: Prefill_Currency=100.50

  • Percent: Prefill_Percent=80

  • Rating: Prefill_Rating=5

Select Fields

  • Single Select: Prefill_Single+Select=Option+Name

  • Multiple Select: Prefill_Multiple+Select=Option1,Option2

  • Status: Prefill_Status=Status+Name

Linked Record Field

Both the record ID or the record's title field can be used when matching!

  • Single: Prefill_Linked+Record=Record+Title or Prefill_Linked+Record=id

  • Multiple: Prefill_Linked+Record=Record+Title1,Record+Title2

Date and Time Fields

  • Date: Prefill_Date=2024-12-18

  • Date with Time: Prefill_Date=2024-12-18T09:36

  • Time: Prefill_Time=14:30

Contact Information Fields

  • Email:

  • Single: Prefill_Email=email@example.com

  • Phone:

  • Single: Prefill_Phone=%2B1234567890

  • Multiple: Prefill_Phone=%2B1234567890,%2B0987654321

  • Address:

  • Single Line: Prefill_Address=100+Main+Street+Los+Angeles+California

  • Multiple Line: Prefill_Address=100+Main+Street,Suite+300,Los+Angeles,California,90017,US

  • Full Name:

  • Example: Prefill_Full+Name=Mr.,John,,Smith Note: Inputs need to be separated by commas. Sub-field order is as follows: Title -> First Name -> Middle Name -> Last Name

  • Dynamic Example: If you have separate fields for First Name and Last Name, construct the parameter as follows: Prefill_[FullNameFieldID]=,ENCODE_URL_COMPONENT([First Name]),,,ENCODE_URL_COMPONENT([Last Name]) Note: Commas leave the Title and Middle Name fields blank when not needed.

Other Fields

  • Link:

  • Yes/No:

    • True/False: Prefill_Yes+/+No=true

    • 1/0: Prefill_Yes+/+No=1

    • Yes/No: Prefill_Yes+/+No=yes

  • Color Picker:
    Supports HEX, RGB, and CMYK

    • Single: Prefill_Color+Picker=cmyk(0%2045%2050%2061) (CMYK)

    • Multiple: Prefill_Color+Picker=%23821D1D,rgb(100%20100%20100) (HEX & RGB)

  • IP Address:

    • Single: Prefill_Ip+Address=192.0.2.1

    • Multiple: Prefill_Ip+Address=192.0.2.1,192.0.2.2


URL Encoding Cheat Sheet

If you are creating the prefilled URL with a button or formula you can always use the ENCODE_URL_COMPONENT formula function, but if you're creating it from scratch here's a short cheat sheet of common encoded characters. You can also find a full list here. When pre-filling Full Name fields, ensure each name component (e.g., First Name, Last Name) is encoded using ENCODE_URL_COMPONENT to avoid errors caused by special characters or spaces.

Character

Encoded Output

Space

%20

Carriage Return

%0D

!

%21

"

%22

#

%23

$

%24

(

%28

)

%29

?

%3F


Example: Full Dynamic Prefill URL (Multi-Field)

Below is a simplified example that demonstrates how to build a fully dynamic prefilled form URL that passes multiple field values from a record into a SmartSuite form.


Using ENCODE_URL_COMPONENT() in a Formula Field

CONCAT(
"https://app.smartsuite.com/form/{workspaceID}/{formID}",
"?Prefill_{field_ID}=", RECORD_ID(),
"&Prefill_{field_ID}=", ENCODE_URL_COMPONENT([Assigned To]),
"&Prefill_{field_ID}=", ENCODE_URL_COMPONENT([Full Name]),
"&Prefill_{field_ID}=", ENCODE_URL_COMPONENT([Phone Number]),
"&Prefill_{field_ID}=", ENCODE_URL_COMPONENT([Email]),
"&Prefill_{field_ID}=",
ENCODE_URL_COMPONENT(
CONCAT(
YEAR(FIRST([Date of Birth])), "-",
IF(MONTH(FIRST([Date of Birth])) < 10, "0", ""), MONTH(FIRST([Date of Birth])), "-",
IF(DAY(FIRST([Date of Birth])) < 10, "0", ""), DAY(FIRST([Date of Birth]))
)
),
"&Prefill_[field_ID]=", RIGHT([W4], 1)
)

How Date Formatting Works

Some fields—such as dates—require specific formatting when being passed through a prefilled URL. SmartSuite forms accept date values in the YYYY-MM-DD format.

Breakdown

• Extracts year, month, and day
• Adds leading zeros for single-digit months and days
• Produces the final value: YYYY-MM-DD

This value is then wrapped in ENCODE_URL_COMPONENT() to ensure it is safe for URL usage.


Prefill Example Using Linked Records and an IF() Function

Note: Linked record fields must send the Record ID. SmartSuite uses the Record ID to match linked records when prefilled.

CONCAT(
"https://app.smartsuite.com/form/{workspace_id}/{form_id}",
"?Prefill_{field_id}=", ENCODE_URL_COMPONENT([Assign To]),
"&Prefill_{field_id}=", ENCODE_URL_COMPONENT([Status].[Record_ID]),
"&Prefill_{field_id}=", ENCODE_URL_COMPONENT([Contract].[Record_ID]),
"&Prefill_Sales%20Team=",
IF(
[Sales Team] = "Team_A",
"Team_A",
"Team_B"
)
)

Breakdown (IF Function)

• Checks the Sales Team field
• If the value equals Team_A, the form receives Team_A
• Otherwise, the form receives Team_B


Note:

  • Replace the form URL (https://app.smartsuite.com/form/{workspaceID}/{formID}) with the actual link to your form.

  • Replace each {field_ID} with the appropriate Prefill_ parameter for your specific fields (e.g., Prefill_Email, Prefill_Full+Name).

  • Each form field has its own unique Field ID, which you can view by opening the field settings and clicking the ℹ️ to show your Field ID (see below example).


Prefill Use Cases

  1. Event Registration

    • Simplify registration by preloading attendee details like name and email based on prior interactions or invitations.

  2. Feedback Surveys

    • Auto-fill customer details, such as order ID or service type, to link responses directly to a specific transaction or experience.

  3. Project Change Requests

    • Allow clients to initiate change requests with project-specific details already included, linking submissions to the correct project and minimizing errors.

  4. Internal Approval Requests

    • Streamline approvals by prepopulating fields such as requestor details, project ID, or cost center.


Unsupported Field Types

The following field types are currently not supported for prefilled forms:

  • Checklist

  • Files and Images

  • Rollups, Lookups, Formulas

  • Dependency

Did this answer your question?