Use AI2 to directly submit Google Form Data

You should really only use this method if:

  • You already have a google form up and running for access by other devices (e.g. desktop/laptop machines)
  • You want to use the responses resources available through google forms

This example does not allow for uploading of images


This is possibly more of a Google thing than an Ai2 thing, but a neat trick nevertheless. My requirements are often solved by use of Google Forms, but they do not often present the best way for my users to enter data, and I prefer the flexibility of Ai2 to present a user interface. I came across a blog post by Justin Gale (website now long gone) who had figured out how to automatically submit a Google form using pre-filled urls, and it crossed my mind that I could build the pre-filled url from data supplied in an AI2 app.

To begin, you will need to create your Google Form, which in turn will create the responses spreadsheet on Google Drive.

Here is a sample form, and the responses sheet that goes with it:

TestDirectSubmit Form

TestDirectSubmit (responses)

A normal prefilled url would look something like this:

whilst the automatic submit version would look like this:

  • https://docs.google.com/forms/d/14NV5rUIZVuV1Kv3kwyzMYeUr_i9tFgPdYp3mxGNrIqM/formResponse?entry.555983399=Apple&entry.1994713211=Red&entry.564455174=1&submit=Submit

You replace the viewform element with formResponse and add &submit=Submit to the end.

Now to the app

Create an app with some list pickers that match the questions on the form. You can always do more code to automate this so that they link with the form. Also add a Web component

Next set up your blocks as in the following picture, building the Web1 url from the listpicker responses, and include a Web1.get call

You could work in a response if you needed confirmation, but it works without one.


To my mind this is a simpler method of collecting data and storing it in a spreadsheet than other methods I have used. It does rely on web connectivity, but you could use a tinydb to store the data until a connection is available.


AIA for Google Form Submit