Launched: Pre-filled Form Fields

We’ve loved hearing about the incredible ways you’ve been using forms in the few weeks since they’ve launched, and wanted to share an exciting update based on your feedback. Starting today, you can update URLs for forms you publish to pre-fill fields in your forms.

To do so:

  1. Publish your form
  2. Append text to your URLs to specify any fields that should be pre-filled (read on for more)

Prefilled Forms

URL Structure to Pre-Fill Fields

To pre-fill fields, grab your published form URL and add addition text, starting by appending ? to the URL. Then, indicate fields that should be pre-filled using the Column Name (in the underlying results table) and the designated value. For example for the form below, you could pre-fill the name of the “Project” to “Razor Crest” by structuring your URL as https://coda.io/form/Generic-Form-Name?Project=Razor%20Crest.

Then, anyone who access the form from that link will have the project pre-filled for them. If you were on team Galaxy’s Edge and wanted to pre-fill that Project Name for your team when filling out the form, you’d put Galaxy%27s%20Edge as the value for Project in the URL. (Please note the standard URL encoding for apostrophes and spaces, as column names and values need to be URI encoded.)

You can pre-fill multiple values (or pre-select multiple choices from a multi-select list) by separating the values with commas in your URLs.

Pre-Filling Hidden Fields

Perhaps you want to add some information by default in your results table, but in columns that are hidden in your form. To do so:

  1. Navigate to your form options
  2. Select Publish
  3. Open the Privacy settings
  4. Toggle “Include hidden columns for URL parameters” to on

This will allow you to encode your URLs with parameters that are collected in hidden columns that people filling out your form would not see. A common example would be “Source” to structure a URL sent via email to indicate the form was filled out via your email send (vs. via Slack or some other way of sharing).

A note on security & privacy

Please respect your users’ security and privacy when encoding form URLs. Nothing sensitive should be encoded or collected via your URLs, as query parameters are logged all over the Internet. Forms found to be violating this stipulation may be disabled per Coda’s terms and conditions.

27 Likes

Thanks for this update! Coda grows more powerful daily! :rocket:

Can you explain what you mean here? It’s not apparent what the risk is. Thanks!

2 Likes

Our lawyers won’t let us provide legal guidance here, but I would pay attention to section 2.4 in our Terms of use, and related stipulations. (The tl;dr is don’t be creepy and collect private information without users’ consent.)

3 Likes

Really exciting update. Are there any plans to allow for pre-filling and submitting a form via URL?

One of my current workflows involves inventory management where I scan item in via NFC. Currently I have the NFC open a url of a pre-filled and submitted Google Form, then use Albert’s javascript code to port Sheets -> Coda. If the form would auto-submit I could keep everything in Coda! (I know the ideal solution would be using some API webhook, but looking for as no-code as possible)

2 Likes

Interesting use case! You’re right in that using the API would be the best bet here (although, having said that, we have not wired in form submission into the API yet).

The issue with an auto-submitting form URL that submits when you fetch it is that it can be used to harvest data from users who simply click on a link (in particular, the identity of the clicking user). So we’d have to carefully consider the security implications of enabling this if we were to do it.

Perhaps nice to know (if you didn’t already know) that you can prefill multiple fields by connecting the fieldname/entry pairs with an “&”:
form_url?naam=Joost%20Mineur&email=joost@skygliders.nl

2 Likes

Correct. In actuality I don’t need a form at all, just adding rows so the API is likely the solution i’ll eventually need to get to!

Very nice, I’m hurrying to test this :+1:t2: :+1:t2:

1 Like

@Jake_Nguyen thank you for reminding me of the existence of this Youtube gem

2 Likes