Spaces
/
Field Configuration

Field Configuration

Field configuration lets you specify how the values for your fields are determined. For example, you can set up a form field called "Status" to be a dropdown list with "Standard" and "VIP" as options. Or, you can have have the "user_id" parameter for your HTTP function populated from the "id" column when a user selects a row in your Users table.

Field configuration plays an important role in determining how your tool will function, and understanding all the options below will help you build better, easier-to-use tools.

Should this field be pre-filled?

Specify where the value for each field should come from. Values must be valid for the field type (integer, string, etc). The options below may vary depending on the field type or component.

1) No, have the user complete the field: (nothing pre-filled) Use this option when potential values are unknown.

  • This option is not available for buttons and for hidden fields within forms, as those components do not allow the user to manually enter in values.
Example: If you have a Customer Intake form with FirstName, Email, and Address fields, you’ll want to use this option. This is not as good an option for fields like Gender and State, where the potential values are predictable.


2) Set a custom default value: Use this option when you have a specific (non-variable) value to set this field to.

Tip: This option is often used for quick settings changes with a button.

For example, you can configure a “Promote” button within a Users table. This button is configured to set that user’s “Status” field to “vip”.


3) Pre-fill with a value from a component: Use this option when the data you want exists in another component in the Space. Connecting components together ("binding") lets you create more powerful, time-saving tools.

  • To get the value from a filter, select the name of the filter component → value
  • To get the value from a table, select the name of the table component → selected row → data → column name where the data should come from. When using this tool, users must select a row in the specified table to provide the value for this field. 
  • To get the value from a detail view, select the name of the detail component -> data -> field name where the data should come from. The data used will come from the record shown in the detail view.
  • To get the value from a card list, select the name of the card list component -> data -> field name where the data should come from. The data used will come from active record in the card list.
  • You can also use Current User data for this value.
Examples:
Let’s say you’re creating a form to update data in your Orders table. You can configure your form fields (CustomerID, ProductModel, Quantity, etc) to be pre-filled with the existing values from the Orders table (Orders -> Selected Row -> Data -> Quantity).

When using your tool, a user simply needs to select a row in the Orders table, and then all of that data will be pre-filled in the Update form. Users can quickly change the fields that require editing and submit the rest.

Another common way to use this option is to get the value input from a filter component. Let's say you set up an HTTP function that takes a user's email as a parameter. In your tool, you have an existing filter component named UserEmail. You could configure a button that would take the value that's in the UserEmail filter and pass it as the value for email when calling the HTTP function.


4) Set a UUID: Use this if you want Internal to generate and set a new universally unique identifier as the prefilled value for this field. 

  • This option only appears for certain data types. 

5) Set (default) to null:

  • a null field is different than blank field - use this if you're working with an API that requires null values.

6) Set date and time when form submitted or button clicked: (Only available for date-time fields)

Tip: Use this option to save time for "Created At", "Modified At" and similar fields. If you do choose to use this option, you'll almost always want to configure this field as a hidden field for a form, or use it with a button. This will ensure that the user doesn’t alter these values.
  • If you're setting up a HTTP function parameter and this option is missing, make sure you set the parameter Type to "Date/Time".

Note for forms and pop-up forms: The pre-filled (default) values you set are still editable by a user before submitting. If you do not wish for a user to see or be able to edit these pre-filled values, use a hidden field.

Example: You have a field “userID” which you have configured to be set to a generated UUID.
  • If this field was part of a form or pop-up form, the user would see the generated UUID in the form field and be allowed to edit that pre-filled value (if desired). 
  • If this field was part of the hidden fields in a form, or within a button/dynamic button, the generated UUID (pre-filled value) would be the value set; the user will not be able to view or edit it. 


What type of form field is this? 

You can specify the format in which your field will appear, like paragraph text or dropdown. This option does not appear for buttons or hidden fields in a form, as those components do not allow for manual input.

The available options will change based on the field type.

Example: A string field will have Single line text and Paragraph text options, whereas an integer field will have a Number option. Date/Time fields have their own calendar picker format and this option will not appear. 


1) Single line text

2) Paragraph text

3) Number

4) Dropdown

Create dropdown options by inputting what you want displayed (Red Ball, Purple Shoe), a comma, and then the value you want to submit (redball, purpshoe). Each option gets its own line.

5) Radio button

Radio buttons are created in the same way as dropdown options. 


Blank and null options

Allow this field to be blank: Null, undefined or empty strings are allowed as an input to this field. This applies whether the user leaves the field blank, the prefilled value from another component is blank, or the default value is left blank. 


Treat blank values as null: Attempts to save empty strings as null values.