Form submissions are the raw record of how a lead arrived. The contact record tells you who someone is today. The submission tells you what they typed into your client’s GoHighLevel form on a specific date, which answers they picked, which page they were on, and which ad sent them there. For intake forms, applications, consent checkboxes, and paid registrations, that original entry is often the thing a client will eventually ask you to produce.

The short answer to the question in the title: HighLevel gives you a CSV export for form submissions, an emailed export for survey submissions, and an API endpoint for both. It does not give you a restore. If a form is deleted, its submissions go with it, and snapshots will not bring them back because they only copy the form itself.

Where do HighLevel form submissions live?

Inside the sub-account, under Sites, then Forms, then Submissions. Surveys have their own Submissions view under Sites, then Surveys, and you can also open submissions directly from inside the survey builder. Each row is one entry with the contact details, a timestamp, and every answered question.

Some of that data also lands on the contact. Answers mapped to standard fields like name, email, and phone update the contact record, and custom fields mapped on the form write their values onto the contact too. Survey answers that are not mapped to a field show up in a Survey dropdown inside the contact’s information panel.

That split matters for backup. People often assume the contact record is a complete copy of what was submitted. It is a copy of whatever the form was mapped to write at that moment, overwritten by the next form, the next import, or the next manual edit. HighLevel tracks every submission independently, even when the same contact fills in the same survey several times, which makes the submission list the only place the full history actually exists.

What happens when you delete a HighLevel form?

The submissions are deleted along with it. HighLevel’s help documentation does not describe a trash folder, a recently deleted tab, or a restore path for forms, and the clearest statement on the subject comes from HighLevel’s own ideas board. A request there, later merged by HighLevel staff into a larger thread asking for an on and off toggle for forms, puts it directly: when you delete a form, it deletes the submission data.

The reason people delete forms in the first place is usually innocent. A registration period ends, a promotion expires, or someone is cleaning up a cluttered account, and deleting was historically the only way to stop a public form link from accepting entries. That has changed. HighLevel now has a Schedule visibility setting on forms, surveys, and quizzes that lets you set a closing date and show late visitors a custom page or redirect them elsewhere. The documentation is explicit that closing a form this way stops new responses and does not delete existing submissions. If anyone on your team is deleting forms to “turn them off,” this is the habit to change first.

There is also a quieter way to lose submission data. As we covered in how to back up custom fields, deleting a custom field from Settings removes it from every form, survey, and contact where it was used, permanently. A form can survive intact while one of its most important questions disappears underneath it.

How do you export form and survey submissions?

For forms, open Sites, then Forms, then Submissions, and click Export to download every form submission as a CSV. You can also tick specific entries and download just those. The revamped submissions table lets you choose and reorder which columns you see, and an individual submission can be downloaded as a PDF from its expanded view, which is useful when a client needs a single signed intake for their records.

For surveys, the Export button sits at the top right of the survey Submissions view. The file is not downloaded directly. HighLevel emails you a link to it instead, so check the inbox of whoever clicked the button.

Both exports share the limits you would expect from a manual CSV. They run one sub-account at a time, so an agency with twenty clients is looking at twenty separate exports for forms and twenty more for surveys. Nothing is scheduled, so the file is only as current as the last time somebody remembered. And a CSV is a flat copy. It cannot be loaded back into HighLevel as submissions, so it serves as a record you can read rather than something you can restore from. The same trade off applies to the contact export, and for the same reasons.

Do snapshots back up form submissions?

No. Snapshots do copy Forms, Surveys, and Quizzes, which HighLevel lists under the Marketing and Content category of snapshot assets, so a loaded snapshot rebuilds the questions, layout, styling, and logic. What it does not carry is anything anyone ever submitted. HighLevel’s snapshot overview describes snapshots as a way to transfer configuration and reusable assets, “not live account activity or customer records,” and submissions sit firmly on the records side of that line.

This is the same boundary we explained in snapshots versus backup. For forms it is easy to miss, because the thing you built (the form) comes back perfectly, and it is only when you open the Submissions tab that you notice it is empty.

Here is how the native options compare:

