Compare completion rates across all your Fillout forms

By General Input

See every Fillout form ranked by completion rate, find the exact question people quit on, and get plain English fixes you can ship today.

Integrations

  • Fillout
  • Slack Bot

Type

App

Categories

  • Marketing
  • Operations

Build me an app for seeing which of my Fillout forms are actually converting. Fillout's own analytics only covers one form at a time with no way to compare forms, so the reason to open this app is the cross form view plus a question level drop off breakdown underneath it.

Overview page. Use Fillout List Forms to get every form in the account. For each form, pull two sets of submissions with List Form Submissions: the default finished responses, and the drafts by requesting the in_progress status. Show a sortable table with one row per form: form name, total starts (finished plus in progress), completed submissions, completion rate calculated as finished divided by starts, and a trend indicator comparing the completion rate over the last 30 days against the previous 30 days using submission timestamps. Let me sort by any column and filter to a date range, and highlight forms whose completion rate fell versus the previous period. Page through the submission fetches (List Form Submissions takes a limit of up to 150 with an offset) and cache the computed metrics in the handler so the page does not refetch everything on every interaction.

Form drop off page. Clicking a row opens a detail page for that form. Use Get Form Metadata to get the questions in their real order, then walk both submission sets question by question. For each question show how many completed responses left it blank, how many in progress drafts have no answer for it, and how many drafts stopped there, meaning that question is the last one with an answer before the draft runs out. Render it as a funnel from the first question to the last so the single biggest drop is obvious at a glance, and call out the worst question in a summary line at the top of the page.

Diagnose this form. Put a "Diagnose this form" button on the form page that kicks off a background agent. The agent compares the abandoned drafts against the completed submissions for that form, reads the question wording, types, and ordering from Get Form Metadata, and writes a plain English diagnosis: which question is losing people, the likely reason (wording, ordering, length, question type, asking for something sensitive too early), and specific suggested rewrites and reorderings. It saves the result into a Zite table using Create Record, with fields for form id, form name, run date, a one line headline, the full diagnosis, and the list of suggestions. If that table does not exist yet, create it once with Create Table in a Zite database the user picks, discovered with List Databases.

History panel. On each form page, show a history panel of past diagnoses for that form, read with List Records filtered to the form id and sorted newest first. Each entry is collapsible: headline collapsed, full diagnosis and suggestions expanded. The point is that recommendations stack up over time, so I can see what was suggested before and whether the completion rate moved after I acted on it.

Share. A share button on the overview page and on each form page posts the current snapshot to a Slack channel using the Slack Bot Send a Message action, with the channel picked from a dropdown populated by List Channels. The overview snapshot is the ranked list of forms with completion rates and trend. The form snapshot is the worst drop off question plus the headline from the latest diagnosis.

Important constraint: this app never contacts respondents. It does not email or message anyone who abandoned a form. Draft data is read only in aggregate to diagnose the design of the form, and everything the app writes is a recommendation to the form owner about the form itself, never about chasing individual people.

Edge cases to handle: a form with very few starts should show raw counts instead of a misleading percentage; a form with zero submissions should still appear in the list with an empty state; and respect Fillout's rate limits by batching the per form submission fetches rather than firing them all at once.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them