How to export your Pipedream workflows before they are deleted
Updated October 13, 2026
Open the project in Pipedream, select Settings, click Export Workflows, and download project_export-<project_id>.zip from the project's File Store. Repeat for every project before Pipedream deletes all Workflows data on April 30, 2027 (workflows stop running on March 31, 2027). If your plan doesn't include File Stores, use GitHub Sync or the REST API instead.
This guide covers the official export, what it leaves out, the plan restriction that may block Free and Basic workspaces, and the two alternatives.
Option 1: the official Export Workflows tool
Pipedream added an export tool as part of the shutdown announcement. It works one project at a time:
- Open the project in the Pipedream dashboard and select Settings in the left navigation.
- Click Export Workflows at the bottom of the settings panel. Pipedream builds the archive in the background.
- When it finishes, select File Store in the project's left navigation and download
project_export-<project_id>.zip.
Each project can have only one export at a time. To export again after changing a workflow, delete the existing ZIP from the File Store and click Export Workflows again.
What's in the ZIP
The archive keeps your project's folder structure:
project_export-proj_abc123.zip
├── manifest.json
├── sync-leads-to-sheets-p_abc123.json
└── Marketing/
└── weekly-digest-p_def456.json
manifest.json (schema project-export/2026.01) lists every workflow in the project, including the ones that were not exported, so nothing disappears without a record. Each entry has a hashid, name, path, status and a warnings list. A typical warning reads: "step send_message: secret prop api_key was omitted from the export and must be re-entered after import."
| Status | Meaning |
|---|---|
exported |
The workflow file is in the archive at path. |
skipped_never_deployed |
The workflow was never deployed, so there was nothing to export. |
skipped_export_limit |
The export reached its limit before this workflow. |
Each workflow file (schema workflow.json/2026.01) holds the latest deployed version:
name,description,inactiveandsettings.triggers, each with a type (source,http,timer,emailorform). HTTP, schedule and form settings are exported in full. Event sources include their configured props.stepsin order, with each step's name, type, code (for code steps) or component key and version (for actions), and configured props.deployments, which hold the steps inside if/else and switch branches.
Undeployed edits are not included. If you changed a workflow in the builder without deploying, deploy it before exporting.
What the export redacts
Pipedream replaces any value that is, or might be, a credential:
| Prop type | What the export contains |
|---|---|
Secret props, including secret: true props in code steps |
<redacted> |
| App props (connected accounts) | Only the authProvisionId. Tokens are removed. |
| HTTP request props | The request configuration. The auth object is <redacted>. |
| Props with no declaration | <redacted>, because Pipedream can't tell if they hold a credential |
System props such as $.service.db and $.interface.http |
<redacted> |
| All other props | The value as configured |
Prop names always stay, so you can see what each step needs.
Limits
One export includes at most 500 workflows or 256 MB of workflow content, whichever comes first. If a project goes over, truncated is true in manifest.json and the rest get skipped_export_limit. Pipedream's fix is to move some workflows to another project and export each project.
The File Store catch on Free and Basic plans
The export docs say: "Export writes the archive to the project's File Store, so your plan must include File Stores." Pipedream's File Stores FAQ says: "At this time File Stores are only available to Advanced plan and above subscribed workspaces."
Read together, that means workspaces on Free or Basic may not be able to use the official export. Upgrading is not an option either, because Pipedream stopped accepting new Workflows subscriptions on September 30, 2026. If the button doesn't work for you, use one of the two alternatives below.
If you are on Advanced or higher, export before you downgrade or cancel. Pipedream's pricing docs say a downgrade disables features that are outside the new plan.
Option 2: GitHub Sync
When GitHub Sync is enabled on a project, Pipedream serializes each workflow to YAML and commits it to a GitHub repository. If your projects already use it, the repository is already an export.
A workflow in a synced repo looks like this (from Pipedream's public example repository):
schema: workflow/2022.04
name: Daily Schedule Text
steps:
- namespace: calculate_end_of_day
uses: "./calculate_end_of_day/entry.js"
props:
timestamp: "{{steps.trigger.event.timezone_utc.iso8601.timestamp}}"
- namespace: send_sms
uses: twilio-send-sms@0.1.3
props:
twilio:
authProvisionId: apn_86hM9K9
body: "{{steps.generate_text.$return_value}}"
Code steps live in separate entry.js files next to workflow.yaml. Things to know:
- Pipedream has not published a definition of this YAML format. Its FAQ answer is "Not yet, please stay tuned!"
- The docs don't state which plans include GitHub Sync. They describe enabling it when you create a project, and moving existing workflows into a project.
- Legacy (v1) workflows are not supported in projects.
- Merge to
productionbefore you rely on the repo. Branches can hold changes that were never deployed.
Option 3: the Pipedream REST API
Pipedream documents an endpoint that returns a workflow's definition, Get a Workflow's Details:
curl "https://api.pipedream.com/v1/workflows/p_abc123?org_id=o_abc123" \
-H "Authorization: Bearer $PIPEDREAM_API_KEY"
The response includes the workflow's triggers and steps, with each step's namespace, runtime, component configuration and props. You need:
- An API key from your Pipedream account settings. Keep it on your own machine.
- The workspace ID (
o_...) for theorg_idparameter. - The workflow IDs (
p_...). They appear in each workflow's URL.
The awkward part is the list of IDs. There is no endpoint to list all workflows: the feature request PipedreamHQ/pipedream#16720 is still open. The open-source pipedream-toolkit project works around this by reading IDs from the Export tree as text option in the Pipedream UI, then calling the endpoint for each one.
A minimal loop, assuming one workflow ID per line in workflow_ids.txt:
ORG_ID=o_abc123
mkdir -p pd-workflows
while read -r id; do
curl -s "https://api.pipedream.com/v1/workflows/${id}?org_id=${ORG_ID}" \
-H "Authorization: Bearer ${PIPEDREAM_API_KEY}" > "pd-workflows/${id}.json"
done < workflow_ids.txt
The API reference doesn't mention plan restrictions, but test it on one workflow before you script the rest.
Pull everything with the Workflow Exit CLI
The Workflow Exit CLI does this pull for you. It runs on your machine (Node.js 18 or newer), so your API key is only ever sent to api.pipedream.com:
# PowerShell: $env:PIPEDREAM_API_KEY="..."
export PIPEDREAM_API_KEY=...
node workflow-exit.mjs pull --org o_abc123
node workflow-exit.mjs report pipedream-workflows
- Without
--idor--ids, it asks Pipedream for the workspace's workflow list. If that isn't available to your key, pass the IDs:--ids tree.txtaccepts any text containingp_...IDs, such as the Export tree as text file. - Steps inside if/else, switch and other branch blocks live in separate pipelines. The CLI fetches them too and saves them with their workflow.
reportwritesREPORT.mdlocally. You can also upload thepipedream-workflowsfolder on the migration report page; it is analyzed in your browser.
The file's SHA-256 checksum is published at /cli/workflow-exit.mjs.sha256.
Which export method to use
| Method | Who can use it | Format | Main gaps |
|---|---|---|---|
| Export Workflows (ZIP) | Plans that include File Stores (Advanced and above, per Pipedream's FAQ) | manifest.json plus one JSON per workflow |
Secrets, accounts, env vars, data |
| GitHub Sync | Projects with GitHub Sync enabled | workflow.yaml plus entry.js per code step |
No published schema, only synced projects |
| REST API | Anyone with an API key and workflow IDs | JSON per workflow | No list endpoint, one request per workflow |
None of the three exports secret values, OAuth tokens, environment variables, data store records, File Store files or event history.
Save what no export includes
Do this while your workflows are still running, before March 31, 2027:
- Environment variables: list them from workspace Settings, Environment Variables, and from each project's Variables page. Pipedream's environment variable docs say a secret value "is never exposed in the UI," so recover those values from where they came from: the provider's dashboard or your password manager.
- Secret props: use the
warningsinmanifest.jsonas a checklist of what to re-enter later. - Data stores: view records in the Data Stores dashboard, or adapt the sample code step in Pipedream's data stores docs, which posts records to an external service in chunks. Run it first with key deletion turned off.
- File Store files: download them from each project's File Store.
- Sample events: copy a few real payloads per workflow from the event inspector. You'll want them for testing, and event history is not exported.
- Private components: keep your own copy of the source. Only the component key is exported.
After you export
Drop the ZIP, a GitHub Sync repo, or the REST API JSON files on the free migration report. The report runs entirely in your browser and lists, per workflow, the triggers and their n8n equivalents, actions with and without automatic mapping, npm packages and whether n8n Cloud can load them, redacted secrets, environment variables, connected accounts to recreate, and data to save before April 30, 2027.
Then follow the Pipedream to n8n migration guide, or read the shutdown timeline if you are still planning. When you are ready to convert, pricing starts at $49 for up to 25 workflows, and the first workflow is free. Run the report first: it costs nothing and shows exactly what your export contains.
Frequently asked questions
Where is the Export Workflows button in Pipedream?+
Open the project in the Pipedream dashboard, select Settings in the left navigation, and click Export Workflows at the bottom of the settings panel. When it finishes, download project_export-<project_id>.zip from the project's File Store.
Can I export Pipedream workflows on the Free or Basic plan?+
Possibly not with the official tool. The export is written to the project's File Store, and Pipedream's File Stores FAQ says File Stores are only available on Advanced plans and above. Free and Basic workspaces can try GitHub Sync or the REST API endpoint GET /v1/workflows/{id} instead.
Does the Pipedream export include my code?+
Yes. Each workflow file contains the latest deployed version, including the code of code steps, the component key and version of each action, configured props, triggers and the steps inside if/else and switch branches. Code for private multi-file components is not included.
Why is a workflow missing from my Pipedream export?+
Check its status in manifest.json. skipped_never_deployed means the workflow was never deployed, so there was nothing to export. skipped_export_limit means the export hit its limit of 500 workflows or 256 MB; move some workflows to another project and export that project too.
How do I export Pipedream data stores?+
Data stores are not part of the workflow export. You can view and edit records in the Pipedream Data Stores dashboard, or run a code step that iterates over the data store and posts the records to an external service, as shown in Pipedream's data stores documentation.
How do I export a Pipedream project again after changing a workflow?+
Each project can hold one export at a time. Delete the existing project_export-<project_id>.zip from the File Store, then click Export Workflows again.