OptionWhat it protectsWhat it misses
Form submissions CSV exportEvery form entry as of the moment you exportedAnything submitted afterward, and it cannot be restored into HighLevel
Survey submissions exportEvery survey entry, sent as an emailed download linkSame limits as the form export, plus a link you have to go and collect
Single submission PDFOne entry, formatted for sharingEverything else
SnapshotThe form, survey, or quiz itselfEvery submission
Schedule visibilityStops new entries without deleting old onesNot a backup, but it prevents the most common way submissions get lost
Contact recordMapped fields, as of the latest updateEarlier submissions, unmapped answers, and anything overwritten since

Can you back up submissions through the API?

Yes, and the endpoint is simple to work with. GET /forms/submissions returns submissions for a location, with optional filters for a specific form, a search on contact ID, name, email, or phone, and a start and end date. Each record includes the submission ID, contact ID, form ID, timestamp, and an others object holding the answers along with page, source, and attribution data. Pages hold up to 100 records. Surveys have a matching submissions endpoint.

One detail catches people out. If you do not pass startAt, the endpoint defaults to the same date last month, so a naive script quietly backs up about thirty days of entries and misses everything older. Set the start date explicitly on the first full pull, then page forward from your last successful run.

The standard rate limits apply: 100 requests per 10 seconds and 200,000 per day per app per location. At 100 records per page that is plenty for most sub-accounts. As with any DIY backup job, the extraction is the easy half. You also need to store the output somewhere outside HighLevel, notice when a run fails, and handle token refreshes, and you still end up with a read-only archive, since there is no documented endpoint for writing a historical submission back into a form.

A lighter option some agencies use is a workflow: a Form Submitted or Survey Submitted trigger feeding HighLevel’s Google Sheets workflow action, which appends each new entry to a spreadsheet as it arrives. It only captures submissions from the day you turn it on, and it lives inside the same sub-account it is protecting, but as a running log it costs nothing and takes a few minutes to set up.

How should agencies protect form submissions?

Start with the free fixes. Stop deleting forms to close them and use Schedule visibility instead. Before anyone deletes a custom field, check which forms use it. Export form and survey submissions on a schedule you will actually keep, and store the files outside HighLevel, ideally in the client’s own shared folder so the record exists even if the sub-account does not.

For the automated version, we built GHLArmor, and since it is our product you should weigh this recommendation accordingly. GHLArmor is the first backup approved by the HighLevel Marketplace. It backs up contacts and their custom field values, opportunities, notes, and conversations across every sub-account, with version history, and stores the copies outside HighLevel. That protects the data your forms write onto contacts even if a field or the whole sub-account is deleted. Pair it with a regular submissions export if you need the original entries themselves.

Whichever route you take, the principle is the same one that runs through every post in this series. HighLevel is good at protecting what you built and much less good at protecting what your clients’ customers gave you. Form submissions fall squarely in the second group.

Frequently asked questions

What happens to submissions when you delete a form in HighLevel? They go with it. HighLevel’s documentation does not describe a trash folder or restore option for forms, and a request on HighLevel’s own ideas board, since merged into a larger thread by HighLevel staff, states plainly that deleting a form deletes its submission data. If you want a form to stop taking entries, use Schedule visibility to close it instead of deleting it.

How do you export form submissions in HighLevel? Go to Sites, then Forms, then Submissions. The Export button downloads all form submissions as a CSV, and you can also tick individual entries to download just those. Survey submissions work the same way from Sites, then Surveys, then Submissions, except the export arrives as a download link sent to your email.

Do HighLevel snapshots include form submissions? No. Snapshots copy Forms, Surveys, and Quizzes as configuration, so the questions, layout, and logic come across. HighLevel describes snapshots as a tool for configuration rather than live account activity or customer records, and the submissions are records. Loading a snapshot gives you an empty form.

Can you pull form submissions through the HighLevel API? Yes. GET /forms/submissions returns submissions for a location, filterable by form and date, at up to 100 records per page. Surveys have a matching endpoint. Watch the date defaults: if you do not pass a start date, the endpoint only returns roughly the last month of entries.

How do you close a HighLevel form without losing its submissions? Open the form, go to the Settings tab, and turn on Schedule visibility. Set a closing date and choose what late visitors see, either a custom page or a redirect. HighLevel’s documentation confirms that closing a form this way stops new responses without deleting existing submissions.