Guide · updated October 2026
How to export your Pipedream data stores before April 30, 2027
Short answer. Pipedream's workflow export does not include data stores, and all Workflows data is deleted on April 30, 2027. Paste the read-only code step below into a Pipedream workflow and it downloads every record of a data store as a .datastore.json file. Drop that file next to your export in MigrateFlows and your n8n workflows come with the data already loaded.
Step by step
- In Pipedream, create a new workflow with an HTTP / Webhook trigger.
- In the trigger settings, set HTTP Response to Return a custom response from your workflow.
- Add a Node.js code step and paste the code below.
- In the step, pick your data store, type its name exactly as it appears in Pipedream → Data Stores, and choose an access key (any password).
- Deploy, then open the trigger URL in your browser adding
?key=and your access key. The file downloads. - Repeat for each data store: change the selection and the name, deploy, open the URL again. When you're done, delete the workflow.
The code
// MigrateFlows data store exporter for Pipedream. Read-only: it never changes or deletes your records.
// 1. Create a workflow with an HTTP trigger and set its HTTP Response to "Return a custom response from your workflow".
// 2. Add a Node.js code step, paste this code, pick your data store, type its name and choose an access key.
// 3. Deploy, then open the trigger URL with ?key=YOUR_ACCESS_KEY in your browser: the file downloads.
// 4. Repeat for each data store (change the selection and the name), then delete the workflow.
export default defineComponent({
props: {
dataStore: { type: "data_store" },
storeName: {
type: "string",
label: "Data store name",
description: "Exactly as it appears in Pipedream → Data Stores",
},
accessKey: {
type: "string",
label: "Access key",
description: "Any password you choose. Open the trigger URL with ?key=<this value>",
},
},
async run({ steps, $ }) {
const query = (steps.trigger && steps.trigger.event && steps.trigger.event.query) || {};
if (query.key !== this.accessKey) {
await $.respond({ status: 403, body: "Wrong or missing ?key=" });
return $.flow.exit("wrong access key");
}
const records = {};
let count = 0;
for await (const [key, value] of this.dataStore) {
records[key] = value;
count++;
}
const file = {
migrateflows: "pipedream-data-store",
version: 1,
name: this.storeName,
exportedAt: new Date().toISOString(),
count,
records,
};
const filename = `${String(this.storeName).replace(/[^\w.-]+/g, "_")}.datastore.json`;
await $.respond({
status: 200,
headers: {
"Content-Type": "application/json",
"Content-Disposition": `attachment; filename="${filename}"`,
},
body: JSON.stringify(file, null, 2),
});
return { name: this.storeName, count };
},
});
Also on GitHub: davobene/migrateflows.
Good to know
- It only reads. It never changes or deletes records. (The export example in Pipedream's docs deletes each key after sending it, so be careful with that one.)
- The access key protects the URL. Without
?key=it answers 403. Delete the workflow when you finish. - Big data stores: if the step times out, raise the workflow's memory and timeout in its Settings (Pipedream suggests 512 MB and 60 seconds as a starting point).
- What's kept: every key and its JSON value. Expiration times (TTL) are not.
How the data lands in n8n
MigrateFlows turns data store steps (both the pre-built actions and this.dataStore in code steps) into n8n workflow static data, and preloads it from your .datastore.json file the first time the workflow runs. Two differences from Pipedream to keep in mind:
- Each n8n workflow keeps its own copy. If several workflows shared one data store, changes in one won't show in the others.
- n8n saves static data only on production runs (an active workflow triggered for real), not on manual test runs.
For data that many workflows share or that grows a lot, move it to a database (Postgres, Supabase, Airtable) and point the workflows there. The .datastore.json file is plain JSON (records maps each key to its value), so you can load it anywhere.
More: how to export your Pipedream workflows · migration guide to n8n.