leave-pipedream · checked
What Pipedream's workflow export leaves out
Pipedream's export page, read 9 October 2026, says the archive describes each workflow's “triggers, steps, code, configured props, and control flow”, and that it does not contain their data or credentials. A value that is, or could be, a credential is replaced with <redacted>. Pipedream calls the export a record and a reference for rebuilding elsewhere, not something another platform imports. So the code comes through and the secrets do not.
| Left out | What the export holds | What to do |
|---|---|---|
| Secret prop values | <redacted> in the file; the prop's name is kept | Create each as a repository secret and pass it in the step's env |
| Connected accounts | Only the account's authProvisionId, which means nothing outside your workspace | Create a token or an app of your own with each provider; the grant was to Pipedream's app |
| Environment variables | Not exported | Copy the names and values from your workspace settings while you can |
| Event history | Not exported | Download what you need before 30 April 2027 |
| Data stores and File Store files | Not exported | Download them before 30 April 2027 and keep them where the new step can read them |
| Code of private multi-file components | Only the component's key | Keep your own copy of the source |
Also worth knowing
- One project at a time, up to 500 workflows or 256 MB. Past the limit,
manifest.jsonsaystruncatedand the rest areskipped_export_limit: move them to another project and export that one. - Workflows never deployed are not exported; the manifest lists them as
skipped_never_deployed. - Only the latest deployed version of each workflow is in the file.
- The manifest's warnings name each step and prop to re-enter or connect again. They are the start of your checklist.
- Pre-built actions come through as a component key and version, not code. Their source is published under a license that excludes commercial use: rewrite each step against the app's own API rather than copying it.
leave-pipedream turns every one of these into a line in MIGRATION.md, with the name of the secret to create for each redacted prop and connected account.
Move a scheduled workflow by hand
For each workflow with a schedule trigger, in a repository of your own on GitHub:
- Copy the trigger's cron line and time zone into a workflow file's
on.schedule. GitHub takes the time zone astimezone, an IANA name, so the run follows the clock change as it did on Pipedream. - Save each code step from the editor to a file. A Node.js step is
export default defineComponent({ async run({ steps, $ }) … }): keep the body ofrun, readsteps.<name>from the step before (pass it in a file), and read secrets fromprocess.env. A Python step'shandler(pd)works the same withpd.stepsandos.environ. - For every connected account and secret prop, create a token with the app itself and store it under Settings → Secrets and variables → Actions; pass it in the step's
env. - Rewrite each pre-built action against the app's own API. Their code is under a license that excludes commercial use: do not copy it.
- Run it once by hand, then turn the Pipedream workflow off and merge: GitHub runs a schedule only from the default branch, so the merge is the switch.
# .github/workflows/nightly-sync.yml
name: Nightly sync
on:
schedule:
- cron: "30 2 * * *" # the trigger's schedule, as Pipedream shows it
timezone: "America/New_York" # the trigger's time zone
workflow_dispatch: # run it by hand to test
permissions:
contents: read
jobs:
run:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/setup-node@v7
with:
node-version: "24"
- run: node steps/fetch.mjs # step 1, copied from the editor
env:
SLACK_TOKEN: ${{ secrets.SLACK_TOKEN }}leave-pipedream does this for a whole export at once, with a runner that keeps Pipedream's steps and $ so the code runs unchanged; until its repository is published, this is the same move by hand.
An hourly watch that your migrated schedules ran, from outside GitHub's scheduler, is not built.
A migrated schedule runs on GitHub's scheduler, which delays and drops runs under load and sends no alert. A watch would check every hour, from outside it, that each migrated workflow ran, and email you when one is late, missed, or green with nothing done. It does not exist yet. What works today: each converted workflow can ping a heartbeat URL you set, such as a free healthchecks.io check, and didrun reads a repo's scheduled runs when you ask.
I would pay for an hourly watch of my migrated schedules
The click is counted, and nothing else is sent: no form, no email, no cookie. There is no price yet and nothing is charged.
Sources
- Pipedream Docs: Export Workflows — read 9 October 2026: the archive goes to the project's File Store; the manifest and workflow file formats; what is not in the export; 500 workflows or 256 MB
- Pipedream Docs: Workflows and String are shutting down on March 31, 2027 — read 9 October 2026: the shutdown date, deletion of all Workflows data by 30 April 2027, signups and subscriptions closed, Connect not affected
Not affiliated with Pipedream. Pipedream is named here only to say what these pages and the tool read; the quotes are from Pipedream's own documentation, read on 9 October 2026.