Workflow Automation SaaS
Multi-tenant repair-centre platform with dynamic checklists, adaptive scope of work, technician and supervisor apps and a customer portal.

Workflow Automation SaaS overview
The Workflow Automation SaaS is a multi-tenant platform we built to track equipment repair operations and employee performance across distributed service centres. It replaces paper sheets and disconnected legacy applications with one continuous data system connecting technicians, supervisors, administrators and customers: an update logged on a handset in a remote workshop propagates immediately to the central database, recalculates supervisor dashboards, refreshes the customer's tracking view and writes an immutable audit entry.
The scope covered four interfaces: an administrative web portal, a customer portal on web and mobile, a native mobile app for workshop technicians and a native mobile app for operational supervisors. Behind them sit a five-project .NET Core backend, an Angular 7 single-page application and a MySQL database, all containerised with Docker, orchestrated by Kubernetes on AWS or Azure and provisioned with Terraform. We built every component from the ground up and migrated all data assets into the new structured schema.
Challenge in Field Service operations
The environment we inherited was a mix of legacy applications, isolated database tables and unorganised spreadsheets that did not talk to each other. Repair facilities could not line up historical maintenance logs with what was happening on the workshop floor, so diagnostics were slow and performance management was guesswork. Technicians logged labour hours on manual sheets, which produced inaccurate productivity figures. Customers had no way to see where their equipment was as it moved through inspection, cleaning, repair and final quality control.
The platform had to do three things the old tools could not: generate inspection checklists that change with the equipment type, rewrite a technician's task list in real time when an inspection uncovers a fault, and calculate employee productivity credits automatically and verifiably. It also had to run continuously across geographic service centres, isolate each tenant's data and satisfy SOC 2, HIPAA and GDPR controls.
Solution architecture & delivery
We organised the backend as five .NET Core projects with a strict unidirectional dependency flow: a client presentation project for rendering assets and environment configuration; a middle-tier project holding the business rules, including the credit-calculation algorithms, the adaptive scope-of-work state machine and the checklist evaluation engine; an ASP.NET Core MVC API project exposing RESTful endpoints with custom action filters, model providers and claims validation; a common data model project of POCO classes and DTOs shared by every layer; and a database repository project implementing the repository and unit-of-work patterns on Entity Framework Core, with the context, fluent configurations and migrations. Because the middle tier knows nothing about the database vendor or the UI, schema and interface changes do not disturb rule execution.
The adaptive workflow engine is the core of the product. Checklist questions, response types and conditional rules live in relational tables. When a technician starts an inspection, the app pulls the template for that equipment type, and as answers arrive the rules engine reveals sub-questionnaires or test instructions. A failing checkpoint triggers a scope-of-work adjustment: the backend evaluates the rule mapping, injects the required repair sub-tasks into the technician's active dataset, assigns material needs and revises time estimates, with no supervisor re-entry. A background utility then parses completed work orders, validates time records and material logs, converts labour durations into standardised productivity credits and stores every calculation change in an immutable audit trail that supervisors approve from their app.
The administrative portal is an Angular 7 SPA with more than fifteen lazy-loaded child routes guarded by claim checks, reactive forms with real-time custom validators for checklists and equipment records, RxJS-based shared services that keep open components in sync, a shared library of data tables, modals, alert banners and inputs, and Bootstrap 4 with SCSS, LESS and SASS for responsive layout. The Technician App, native Android in Java and Kotlin and native iOS in Swift, shows prioritised task lists, walks through dynamic inspection questions and captures notes and photos at the equipment bay, caching active tasks in local SQLite so work continues through wireless dropouts. The Supervisor App shows pending repair queues, assigns tasks by skill level, reviews completed checklists and approves credit calculations. The Customer Portal, on web and mobile, lets customers see the exact repair phase of their equipment, read historical maintenance reports, authorise newly proposed scopes and submit feedback ratings.
Security sits in the request path. Okta handles login, multi-factor challenges and enterprise single sign-on and issues signed JSON Web Tokens; the API's custom filters read the embedded role claims to keep technicians out of administrative configuration and customers out of other tenants' data. Entity Framework Core global query filters append the tenant identifier to every select, update and delete, so a missed filter cannot leak records. Personal data fields are encrypted at rest in MySQL, traffic runs over TLS 1.3, CrowdStrike Falcon agents watch every container host, and every database interaction, checklist change and credit recalculation is logged with who, what and when for SOC 2 audits.
Operationally, Kubernetes liveness and readiness probes replace unhealthy pods automatically, Horizontal Pod Autoscalers add pods when CPU or memory pass their thresholds during morning shift logins and scale back off-peak, and MySQL runs in a multi-region cluster with synchronous replication from a primary read-write node to read-only replicas, with automated failover promoting a replica within seconds. Terraform defines the virtual private clouds, subnets, security groups and clusters, so the whole environment can be duplicated in minutes for testing or disaster recovery.
Key features of the Workflow Automation SaaS
- Dynamic inspection checklists driven by equipment type, with conditional sub-questionnaires and technical test instructions
- Adaptive scope-of-work engine that injects repair sub-tasks, material needs and revised time estimates when a checkpoint fails
- Automated employee credit calculation from validated time and material logs, with supervisor approval and an immutable audit trail
- Native Technician App for Android and iOS with prioritised tasks, photo capture and SQLite offline caching
- Native Supervisor App for repair queues, skill-based task assignment and checklist review
- Customer Portal on web and mobile for live repair-phase tracking, historical reports, scope authorisation and feedback ratings
- Administrative Angular 7 portal with 15+ lazy-loaded routes, reactive forms and a shared component library
- Okta single sign-on with JWT role claims and Entity Framework Core global tenant filters
Who this platform is for
Operators of multi-site equipment repair and maintenance centres who need technicians, supervisors, back-office staff and customers working from one record: workshop teams logging inspections on handsets, supervisors balancing queues and approving productivity credits, administrators maintaining checklist templates and rules, and customers who want to see repair progress without calling. The multi-tenant design suits service businesses running several organisations or brands on one deployment.
Impact & results
- Paper labour sheets and disconnected legacy applications replaced by a single continuous data system across service centres
- Inspection results now rewrite the technician's task list automatically, removing manual re-entry and supervisor intervention
- Manual productivity calculations replaced by automated, audited credit scoring that payroll can rely on
- Customers track inspection, cleaning, repair and quality-control phases themselves, removing manual status enquiries
- Technicians keep working through wireless dropouts through local SQLite caching and background sync
- Tenant isolation, encryption and audit logging aligned to SOC 2, HIPAA and GDPR
FAQ about the Workflow Automation SaaS
What does the Workflow Automation SaaS do?
It tracks equipment repair operations and employee performance across multiple service centres on one multi-tenant platform. Technicians run dynamic inspection checklists on a native mobile app, the scope of work rewrites itself when a checkpoint fails, supervisors assign work and approve automatically calculated productivity credits, and customers follow their equipment through inspection, cleaning, repair and quality control from a web and mobile portal.
Which technologies power the platform?
A five-project ASP.NET Core 2.2 backend with Entity Framework Core over MySQL; an Angular 7 single-page application styled with Bootstrap 4, SCSS, LESS and SASS; native Android apps in Java and Kotlin and native iOS apps in Swift with local SQLite caching; JSON Web Tokens issued through Okta; Docker containers on Kubernetes hosted on AWS or Azure, provisioned with Terraform and monitored by CrowdStrike Falcon.
How does the scope of work change during an inspection?
Checklist questions, response types and conditional rules are stored in relational tables. As a technician answers, the middle-tier rules engine evaluates each answer against the dependency tree; a failing checkpoint triggers the adaptive workflow state machine to inject the required repair sub-tasks, material needs and revised time estimates into the technician's active task list, and the updated scope is pushed to the supervisor dashboard and customer portal without manual re-entry.
How is each tenant's data kept isolated?
Entity Framework Core is configured with global query filters that append the tenant identifier to every select, update and delete the backend generates, so a query cannot return another organisation's records even if a developer forgets a filter. Every API request must carry a signed JWT issued by Okta, and custom action filters inspect its role claims before a controller action runs. Personal data fields are encrypted at rest in MySQL and all traffic runs over TLS 1.3.
Workflow Automation SaaS product screens
Build your next Field Service product with Next Olive
Share your requirements β we will propose scope, timeline and stack within one business day.