When you add an Action Button like Add record or Update record to a block, Softr needs to know which columns in your data source the button should write to. That pairing — a form field in Softr linked to a column in your table — is called a field mapping.Documentation Index
Fetch the complete documentation index at: https://docs.softr.io/llms.txt
Use this file to discover all available pages before exploring further.

How to add an action button
Open any block that supports actions — lists, tables, grids, item details — then:Add a button

Add record
Update record
Run custom workflow
Open page
Open URL
Scroll to
Ask AI
What auto-mapping does (and what you still control)
As soon as you pick Add record or Update record, Softr scans the connected table and creates a field entry for every writable column, with the correct Input type already selected (Text, Long text, Number, Dropdown, Date, Attachment, and so on).Computed / formula fields are skipped
Computed / formula fields are skipped
Lookup and linked-record fields are included
Lookup and linked-record fields are included
You can remove any field you don't want users to fill in
You can remove any field you don't want users to fill in
You can re-add a field later
You can re-add a field later

Configuring an individual field
Click any field in the list to open its configuration popover.
- Field header — shows the column currently mapped to this input. Click the dropdown to remap it to a different column in the same table.
- Hidden input (toggle) — when off, the field shows in the form for the end user to fill in. When on, the field is collected silently — see the Hidden inputs section.
- Input type — usually set correctly by auto-mapping. Override it only if you want a different UI (e.g. render a Text column as an email input with validation).
- Required — forces the user to fill the field before the form can submit. For Add record, this corresponds to a required column in the data source; for Update record, it guards against accidental blanks.
- Label — the text shown above the input. Defaults to the column name.
- Tooltip — a small ”?” next to the label with helper text on hover.
- Placeholder — ghost text inside an empty input.
- Hint — helper text shown below the input.
- Default value — prefills the input. For Add record, this is the value used if the user doesn’t change anything. For Update record, this is overridden by the existing record value.
- Validation — expands to show input-type–specific rules (min/max length, regex pattern, minimum date, file size, and so on).
Hidden inputs
A hidden input is a form field the end user never sees — it’s submitted automatically with a value you pick. These are great for automatically saving values to a record without requiring input from the user. For example, you may want to automatically assign the Project Lead as the Logged in User, since the Logged in User is the one creating the new Project record.
Logged-in user
Pulls any field from the signed-in user’s record in your users table.
- Email or Name — to stamp a submission with who created it.
- Client company or Client contact of (in Client Portal apps) — to tie a new record to the logged-in user’s organization.
- Record ID — to link the new record to the user’s row via a linked-record field.
{LOGGED_IN_USER:'Field name'} custom-value syntax for this. The Logged-in user submenu covers any field directly.Details page record
Available on pages that have a parent record (list-detail pages, Users-scoped pages). Works the same as Logged-in user — you get a submenu of every field on the parent record.
URL parameter
Collects a query-string parameter from the page the button is on. Enter the parameter’s name.
yoursite.com/job-details/senior-product-manager?recordId=rec7HcXAgKmlk8inf. Setting the Value to URL parameter → recordId captures rec7HcXAgKmlk8inf and stamps it onto the submission.
Page URL
Captures the full URL of the current page, including query string. Useful when the same action button lives on multiple pages and you want to know which one was used.Current time
Records a timestamp at the moment of submission. You can pick the format (ISO datetime, date only, Unix timestamp) from the submenu.
Custom value
A free-text box where you can type any literal value — static text, a fixed tag, a number, a default value. Keep in mind that the value type should match the field type its being mapped to. For example, don’t send a string (letters and symbols) to a pure number field.
- Tagging all submissions from a specific page (“Source: marketing-landing”).
- Filling a default category that the user shouldn’t change.
- Pulling anything you can express as a literal value.
Update record: what changes
Update record uses the same field-mapping UI as Add record — all the auto-mapping, per-field configuration, and hidden-input behavior work identically. The main differences are operational:Item buttons only
Form pre-fills
Hidden inputs still overwrite
Last edited at column with Current time on every update and that’s exactly what happens.Wiring is identical
FAQ
Auto-mapping added a field I don't want my users to fill in. Can I hide it?
Auto-mapping added a field I don't want my users to fill in. Can I hide it?
One of my columns didn't show up in the auto-mapped list. What's going on?
One of my columns didn't show up in the auto-mapped list. What's going on?
I'm using the {LOGGED_IN_USER:'Field name'} syntax in an older doc. Does it still work?
I'm using the {LOGGED_IN_USER:'Field name'} syntax in an older doc. Does it still work?
Do hidden inputs run Validation rules?
Do hidden inputs run Validation rules?
Can I compute a hidden value from multiple sources (e.g. "user email + current time")?
Can I compute a hidden value from multiple sources (e.g. "user email + current time")?
Last updated: April 2026. If something in this doc looks wrong or out of date, please let our support team know.