AI Tally Forms

Hey fellow Makers!

I know there are some Tally.so fans here - just as I am :smiley: - so I wanted to share a little project.

Using Make I developed a first prototype on AI generated Tally forms!

Whenever someone submits the form it triggers a Make Scenario asking GPT3.5/4 to generate the form’s blocks. Those blocks are then used to created the JSON for the internal Tally API. Once it’s done, you are redirected to the form to view & use :slight_smile:

This is one example asking for a form about automation experts: Make.com Automation Expert Survey - Tally form template

Best,
Richard

2 Likes

I gave it a go with two different prompts with GPT-3.5, it says

An error occurred, and maximum retries were reached.

Yeaaah I saw that - I am sorry, I was testing stuff and the Make Scenario was turned Off :frowning:
I created those but also did them again using GPT4. Should I share them? Send via DM?

Hey @Richard_Johannes , looks great! Can you share the Make scenario and how you did this?

2 Likes

Hey @Chap, now there isn’t a lot to share anymore :confused:
But I’m happy to share a little bit about the process:

  1. How are Tally forms created? Through a JSON Object
  2. Which information is within this JSON? All kinds of stuff, different for each question type but basically it’s the type of question, placeholder text, and some setting e.g. maximum content length etc.

As this was set, I used OpenAI to create this kind of JSON object. Using function calling. Make didn’t have a Module for this then but now it’s here, it’s called ā€œGet structured data from unstructured inputā€ or something similar. So I defined the JSON I needed but the output was poor because there were too many moving parts etc.

I then moved away from OpenAI generating the complete object to only generating the question itself (e.g. ā€œHow old are you?ā€) combined with the question type (e.g. ā€œnumberā€) in this case. Then I wrote some custom javascript code to handle this input and create the needed JSON. That’s why it currently only looks like the screenshot below. Calling GoogleCloudRun in the HTTP Module.

Also to speed up stuff I am calling OpenAI twice:

  1. Generate all questions for a given prompt.
  2. Then I am sending each of those question individually and in parallel to OpenAI. This way the output is smaller and it’s not one big JSON containing all questions.
    Then I am putting all those things together and create the needed JSON to create the tally.

Bildschirmfoto 2023-11-15 um 09.58.37