Pipelines are the revenue record of a GoHighLevel sub-account. Contacts tell you who exists. Opportunities tell you what every one of them is worth, what stage the deal is in, who owns it, and what the pipeline is supposed to produce this quarter. When an agency loses contacts, marketing stops. When it loses pipelines, sales stops, and so does the reporting the client sees.

Here is the direct answer for anyone searching mid-incident: opportunities get more native protection than most HighLevel objects. There is a real CSV export, a 60-day restore window for deleted opportunities and deleted pipelines, and audit logs that show who deleted what. But each protection has a sharp edge. The export is flat data with no structure. Restores fail silently for opportunities whose contact was also deleted. And a pipeline deletion takes every opportunity inside it in a single confirmation dialog, which makes one admin’s cleanup afternoon the biggest risk to your sales data.

The rest of this post walks each option, where it ends, and what to do about the gap.

Can you export HighLevel opportunities?

Yes, and it is easy to miss because it hides in a menu. Go to Opportunities in the left sidebar, click the kebab menu (the three dots) in the top right, and select Export Opportunities. HighLevel processes the file and downloads it to your browser’s default folder. There is a matching import: CSV files under 30 MB can create opportunities in bulk, and including the Opportunity ID column updates existing records instead of creating duplicates.

That puts opportunities ahead of workflows and funnels, which have no export at all. It does not make the CSV a backup, for the same reasons a contact export is not one. The file is frozen at the moment you click the button, so a Tuesday export knows nothing about the deals your team moved on Wednesday. It captures records, not structure: your pipeline names, stage order, and stage settings are not something you can re-import from it, so a restore into a fresh account means rebuilding pipelines by hand first, then mapping the import to them. And the export is only as recent as the last person who remembered to run it, which in most agencies means it is a quarter old and sitting in someone’s downloads folder.

What happens when opportunities get deleted?

Deleting an opportunity removes it from the active list, but HighLevel retains the data for up to 60 days, and there are three ways back.

The recommended route is the Bulk Actions page, where a bulk delete shows up as a job you can reverse: click the ellipsis next to the delete action and select Restore. The second route is Audit Logs, under Settings. Filter the Action to Deleted and the Module to Opportunity and you get every opportunity deleted in the last 60 days, who deleted it, and when, with a Restore option on each entry that reinstates the opportunity to its original pipeline and stage. The third is the Restore Opportunities option in the same three-dot menu as the export, which lists recently deleted items for quick recovery.

For everyday mistakes this is a good system, better than what contacts had for years. The edge to know about before you need it: opportunities linked to deleted contacts cannot be restored. If someone cleans up the contact list and the pipeline in the same purge, the contact side has its own 60-day restore, but order matters and the opportunity restore will refuse until the contact exists again. Past 60 days, both are simply gone.

What happens when a whole pipeline is deleted?

This is the failure mode that turns a bad afternoon into a bad month. Deleting a pipeline is a single trash-icon click and one confirmation, and it permanently deletes the pipeline, all of its stages, and every opportunity inside. Only agency admins and account admins have the permission, which limits who can cause the damage but describes exactly the people doing account cleanups.

Recovery exists, with conditions. An admin can find the deleted pipeline in Audit Logs and restore it within 60 days, which brings back the pipeline, its stages, and its opportunities together. What you cannot do is restore selectively: it is the whole pipeline or nothing, and you cannot pull one opportunity out of a deleted pipeline on its own. After 60 days, HighLevel is explicit that the data is no longer recoverable from the system. HighLevel does keep roughly 7 days of infrastructure-level database backups, but those exist for the platform’s own disaster recovery, and there is no process for requesting your pipeline back from them.

Here is how the native options line up:

Native optionProtects againstWindowWhat it misses
CSV exportTotal loss of recordsPoint in time, goes stalePipeline and stage structure, everything after the export
Opportunity restoreAccidental deletion60 daysOpportunities whose contact was also deleted
Pipeline restoreDeleted pipeline60 daysSelective recovery, it is all or nothing
SnapshotRebuilding structurePoint in time, goes staleEvery opportunity record

Notice that every row is either incomplete or on a clock. That is the pattern with HighLevel’s native protections generally: good guardrails for quick mistakes, nothing designed for the slow-motion failures.

