A Coda form is just another view of your table — but one that anyone can fill out. Submissions create rows directly, with no export, no transfer, and no manual entry. Chain it with automations to build complete intake pipelines.
In Coda, a form is not a separate product or integration — it's a view type attached to a table, exactly like Board or Calendar. Every submission creates a new row in the underlying table. That row is immediately available for formulas, views, automations, and filtering — no sync delay, no export pipeline, no manual entry step.
Each form submission creates one new row in the table the form is attached to. Every column in the table becomes a potential form field.
External users submit via a published URL. They don't need a Coda account. Data lands in your table the moment they hit Submit.
New rows are live instantly. Formula columns populate, views filter, and automations fire the moment the submission arrives — no waiting.
You can create a form from scratch on a canvas, or add a form view to an existing table. Both produce the same result — a form view linked to a specific table.
/form on any blank line → select the table you want submissions to go into. A form view is created and embedded on the canvas page.The form preview on the right side of the editor updates live as you configure fields. Toggle a field off and it disappears from the preview instantly — no need to save and reload.
Each column type in your table maps to a specific input control in the form. Coda handles the rendering automatically — you don't configure input types manually. Some column types are hidden from forms by design because they aren't relevant to external submitters.
| Column Type | Form Input | Notes |
|---|---|---|
| Text | Single-line or multi-line text box | Multi-line shown for long-text columns |
| Number | Number input with increment arrows | Validates numeric input only |
| Date | Date picker calendar popup | Mobile-friendly date selector |
| Select | Dropdown — choose one option | Options from column's defined choices |
| Select List | Multi-select checkboxes | Submitter can pick multiple options |
| Checkbox | Single on/off toggle | Defaults to unchecked |
| URL | Text input with URL format validation | Flags invalid URLs before submit |
A form is only accessible to submitters after you publish it. Unpublished forms can be configured and previewed but not submitted by external users. Publishing generates a shareable URL — anyone with the link can submit, no Coda account required.
Click "Publish form" in the form editor → copy the shareable URL. Share via email, Slack, a website, or QR code. Submissions appear as new rows in real time.
Default: unlimited submissions from anyone. Optional: single submission per person — requires submitters to log in with a Coda account, useful for internal surveys.
The most powerful aspect of Coda forms isn't the form itself — it's what happens after. Any automation attached to the underlying table can use a "Form submitted" trigger, firing the moment a new row arrives. You can stack multiple automations on the same trigger — each fires independently.
When: Form submitted → Support Requests table If: (no condition — fire for every submission) Then: Slack.PostMessage( "#support", "New request from " & [Name] & ": " & [Issue] )
When: Form submitted → Support Requests table If: (no condition) Then: ModifyRow(thisRow, [Status], "New", [Received At], Now(), [Assigned To], "support@company.com" )
Add this trigger in the Automations panel for the table. It fires the moment any submission creates a row — before a human has seen the new entry.
Multiple automations on the same trigger fire simultaneously. One stamps metadata, one Slack-notifies the team, one emails the submitter — all from a single form submission.
Two advanced form features reduce friction and improve data quality: conditional display hides irrelevant fields based on previous answers; pre-fill via URL parameters populates fields automatically before the submitter even arrives.
Set a display condition on any field in the form editor. The field appears only when the condition is met. Example: show "Company Name" only when "Contact Type" = Business. The same form adapts to consumer vs. business context — no duplicate forms to maintain.
Append field values to the form URL using ?[Column Name]=value (URL-encoded). The form loads with those fields pre-populated — submitters see context, not a blank form. Useful for campaign links, bot-triggered forms, or workflows that open a form with known data pre-set.
// Pre-fill Department and Priority from a campaign link https://coda.io/form/abc123?[Department]=Engineering&[Priority]=High // From a Slack bot — open form with submitter's name pre-filled https://coda.io/form/abc123?[Name]=Priya%20Mehta
Received At = Now(), sets Status = "New". (4) Second automation Slack-notifies the team. (5) Team member updates Status = "In Review". (6) Third automation emails the submitter a confirmation. Zero manual steps from submission to acknowledgment.