Android · iOS ready

SAP Integration Suite maintenance, from your phone.

Check runs, read the error, restart a flow, fix an external parameter, clear a stuck data store — without opening a laptop.

Download the APK How to set it up

Free · updates itself · your credentials never leave the device

Everything a maintenance call needs

Built around what you actually do when something breaks at 19:40 on a Friday.

Check runs

Message processing logs filtered by status and time window. Opens on failures in the last 24 hours, because that is what you came for.

Find a business key

Search custom header properties across many pages of runs for an order or IDoc number. Results stream in as they are found, and you can stop any time.

Start and stop flows

Take a misbehaving flow out of service, or bring it back, with a confirmation that spells out exactly what will happen.

Edit external parameters

Change an endpoint, a credential name or a timeout, then redeploy — the app reminds you, because a saved value does nothing until you do.

Clear data stores

See what is stuck, read a payload, delete one entry or the whole store. Stores holding overdue messages float to the top.

Check credentials

What security material is deployed, who deployed it, and which certificates expire in the next 30 days — sorted with the risky ones first.

Only five actions change anything.

Start a flow, stop a flow, save a parameter, delete an entry, delete a store. Everything else is strictly read-only, and each destructive action names exactly what it will affect before you confirm.

Set up in about two minutes

One service key is all it takes. No backend, no middleware, no account to create.

  1. Create a service keyIn BTP cockpit → Instances and Subscriptions → your Process Integration Runtime instance (plan api) → Service Keys → Create. Copy the whole JSON.
  2. Install the appDownload the APK from the latest GitHub release and open it. Android will ask once for permission to install apps from this source.
  3. Paste the keyTap “+ Tenant”, then “Paste service key”. Client id, secret, token URL and API base URL are filled in for you.
  4. Test, then connect“Test connection” asks for a token and probes the API, so you find out immediately if a role collection is missing.
It keeps itself up to date.

The app checks GitHub releases, downloads the new APK internally and hands it to Android to install — no browser and no file manager. Android shows its own confirmation, which no app can skip.

Role collections

If a screen returns 403, the token is fine but the service key is missing one of these. Add it in the BTP cockpit and reconnect.

ScreenRole collection
Runs, System Log, Data StoresMonitoringDataRead
Integration Flows (view)WorkspacePackagesRead
Start / stop a flowWorkspaceArtifactsDeploy
Edit external parametersWorkspaceArtifactsEdit
Delete data store entriesDataStoresConfigure
CredentialsCredentialsRead

Where your credentials live

Short answer: on your phone, and nowhere else.

Device keystore only

Client secrets are stored in the Android Keystore (AES-GCM with RSA-OAEP key wrapping) or the iOS Keychain — never in plain files.

No backup extraction

Android backup is switched off for the app, so the credential store cannot be pulled off the device with adb backup.

No server in the middle

The app talks to your SAP tenant and to the GitHub releases API. There is no analytics, no telemetry and no third service.

Errors are sanitised

Tokens, secrets and passwords are stripped out of any error message before it reaches the screen.

Questions

The ones that come up most often.

Which URL goes in “API base URL”?

The runtime URL, ending in /api/v1. In the service key that is the top-level url field — not the one inside the oauth block, which is the authentication host. The app picks the right one automatically when you paste the key.

What does “stop a flow” actually do?

It undeploys the runtime artifact. SAP Cloud Integration has no pause — the flow stops processing immediately, and starting it again is a fresh deploy from its package. The confirmation dialog says exactly this before you commit.

I changed an external parameter and nothing happened.

A changed parameter only reaches the running flow after a redeploy. The app shows a REDEPLOY button right after saving for that reason.

Why is the custom header search slow?

SAP cannot filter on custom header properties server-side, so each message has to be fetched individually. Narrow the time window and use the “Failed only” filter. Results appear as they are found and you can stop at any point.

Can I see a stored password?

No — and neither can any other tool. SAP never returns secret values through the API. The Credentials screen tells you what exists, who deployed it and when certificates expire.

Why does Android still ask me to confirm the update?

Android always shows an install confirmation for an app that is not a managed device owner. That prompt cannot be removed — it is the OS protecting you. The first time you also grant “install unknown apps” once, and the app takes you straight to the right settings page.

Is there an iPhone version?

The codebase is cross-platform and iOS is ready to compile. One difference is permanent: Apple does not allow an app to install its own updates, so on iOS new versions would arrive through the App Store or TestFlight instead.