Problem: the sales team of an education company assembled contracts by hand from templates, with frequent errors in penalties, amounts and dates.
Solution: flows capture approved proposals from the CRM, build the contract package from templates and flag what needs review. In a Power Apps app, the analyst checks each flag, releases the package for e-signature, sends it back with a reason or rebuilds it, and every action is logged. Dashboard with the review queue, errors by type with reprocessing, signature tracking and access profiles, also on mobile.
Stack: Power Apps (canvas) · Power Automate · Dataverse (CRM) · SharePoint · e-signature connector · DEV/UAT/PROD with solutions
Problem: a publisher's rights team received requests by e-mail, WhatsApp and phone and tracked author contracts and royalty statements in spreadsheets and the ERP.
Solution: an automation reads the team mailbox and turns each message into an entry with its attachments. A Power Apps case desk runs multi-step cases, such as an author's death (payment hold, estate documents, legal review, heirs) or a change of publisher, with deadlines in business days and the history of what the automation did. Flows read and write the ERP through its REST API.
Stack: Power Apps · Power Automate · SharePoint · ERP REST API (screens with fictional data)
Problem: a multinational legal department received contract requests by e-mail, with no priority, deadline or tracking.
Solution: requests come through the app, by e-mail or by talking to an agent in Teams. Rules set priority and deadline and route each request. Lawyers work from queues with business-day deadlines; standard contracts are generated in Word from approved templates, the counterparty is checked automatically, and signature and renewals are tracked. Multilingual notices, manager dashboard, dark mode and mobile.
Stack: Power Apps · Power Automate · SharePoint · Copilot Studio · Teams · Planner · Power BI (prototype with fictional data)
A bot that listens through the microphone, sends the question to the ChatGPT API, reads the answer aloud and logs the conversation, in a continuous loop. Power Automate Desktop calls the API over HTTP, and Python handles speech recognition and speech synthesis.
Stack: Power Automate Desktop · Python · OpenAI API
Problem: a Power Automate Desktop bot enrolls students from a Dataverse work queue on several servers at once. It was hard to test, and one wrong click creates a real enrollment.
Solution: rewritten in Python and Playwright, step by step from the original flow. Queue items are reserved with optimistic locking (ETag), so two servers never take the same one. A permission guard blocks the final save buttons unless the run is explicitly authorized, so the new bot can be tested on the live site with no side effects.
Result: read-only runs over 250+ real queue items, each one ending the way the original bot ends it, before any write was enabled.
Stack: Python · Playwright · Dataverse Web API · Azure Key Vault · pytest
Problem: a service team answered the same questions about diplomas every day, searching FAQs, knowledge base articles and old tickets.
Solution: a knowledge base built from those three sources and an LLM that drafts each answer quoting the excerpts it used. Personal data is masked before anything reaches the model, and an evaluation set checks every draft for invented content.
Result: in evaluation, drafts with no invented content and no leaked personal data.
Stack: Python · LLM API · retrieval · data masking · pytest