Resubmitting a lot of Logic App Standard workflow runs via the portal or a self-made script can be a time consuming, meticulous task. The LogicAppRunResubmitter is an easy-to-use cross-platform desktop application for browsing and resubmitting Azure Logic App Standard (stateful) workflow runs. Built with Electron, React, and TypeScript.
- Azure sign-in — Interactive browser authentication via
@azure/identity, no app registration required - Resource browser — Cascading dropdowns for Subscription → Resource Group → Logic App → Workflow
- Run search — Filter workflow runs by date range and multi-select status filter (Failed, Succeeded, Cancelled, etc.)
- Manual input — Paste specific run IDs to resubmit
- Batch resubmit — Select multiple runs and resubmit them with a single click
- Sequential processing - Guarantees run resubmit in the exact same order (datetime-ascending)
- Callback URL replay — Optionally replay runs via the workflow callback URL, bypassing the 56-per-5-minute management API throttle
- Trigger type detection — Automatically detects the trigger type and disables callback URL replay for non-HTTP-webhook triggers (e.g. Recurrence)
- Progress tracking — Real-time progress bar and per-run status during resubmission
- Retry logic — Automatic unlimited retries with exponential backoff for rate-limited (429) errors, automatic retries up to 5 times for other (transient) errors
- Cross-platform — Runs on Windows, macOS, and Linux; packages as a native executable
Download the latest installer for your platform from GitHub Releases.
| Platform | File |
|---|---|
| Windows (installer) | *Setup*.exe |
| Windows (portable) | *.exe |
| macOS | *.dmg |
| Linux | *.AppImage |
Note - Windows: You may get a SmartScreen warning ("Windows protected your PC") because the executable is not code-signed. Click "More info" → "Run anyway" to proceed. The app is open-source — you can inspect the code or build from source if preferred.
Note - macOS: If you see "Logic App Run Resubmitter is damaged and can't be opened", open Terminal and run:
xattr -cr /Applications/Logic\ App\ Run\ Resubmitter.appThis removes the macOS quarantine flag applied to unsigned downloaded apps. Alternatively, right-click the app → Open → click Open in the dialog. The app is open-source — you can inspect the code or build from source if preferred.
- An Azure subscription with Logic App Standard resources
- Appropriate Azure RBAC permissions:
Logic App ContributororContributoron the Logic App resource- Or a custom role with:
Microsoft.Web/sites/read,Microsoft.Web/sites/hostruntime/*,Microsoft.Logic/workflows/runs/read,Microsoft.Logic/workflows/triggers/run/action
If you want to build from source or contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Commit your changes (
git commit -am 'Add my feature') - Push to the branch (
git push origin feature/my-feature) - Open a Pull Request
- Node.js 20+ and npm
npm installnpm run devThis starts the Electron app with hot-reload for the renderer (React UI).
The app uses InteractiveBrowserCredential from @azure/identity. When you click "Sign in with Azure", your system browser opens the Microsoft login page. After you authenticate, the token is used for all subsequent Azure Management API calls.
- No Azure AD app registration is required
- Optionally provide a Tenant ID if you want to target a specific directory
- Tokens are kept in memory only — you'll sign in again each time you open the app
- Sign in to Azure using your browser
- Select your Subscription → Resource Group → Logic App → Workflow
- Search for runs using a date/time range and optional status filter (multi-select)
- Select the runs you want to resubmit (or switch to Manual Input and paste run IDs)
- Click "Resubmit" — the app resubmits each run via the Azure Management API with retry handling
Calls the Logic Apps Standard host runtime trigger history resubmit endpoint.
This is a true resubmit — it appears in the Azure portal as a resubmitted run. However, it is subject to a 56-per-5-minute throttle imposed by the Azure management API.
When "Use Callback URL" is enabled, the app:
- Resolves the workflow's trigger name and fetches the callback URL via
listCallbackUrl - Retrieves the original request body from the run's trigger history (
inputsLink) - POSTs the original payload directly to the callback URL (SAS-authenticated, no Bearer token)
This creates a new run (not a resubmit) by re-invoking the trigger. It bypasses the management API throttle entirely, making it suitable for high-volume replay scenarios. This option is automatically disabled for non-HTTP-webhook triggers (e.g. Recurrence, Service Bus) that don't accept external HTTP requests.
| Layer | Technology |
|---|---|
| Desktop shell | Electron |
| UI framework | React 18 |
| Language | TypeScript 5 |
| Build tool | electron-vite |
| Azure auth | @azure/identity |
| Packaging | electron-builder |
- Adding new run id's to output
- Provide option to download list of succesfully/failed resubmitted run id's
- Adding capability to resubmit Consumption Logic Apps workflow runs
- Resubmitting from action