Do snapshots back up pipelines?

Half of them, and it is the cheaper half. Snapshots capture pipeline and stage structure, so loading one into a fresh sub-account rebuilds your empty pipelines with the right names and stages. That is genuinely useful for standing up new clients.

What snapshots do not carry is any opportunity record. Snapshots exclude contacts, conversations, and opportunities by design, because they are a templating tool, not a backup. The framework travels, the deals do not. An agency that relies on snapshots for pipeline protection would recover its stage names and lose every dollar figure that was moving through them.

Can you back up opportunities through the API?

Yes, and this makes opportunities unusual. Where the workflow API cannot read a workflow’s contents, API v2 gives opportunities real coverage: you can search and read opportunities, create and update them, and list pipelines with their stages. A scheduled job can pull every opportunity in a location on a cadence, within the API limits of 100 requests per 10 seconds and 200,000 requests per day per app per location.

So a DIY backup pipeline genuinely can cover opportunities, which is more than it can say for workflows or funnels. The honest caveats are the ones that come with any DIY route: someone has to build it, monitor it, and keep it running when HighLevel changes an endpoint, and pulling data out is the easy half. The night you need it, what you actually want is restore, which means mapping stored records back onto pipelines and stages that may themselves have been deleted, in the right order, without creating duplicates. That is a project, not a script.

How do you actually back up HighLevel pipelines?

The manual version: run the opportunity export on a schedule and store the files somewhere outside HighLevel, weekly for active accounts. Keep a written record of each pipeline’s structure, names, stage order, and stage settings, because the CSV will not rebuild those. And treat pipeline deletion like production infrastructure changes: agree that nobody removes a pipeline without a fresh export taken first, since the restore window is generous right up until the day it is not. This works if someone owns it forever, which is the usual weakness of manual anything.

The automated version is why we built GHLArmor, and since it is our product, weigh the recommendation accordingly. GHLArmor is the first backup approved by the HighLevel Marketplace, and it captures opportunities and pipelines continuously alongside contacts, conversations, workflows, and custom fields, with the copies stored outside HighLevel entirely. The design goal is the scenario this post keeps circling: restores that work past the 60-day window, survive a deleted contact or a deleted sub-account, and do not depend on which admin clicked what. We compared the approaches, ours included, in our roundup of HighLevel backup tools.

Either way, use the native features too. The 60-day restore and the audit trail are real safety nets and they cost nothing. Just be clear about the boundary: they protect you from mistakes inside a healthy account, and it is everything outside that boundary that needs the backup.

Frequently asked questions

Can I export HighLevel opportunities to a CSV file? Yes. Open Opportunities from the left sidebar, click the three-dot menu in the top right, and select Export Opportunities. The file is processed and downloaded to your browser’s default folder. It is a point-in-time copy of your opportunity records, so it goes stale the moment your pipeline moves.

How long do I have to restore a deleted HighLevel opportunity? 60 days. Within that window you can restore from the Bulk Actions page, from Audit Logs filtered to deleted opportunities, or from the Restore Opportunities option in the three-dot menu on the Opportunities page. After 60 days the data is no longer recoverable. One catch: an opportunity whose linked contact was also deleted cannot be restored.

What happens to opportunities when a HighLevel pipeline is deleted? They are deleted along with it. Removing a pipeline deletes the pipeline, its stages, and every opportunity inside in one confirmation. Agency admins and account admins can restore the deleted pipeline from Audit Logs for 60 days, which brings back its stages and opportunities, but only as a whole. You cannot pick out a single opportunity from a deleted pipeline.

Do HighLevel snapshots back up pipelines and opportunities? Only half of them. Snapshots carry pipeline and stage structure, so they can rebuild the empty framework in another account. They carry no opportunity records at all. Every deal, value, stage position, and owner assignment is left behind, the same way snapshots leave behind contacts and conversations.

Can I back up HighLevel opportunities through the API? Yes, and this is unusual among HighLevel objects. API v2 can search, read, create, and update opportunities and list pipelines, so a scheduled job can pull your records on a cadence, subject to the limits of 100 requests per 10 seconds and 200,000 per day per app per location. Restoring from that data is the part you have to build yourself.