Modular flow architecture instead of a monolith
I split the process into nine cloud flows within one shared solution: a start flow, one flow each for engineering, installation, order management, purchasing, and the purchasing cross-check, a central email sending flow, a test flow for sending, and a scheduled escalation flow. The flows call each other via HTTP triggers with defined JSON schemas.
- Workflow ID, SharePoint item reference, correlation ID, step, and role passed with every call
- Department flows acknowledge the call immediately with HTTP 202 and then continue asynchronously
- Order management flow with a switch for four scenarios: regular review and orders sent back from engineering, installation, and purchasing
- Start flow limited to one concurrent run