Go from Typeform to Tally
The job: Branded intake and approval flow (Form, Conditional fields, Uploads, Validation, Webhook, CSV export). Pick where you are today and where you want to land; the move below follows your pick.

Every way to do this job · pick one
Switch app
Already in a plan you pay for
Open source
Build it with an agent
Agent skill
The money
$39/mo today , then $0/mo
Typeform Basic
Modeled from public list prices, with your time at $50 an hour. Show the math
Does it do the job? 6 of 6 covered
- Covered: Form
- Covered: Conditional fields
- Covered: Uploads
- Covered: Validation
- Covered: Webhook
- Covered: CSV export
The work
- Setup
- About 1 h
- Upkeep
- None
- Watch out
- After cancelling, Typeform forms that use paid features stop accepting responses, and the free plan allows 10 responses a month.
Make the move in four steps
Export from Typeform
Form responses, and files uploaded through File Upload questions. Format: CSV or XLSX; uploaded files as a .zip; PDFs by printing with Save as PDF
Export stepsSet up Tally
In Tally, import the Typeform form (free for all Tally users).
Step-by-stepSwitch links and integrations
Swap the form link or embed everywhere it appears (site, emails, bio links).
ChecklistCancel Typeform
Turn off renewal before your renewal date, once the new setup works. Access runs until: The end of the paid period.
How to cancel Typeform
The whole recipe: 12 ways out, best first
What you use
- Form
- Conditional fields
- Uploads
- Validation
- Webhook
- CSV export
Not covered
- Survey research suite
- Unlimited third-party integrations
- Regulated data guarantees
- Visual drag-and-drop designer
Check before switching
- Tally/free plan fails a real requirement
- Sensitive-data handling reviewed
- Response volume bounded
- Cancellation actually possible
Agents: get_recipe("form-intake") on the Stackcut MCP server.
12 ways out, best first
How we got this
| You pay now: Typeform Basic | flat price | $39/mo |
|---|---|---|
| New cost: Google Workspace | already in a plan you pay for | $0/mo |
| Difference each month | $39 − $0 | +$39/mo |
| Over 12 months | +$39 × 12 | +$468 |
| Setup, once | 0.5 h × $50/h | −$25 |
| Year one | +$468 − $25 | +$443 |
- Not counting your time (0.5 h in year one): saves $468 in year one.
Year one = 12 × (what you pay now − the new cost − upkeep) − setup, with your time at $50/hour. Prices are public list prices; hours are Stackcut’s planning estimates. Price it for your team
How we got this
| You pay now: Typeform Basic | flat price | $39/mo |
|---|---|---|
| New cost: Tally (free tier) | free plan | $0/mo |
| Difference each month | $39 − $0 | +$39/mo |
| Over 12 months | +$39 × 12 | +$468 |
| Setup, once | 1 h × $50/h | −$50 |
| Year one | +$468 − $50 | +$418 |
- Not counting your time (1 h in year one): saves $468 in year one.
Year one = 12 × (what you pay now − the new cost − upkeep) − setup, with your time at $50/hour. Prices are public list prices; hours are Stackcut’s planning estimates. Price it for your team
- Free plan covers conditional logic, file uploads (10 MB per file), webhooks and CSV download, with unlimited submissions. tally.so
- One-click Typeform import brings over questions, options, required settings, welcome and thank-you screens. tally.so
- Webhooks can be signed (Tally-Signature header) and are retried for about a day. tally.so
- Free plan keeps Tally branding; custom domains and partial submissions need Pro ($24/mo). tally.so
- Logic jumps don't always map one-to-one; re-check every branch after import. tally.so
- Old responses don't transfer: the importer brings the form, not submissions. tally.so
- Your data moves to another processor (stored in the EU). Update your privacy policy if you list processors. tally.so
Step-by-step: set up, move your data, check, roll back · about 1 h (estimate)
Import the form into Tally for free, run both for a week, then cancel Typeform after exporting responses and files.
Import is one click; most time goes to re-checking logic and reconnecting integrations.
Before you start
- Export responses as CSV or XLSX (Results → Responses → Export) and file uploads as a ZIP ("File uploads only"). help.typeform.com
- List every webhook and integration that reads Typeform responses. Each needs re-pointing. typeform.com
Set up
- In Tally, import the Typeform form (free for all Tally users). tally.so
- Re-check conditional logic and reconnect integrations (Slack, Notion, Google Sheets, Zapier). tally.so
- Turn on webhook signing and verify the Tally-Signature header in your receiver. tally.so
Move your data
- Keep the exported Typeform CSV and ZIP as your archive. Tally won't import historical submissions. tally.so
- Swap the form link or embed everywhere it appears (site, emails, bio links).
Check it worked
- Submit a test for every branch of your logic and check it arrives by webhook and in the CSV.
- Upload a file near your largest real size; the free plan caps files at 10 MB. tally.so
Roll back
- Typeform cancellation can be undone until the paid period ends ("Stop! I changed my mind"). help.typeform.com
Watch out for
- After cancelling, Typeform forms that use paid features stop accepting responses, and the free plan allows 10 responses a month. help.typeform.com
Reviewed 2026-09-29.
How we got this
| You pay now: Typeform Basic | flat price | $39/mo |
|---|---|---|
| New cost: Formbricks (free tier) | free plan | $0/mo |
| Difference each month | $39 − $0 | +$39/mo |
| Over 12 months | +$39 × 12 | +$468 |
| Setup, once | 1 h × $50/h | −$50 |
| Year one | +$468 − $50 | +$418 |
- Not counting your time (1 h in year one): saves $468 in year one.
Year one = 12 × (what you pay now − the new cost − upkeep) − setup, with your time at $50/hour. Prices are public list prices; hours are Stackcut’s planning estimates. Price it for your team
How we got this
| You pay now: Jotform Bronze | flat price | $39/mo |
|---|---|---|
| New cost: Tally (free tier) | free plan | $0/mo |
| Difference each month | $39 − $0 | +$39/mo |
| Over 12 months | +$39 × 12 | +$468 |
| Setup, once | 1 h × $50/h | −$50 |
| Year one | +$468 − $50 | +$418 |
- Not counting your time (1 h in year one): saves $468 in year one.
Year one = 12 × (what you pay now − the new cost − upkeep) − setup, with your time at $50/hour. Prices are public list prices; hours are Stackcut’s planning estimates. Price it for your team
How we got this
| You pay now: Jotform Bronze | flat price | $39/mo |
|---|---|---|
| New cost: Fillout (free tier) | free plan | $0/mo |
| Difference each month | $39 − $0 | +$39/mo |
| Over 12 months | +$39 × 12 | +$468 |
| Setup, once | 1 h × $50/h | −$50 |
| Year one | +$468 − $50 | +$418 |
- Not counting your time (1 h in year one): saves $468 in year one.
Year one = 12 × (what you pay now − the new cost − upkeep) − setup, with your time at $50/hour. Prices are public list prices; hours are Stackcut’s planning estimates. Price it for your team
How we got this
| You pay now: Jotform Bronze | flat price | $39/mo |
|---|---|---|
| New cost: OpnForm (free tier) | free plan | $0/mo |
| Difference each month | $39 − $0 | +$39/mo |
| Over 12 months | +$39 × 12 | +$468 |
| Setup, once | 1 h × $50/h | −$50 |
| Year one | +$468 − $50 | +$418 |
- Not counting your time (1 h in year one): saves $468 in year one.
Year one = 12 × (what you pay now − the new cost − upkeep) − setup, with your time at $50/hour. Prices are public list prices; hours are Stackcut’s planning estimates. Price it for your team
How we got this
| You pay now: Typeform Basic | flat price | $39/mo |
|---|---|---|
| New cost: Fillout (free tier) | free plan | $0/mo |
| Difference each month | $39 − $0 | +$39/mo |
| Over 12 months | +$39 × 12 | +$468 |
| Setup, once | 1 h × $50/h | −$50 |
| Year one | +$468 − $50 | +$418 |
- Not counting your time (1 h in year one): saves $468 in year one.
Year one = 12 × (what you pay now − the new cost − upkeep) − setup, with your time at $50/hour. Prices are public list prices; hours are Stackcut’s planning estimates. Price it for your team
How we got this
| You pay now: Typeform Basic | flat price | $39/mo |
|---|---|---|
| New cost: HeyForm | Basic plan | $18/mo |
| Difference each month | $39 − $18 | +$21/mo |
| Over 12 months | +$21 × 12 | +$252 |
| Setup, once | 1 h × $50/h | −$50 |
| Year one | +$252 − $50 | +$202 |
- Not counting your time (1 h in year one): saves $252 in year one.
Year one = 12 × (what you pay now − the new cost − upkeep) − setup, with your time at $50/hour. Prices are public list prices; hours are Stackcut’s planning estimates. Price it for your team
How we got this
| You pay now: Typeform Basic | flat price | $39/mo |
|---|---|---|
| New cost: Formbricks | a small server (modeled) | $5/mo |
| Your upkeep time | 2 h/mo × $50/h | $100/mo |
| Difference each month | $39 − $5 − $100 | −$66/mo |
| Over 12 months | −$66 × 12 | −$792 |
| Setup, once | 4 h × $50/h | −$200 |
| Year one | −$792 − $200 | −$992 |
- Not counting your time (28 h in year one): saves $408 in year one.
Year one = 12 × (what you pay now − the new cost − upkeep) − setup, with your time at $50/hour. Prices are public list prices; hours are Stackcut’s planning estimates. Price it for your team
How we got this
| You pay now: Jotform Bronze | flat price | $39/mo |
|---|---|---|
| New cost: HeyForm | a small server (modeled) | $5/mo |
| Your upkeep time | 2 h/mo × $50/h | $100/mo |
| Difference each month | $39 − $5 − $100 | −$66/mo |
| Over 12 months | −$66 × 12 | −$792 |
| Setup, once | 4 h × $50/h | −$200 |
| Year one | −$792 − $200 | −$992 |
- Not counting your time (28 h in year one): saves $408 in year one.
Year one = 12 × (what you pay now − the new cost − upkeep) − setup, with your time at $50/hour. Prices are public list prices; hours are Stackcut’s planning estimates. Price it for your team
- Tested by Stackcut: an agent built it from the packet in 26 minutes with 74 tests and no npm dependencies. our test
- Imported a Typeform-format export without loss (252 of 252 cells), and re-running the import added nothing. our test
- Submissions stay in your own database; consent and approval gates are yours to define. our test
Step-by-step: set up, move your data, check, roll back · about 3 h (estimate)
Only if Tally's free plan fails a real requirement. Hand the packet to a coding agent, then have a second agent test it before it takes real data.
The build itself took an agent 26 minutes in our test. The rest is your review, the security fixes, hosting and cutover.
Before you start
- Write down the requirement Tally's free plan fails. If you can't, use Tally. tally.so
- Export Typeform responses (CSV) and file uploads (ZIP) before anything else. help.typeform.com
Set up
- Give your coding agent SPEC.md, AGENTS.md and a one-page brief naming your exact forms and fields.
- Have a second agent (or a person) run it from the outside: forms, logic, uploads, webhook retries, import twice, access, delete, backup and restore. our test
- Fix at least: admin login rate limit, CSRF/Origin check, revocable sessions, file permissions, and real deletion (WAL and backups). our test
Move your data
- Import the Typeform CSV keyed on its # response token so re-runs create no duplicates. our test
- Download file uploads from the export's file URLs or the ZIP export before you cancel. help.typeform.com
Check it worked
- Import twice: row counts match the export and the second run adds 0.
- Kill your webhook receiver for an hour and check deliveries retry and failures show up.
- Restore last night's backup into a new folder and compare exports.
Roll back
- Keep Typeform until the paid period ends; cancellation is reversible until then. help.typeform.com
Watch out for
- Build-packet acceptance tests are generic; write concrete ones (exact size limits, import re-runs) before building. our test
Reviewed 2026-09-29.
How to leave Typeform
Export first
- Responses: Results → Responses → Export (desktop only; large exports arrive by email) (CSV, XLSX) help.typeform.com
- File uploads: Results → Responses → Export → File uploads only (ZIP) help.typeform.com
- Responses via API: GET https://api.typeform.com/forms/{form_id}/responses (paged with before/after; the last ~30 minutes may be missing) (JSON) typeform.com
- Form definitions: Admin → Request ZIP (owners only), or GET https://api.typeform.com/forms/{form_id} (JSON). Uploaded images are not included. help.typeform.com
- Webhooks: Re-point every consumer to the replacement before cancelling (PUT /forms/{form_id}/webhooks/{tag}). typeform.com
What you lose
- Typeform's one-question-at-a-time player and themes
- Payments, multi-language and custom domains on paid plans
- Hosted file storage for uploads
Cancel
- Export responses and file uploads first (see export).
- Organisation icon → Plan & Billing → Cancel my plan.
- Choose Free → Get Free, answer the survey, tick the confirmation box, click Cancel my plan.
- Takes effect
- End of the paid period; reversible until then with "Stop! I changed my mind".
- Refunds
- No refunds for contracts cancelled before the contracted period ends (monthly and annual).
- Notice
- None.
- After you cancel
- Forms and responses stay. Forms using paid features switch to trial mode and stop accepting responses; the Free plan allows 10 responses a month; extra seats are removed.
Tested by Stackcut
Typeform → an intake app built by an AI agent from the Stackcut build packet
Question. If you hand the recipe's build packet (SPEC.md + AGENTS.md) to a coding agent, do you get something you could run instead of Typeform, and what does it miss? Path: Replace with AI: branded intake and approval flow.
Tested on. Stackcut's own intake forms: We need two real forms: "Request a recipe" and "Share your switch story" (testimonials with consent and private proof uploads).
Numbers
- Built by an agent in 26 minutes: 74 tests, 0 npm dependencies
- Independent check: 12 of 12 pass; 1 medium and 6 low security issues found
- Typeform import: 12 of 12 rows, 252 of 252 cells, re-run adds 0
- Tally's free plan covers all six must-haves
Verdict
An agent can build this in under half an hour, and it works. Ship it only after an independent security check, and only if Tally's free plan fails a real requirement. For Stackcut it doesn't fail on features; it fails on keeping testimonial proof (invoices) out of a new processor.
Good fit when
- You need submissions in your own database
- You need an approval gate or consent records before publishing
- You already run a server or can port it to your stack
Not a fit when
- Tally's free plan covers your forms (it covers most)
- You have no always-on server and don't want one
- Nobody will review the code before it takes real data
What we found
- The packet works: one agent session produced a tested, dependency-free app that imported the Typeform export without loss and passed 12 of 12 independent checks.
- The agent's own tests weren't enough. 74 passing tests missed 1 medium and 6 low security issues that an outside check found in about 15 minutes. A build recipe must include an independent review step.
- For most people the build is the wrong path. Tally's free plan covers every Must-have. Building only pays off if you need something Tally doesn't do: data in your own database, a consent-and-approval gate before anything is published, or people deleting their own submissions.
- "Check before building" was pushed onto the builder, who couldn't look outside its folder. Stackcut should answer those checks before handing over the packet.
- File uploads are the migration trap. The agent imported them as links and said they'd die on cancel. A Typeform community thread says export file URLs download without a login, so an importer can fetch them. Either way: get the files before you cancel (also available as "File uploads only" ZIP).
- Hosting is the hidden cost. $0 in software, but you need somewhere to run it. For a Vercel/serverless stack that means a port, not a copy.
What we changed in this recipe
- The build packet now names the cheaper paths that already cover every Must-have (Tally free here) and tells the builder to stop and ask instead of deciding.
- The build path's playbook starts with "write down the requirement Tally's free plan fails; if you can't, use Tally".
- The packet now asks for concrete acceptance tests and adds tests for downloading files, real deletion, and restoring into a fresh location.
- The access test now covers public vs admin for apps without accounts.
- Every build packet now has a security checklist: admin brute-force limit, CSRF/Origin check, revocable sessions, file permissions, size limits, restore path validation.
- Every build packet now requires an outside check before real data, and names where the app runs and what that costs.
- Removed the duplicate Formbricks line under "Start from".
How we tested
- Gave a fresh coding agent only the packet, a one-page brief with our two forms, and a Typeform-format CSV to import. No other Stackcut files.
- The agent chose the stack, wrote tests first, built the app and wrote a report.
- A second, separate agent ran the app from the outside without trusting its tests: 12 black-box checks, a code review for security, and its own webhook receiver.
- Checked the packet's "Check before building" item ourselves: does Tally's free plan already cover the Must-have list?
Compare before you switch
Read the checked comparisons and workload guides for the tools this recipe replaces.
- Jotform vs Formbricks Checked migration details, public switching accounts.
- Jotform vs Tally Checked migration details, public switching accounts.
- Paperform vs Fillout Checked migration details, public switching accounts.
- Paperform vs Formbricks Checked migration details, public switching accounts.
- Paperform vs Tally Checked migration details, public switching accounts.
- Typeform vs Tally Checked comparison evidence, migration details, public switching accounts.
- Typeform alternatives in 2026: what to use instead, and what it really costs Compare the wider set of alternatives and their tradeoffs.
More Forms recipes
All 139 recipes · Savings leaderboard · Every vendor, with prices and cancel steps
