A beautiful form and nowhere for the answers to go

Teams whose good form has become a queue: applications to sift, briefs to assign, enquiries to chase, all currently handled by scrolling a results page and copying into a spreadsheet.

  • Each form's responses become one table, with a column per question
  • Answers arrive typed rather than as a wall of text
  • Add a status and an owner so the responses become a queue you can work
  • Responses are read newest first using a cursor, so importing a live form is safe
  • Import only — nothing is ever written back to your form
  • EU-hosted Typeform accounts are supported, but the region has to be set on the connection
Start free 30 days free · no credit card
WHAT IT DOES

Exactly what connecting Typeform gives you

Brings data in

Pull Typeform into RowFold tables you own — filter them, report on them, link them to everything else in the workspace.

And it stays current: importing again updates the same tables, adding new records and updating changed ones, so links from your other tables hold. Keep in sync does that for you hourly or daily.

What it doesn't do: There are no automation steps that write back to Typeform. It has no say in what a booking page offers. An import only reads: nothing is written back to Typeform, a record deleted there stays here, and a sync runs hourly at most rather than the moment something changes. Anything else you have read about Typeform and RowFold, this page is the authority: it is generated from the connector's own code.

HOW TO DO IT

The jobs people connect Typeform for

I want my form's responses as a table I can work through

The import turns each response into a row with a column per question. The part worth planning is what you add afterwards, because a status and an owner are what turn a list of answers into a queue that cannot lose anybody.

  1. Connect Typeform under Manage workspace, then Integrations Sign in with the account that owns the forms. Consent asks for webhook permission up front even though nothing uses it yet, so that adding live triggers later does not send every connected customer back through consent.
  2. If your account is EU-hosted, set the region on the connection Typeform keeps EU data on a separate API host and nothing in the sign-in reveals which region an account lives in. An EU account left on the default finds no forms at all, which reads as an empty account.
  3. Press Import data and pick the form Forms are listed by title. Each becomes its own table, so a form you have iterated heavily is still one table rather than one per version.
  4. Add a status field and an owner field to the new table This is the step that changes what the data is for. Without them you have a prettier copy of the results page; with them you have a queue where nothing sits unhandled unnoticed.
  5. Link responses to whoever they are about A relation to your clients or projects table means each submission arrives with its own history attached rather than as an anonymous answer.

You'll know it worked: Compare the row count against the response count Typeform shows for that form. They should match. Responses are read newest first with a cursor, so a form that receives a submission while the import runs still arrives complete.

I want the responses that need a human dealt with first

An import brings in every response at once, so the job is sorting the handful that matter from the rest. A filtered view finds them, and giving each an owner makes sure somebody answers.

  1. Decide which responses genuinely need attention A budget above a threshold, a particular service, an urgent date. Treating every response as urgent is the same as treating none of them that way.
  2. Save a view filtered to those responses where Owner is empty The view is the list of responses that need a person and don't have one yet. It empties as the team takes them.
  3. Give each response an owner from the view Once assigned, a response leaves the view and appears in its owner's My Work, so nobody has to remember it.
  4. Keep the form in sync, or collect on a RowFold form for instant alerts Keep in sync brings new responses into the same table hourly, where an automation can assign or alert on each one as it lands. For intake that can't wait an hour, a RowFold form makes every response a record the moment it is sent.

You'll know it worked: Filter Typeform's own results the same way and compare the counts. Then take one response from the view and check it disappears from the view and shows in your My Work.

WHAT IT FIXES

The three things that actually go wrong

Typeform's results are built for reading, not for working. Nothing there marks one as handled, assigns it to somebody, or shows only the ones nobody has dealt with, so the real queue usually ends up in an exported spreadsheet.

Responses become rows. Add a status and an owner, filter to what is outstanding, and the queue is the table rather than a copy of it.

The response is disconnected from everything it is about. A brief arrives from a client who already exists somewhere, and nothing joins the two, so every submission starts by working out who this is.

Link responses to your client, deal or project records, and each one arrives attached to its own history.

Reporting means exporting. Every question about volumes, sources or trends is answered by downloading a CSV and building the same pivot table again, and the answer is stale the day it is made.

The report reads the table directly and is current whenever it is opened, with its filters written down where somebody else can read them.

QUESTIONS

Before you start

Does it notify me the instant somebody submits?

Not the instant. Keep in sync re-reads the form hourly, and each new response becomes a record in the same table, so an automation watching that table fires on the next sync rather than within seconds. Typeform can push a webhook on every submission and the consent screen already asks for the permission that would need, so the day live triggers are built nobody has to reconnect. Until then, a RowFold form is the way to act on responses the moment they arrive.

My EU account shows no forms. Why?

Typeform hosts EU accounts on a separate API address, and nothing in the sign-in flow reveals which region an account belongs to, so the connection defaults to the main one and finds nothing. That is why the region is a setting on the connection rather than a guess. An empty form list on an account you know has forms is almost always this.

What happens if I import the same form twice?

The first table is updated. Responses are matched on Typeform's own response ID, so a second import adds the ones submitted since and leaves the rest where they are, along with the statuses and owners your team added, because those are columns the import never writes. Within one import, responses are read newest first with a cursor, so a form that receives a submission while the import runs still comes across whole, without gaps or duplicates.

Can it change or delete responses in Typeform?

No. The connection reads and never writes, so nothing you do in RowFold alters a form or its responses, and no automation can. Your form remains the record of what people actually submitted, which is the right way round: the working copy is the one you should be adding statuses and owners to.

What happens when I change the form's questions?

Importing again updates the same table. A question you add arrives as a new column, empty on responses collected before it existed, which is accurate rather than a fault. Questions are matched on Typeform's ID rather than their wording, so a reworded question keeps its column and a deleted one keeps the answers already given. The import never renames a column, so rename one here yourself if its old wording now misleads.

Describe yours and watch it build

There is no template to wait for. Type a sentence about what you run and RowFold assembles the tables, links, views and dashboard around it — then you change whatever does not fit.

Start free Free for 30 days. Then $29/month per editor, with unlimited free read-only viewers.