Back up every package and iFlow of SAP Integration Suite in one click.
iFlowDownload copies SAP Integration Suite (Cloud Integration) content to a folder on your PC: every integration package, or exactly the versions that are deployed. For backups, audits and migrations — without exporting packages by hand, one at a time.
Website, in 13 languages: https://iflowdownload.bais.info
iFlowDownload.exe — Windows 10 and 11, a single file, nothing to install.
The executable is not code-signed yet, so the first time SmartScreen warns about it: choose More info → Run anyway, or build it yourself (below). Every release publishes the SHA-256 of the file next to it.
On macOS and Linux, or if you prefer Python:
pip install git+https://github.com/bdbais/iflowdownload
iflowdownload-gui # the window
iflowdownload --help # the command line- The whole tenant at once. Every package as the same ZIP you would export
by hand, in a dated folder, with a
report.csvof what was saved. - Draft-safe. A package holding an artifact in draft cannot be exported as a whole (the API answers HTTP 500). iFlowDownload then saves its iFlows, value mappings, script collections and message mappings one by one.
- Deployed versions. Deployed mode saves each deployed artifact at the version that is running, grouped by package. If it was edited after the deploy, the running bundle is saved instead.
- Made for long runs. Retries with a growing pause, renews the OAuth token
when it expires, pause / resume / stop at any time. A file appears only once
it is complete and verified to be a ZIP — a login page or a proxy error is
never saved as
something.zip. - Scriptable. The same program runs from the command line with exit codes.
- Read-only. Only GET requests: it cannot change anything on the tenant.
- 13 languages, from Windows automatically: it, en, es, fr, de, pt, tr, ru, uk, ar, zh, ja, ko.
- In the BTP cockpit, open your Process Integration Runtime instance with
plan
apiand create a service key. - In iFlowDownload choose Service key, then Browse… for the JSON file, or copy the JSON and press Paste.
- Press Test connection, choose a folder, and Start download.
| What | Role collection the key needs |
|---|---|
| Packages and their artifacts | WorkspacePackagesRead |
| Deployed artifacts | MonitoringDataRead as well |
Tenants that still allow it (such as Neo) also work with User and password.
iFlowDownload.exe --service-key cpi-prod.json --out D:\Backup\CPI
iFlowDownload.exe -k cpi-prod.json -o D:\Backup\CPI --mode deployed --filter HR,Finance
iflowdownload --url https://mytenant.example --user me --out ./backup # password from IFLOWDOWNLOAD_PASSWORD or asked
| Option | Meaning |
|---|---|
-k, --service-key |
service key JSON (plan api) |
--url, -u, --user |
user and password login instead |
-o, --out |
destination folder |
-m, --mode |
packages (default) or deployed |
-f, --filter |
only packages whose id or name contains one of these words |
--no-fallback |
do not save artifacts one by one when a package cannot be exported |
--no-subfolder |
write straight into --out, no dated subfolder |
--retries, --delay, --timeout |
attempts, seconds between attempts, seconds per request |
--lang |
language of the messages |
--check-update |
only tell whether a newer version exists |
Exit codes: 0 everything saved, 1 something failed, 2 cannot connect or
bad arguments, 130 stopped. The Windows build has no console of its own:
from cmd use start /wait iFlowDownload.exe … to wait for it, or install the
Python package for a regular console program.
D:\Backup\CPI\iFlowDownload_20260911_091500\
├── HR_EmployeeReplication.zip a package, exported whole
├── SD_OrderToCash\ a package with drafts, artifact by artifact
│ ├── SD_SalesOrder_Create.zip
│ └── SD_PlantCodes.zip
└── report.csv status, type, package, id, version, file, bytes, message
- The client secret and the password are kept in memory only. The settings
(
%APPDATA%\iFlowDownload\settings.json) remember the path of the key file, never its content, and never a password. - The log (
%LOCALAPPDATA%\iFlowDownload\logs) never contains tokens or secrets: they are redacted before being written. - The app talks to your tenant and to the GitHub API (update check). No analytics, no telemetry, no other server.
At startup, at most once a day, the app asks GitHub for the latest release. If
there is a newer one it asks you first, downloads iFlowDownload.exe, checks
it against the iFlowDownload.exe.sha256 published with the same release,
and restarts on the new version. Untick Check at startup to turn it off.
Keep the program in a folder you can write to (Documents, Desktop…); from a
read-only folder it opens the download page instead.
python -m venv .venv && .venv\Scripts\activate
pip install -e .
python -m iflowdownload # the window; with arguments, the command line
python -m unittest discover -s tests # includes end-to-end tests against a fake tenant
node site/build.mjs # the showcase site, fails on a missing translationTexts live in iflowdownload/locales/<lang>.json (app) and
site/i18n/<lang>.json (website); English is the reference and the tests
reject a language with a missing key or a different placeholder.
Releasing: bump __version__ in iflowdownload/__init__.py, add a
## x.y.z section to CHANGELOG.md, commit, then git tag vx.y.z && git push --tags. The release workflow builds the executable with PyInstaller, runs the
tests, and publishes the .exe with its .sha256 — which is what installed
copies update from.
Website: node site/build.mjs, then npx wrangler deploy from site/
(a Cloudflare Workers static site on iflowdownload.bais.info).
iFlowDownload is free and will stay free. If it saved you an afternoon, you can buy me a coffee on PayPal. Bug reports and pull requests are welcome in Issues.
iFlowDownload is an independent tool, not affiliated with or endorsed by SAP SE. SAP and SAP Integration Suite are trademarks of SAP SE.