How we used AI to improve new user onboarding

AI startups have been cropping up left and right in the last few months, spurred by advances from OpenAI, Stability and others. At Fillout , we're using AI a bit differently than most - to help with user onboarding. A few people asked me how this works under the hood, so here's a quick overview.

How we used AI to improve new user onboarding
Do not index
Do not index
Hide CTA
Hide CTA
Hide cover
Hide cover

First, some context

Fillout is a powerful form builder (think Google Forms, but with more styling options, better integrations and advanced features).
We're using AI to solve the "blank canvas" problem.  Namely, making it easier for new users to see what the product is capable of, especially if they don't have a use case yet and are just exploring the tool.
In the past, other companies have solved this problem by offering pre-built templates for every possible use case. We have some of these, too, but a) they're time consuming to make and b) they don't always match what people are looking for.
We wanted to see if AI could help.

What new users see

If you choose our AI powered onboarding, the first thing you'll see is a prompt to describe the form you want to make in plain English (or any language!).
For example, you could type "Form for reserving event space" or "Algebra math quiz".
notion image
Check out this video for a full demo
Next, the AI generates a form based on what you typed.
The results are surprisingly accurate! Multiple choice questions are populated with relevant options, a text header describes the purpose of the form and you even get a cover image based on the description (spoiler: that part just uses the Unsplash API, but we might use AI to generate an image later on).
notion image
Example of an auto-generated form. We added a form theme to make it more aesthetic.
Of course, it's unlikely the AI generates the exact form you want. Making changes is easy - you just click anywhere to modify text or drag in new questions you want to ask.

How it works under the hood

We use OpenAI's GPT-3 API to convert the form description into a set of questions types and labels.
GPT-3 lets you provide a set of instructions and outputs text based on that prompt. The main question is - what should the prompt be?
Here's how we do it:
First, we give the AI some background info about what it's supposed to do:
You are creating a web form. You are given the purpose of the web form and your job is to define which questions you should ask in the form.
Simple enough.
Next, we tell the AI what it can expect from us as input. Namely, the form description and what the output should look like.
Fillout supports adding 40+ different question types, so we list those out in the prompt:
The possible question types are: SHORT_ANSWER, MULTIPLE_CHOICE, LONG_ANSWER, EMAIL, DROPDOWN, NUMER_INPUT [etc...]
Finally, the most important part. We give the AI a few examples so it knows the expected output format.
 
Form purpose: A travel agency booking form

The questions you will ask:

EMAIL, What is your email?
SHORT_ANSWER, Your first name
NUMER_INPUT, How many people are you traveling with?
DATE_PICKER, Your travel date
DROPDOWN, Where do you want to travel to?, South America or Africa or Asia
 
We found that just 2-3 examples was enough to get decent results. We ended up providing 5 examples, to show how each question type is used without providing overly long example forms.
Calling the OpenAI API with a new prompt takes just a few seconds to run. We pass GPT-3 the user's input, along with the pre-made prompt, and then translate the output into our internal form representation.

How well does it work?

Give it a try and let us know what you think!
In general, we've found that you get more impressive results by providing a short description ("e.g. surfing lesson booking form"), as opposed overly specific prompts. If you describe a very specific set of questions in the prompt, GPT-3 will respect that - but not generate anything else. Other than that, it does an impressive job on most inputs.
If you have any questions, ping me at dominic @ fillout.com. Let me know if you see any other instances of AI used for product onboarding. I bet we'll see many more examples across a wide range of products in the coming months!
 
Dominic Whyte

Written by

Dominic Whyte

Dominic is the co-founder of Fillout.com. He previously worked on engineering & product at Retool. Prior to Retool, he started Cheer (backed by Sequoia and acquired by Retool in 2020).

Related posts

Create forms with styleCreate forms with style
Zapier vs. Make vs. Airtable AutomationsZapier vs. Make vs. Airtable Automations
How not to add AI to your productHow not to add AI to your product
How to Use Apple’s New AI to Fill Out FormsHow to Use Apple’s New AI to Fill Out Forms
AI form generation vs manual form creation [timed tests]AI form generation vs manual form creation [timed tests]
Airtable CRM vs Notion: How to Build a Custom CRM DatabaseAirtable CRM vs Notion: How to Build a Custom CRM Database
The Developer’s Case for Building Native IntegrationsThe Developer’s Case for Building Native Integrations
5 UX tips to boost form conversions5 UX tips to boost form conversions