Using Trello and Google Forms to organize a conference
We’re running Mobile Era for the second year on October 5th-6th and I’d like to share some experience on how we’re using scripts and Trello to help with the organization effort. If you’d like automating simple tools, this is the article for you.
If you haven’t signed up for Mobile Era yet, you can leave a comment in this blog post for a discount code!
Google Forms is great! You can simply design pretty advanced forms and easily get responses. But after you get the responses, it’s a bit trickier. Similarly, Trello is great: Once you have your tasks in place, you can work on them easily by dragging and dropping. We decided to combine them with a little bit of script magic.
For a conference, one of the big tasks is to collect talk submissions and select who should get to speak at the conference. Here’s how we did it:
- A potential speaker submits a talk in our Google Forms call-for-presentation.
- Our magical script creates a card in a Trello board for the talk
- If the speaker updates the talk, the Trello card gets automatically updated (and marked with a special label)
- The program committee can comment on the card and move it around, safe in the knowledge that any work they do will be preserved even if the speaker updates the card
I started doing this with Trello’s email integration, but this fell apart when I wanted to update existing cards. Now I use the Trello API instead (there is a Zapier integration that has the same limitation, too). Here is the source code for my Google Forms script.
This is how you use it:
- Create a Trello board with an “Inbox” list and a “Updated” label. You will need to find Trello’s ID’s for these, which I leave as an exercise to the reader.
- Create a Trello API key and token at https://trello.com/app-key
- Create a new Google Form and set it up with the fields that you want
- In the Forms editor, open the “…” menu and select “Script Editor…”
- Copy the text from my gist into the Script Editor
- Update the autentication, idBoard, inboxList and updatedLabel values with the IDs from your Trello account
- Update “getCardName” and “getCardLabelIds” to include relevant fields from your form
- Run the function “sendAll” to send any existing form submissions to Trello. This will make Google Forms ask for permission to store the links between Trello cards and Form submissions.
- Add a trigger to “saveToTrello” on “On form submit”
The clunkiest part of the code in the gist is probably finding the values of a defined form field. This is also brittle if the form is changed, but what can you do, eh?
I’ve also started using information Trello to merge emails and save drafts for easily editing and sending. But that’s a story for another day.
A little bit of script can save a lot of tedium and help you extend tools like Trello and Google Forms to work together. I welcome your comments on how the script could be made even better!