Seun Ogunwande

Dynamics 365 CE Developer | Power Platform + AI

I build AI agents and business systems that people actually use, five Copilot Studio agents in production, daily.

Belfast, Northern Ireland

About

Seun Ogunwande, Dynamics 365 CE developer and Power Platform + AI specialist

I'm a Dynamics 365 CE developer based in Belfast, Northern Ireland, working where the Power Platform meets applied AI. Most of what I build ends up inside someone's daily routine; five Copilot Studio agents I designed and shipped are in production use across helpdesk, sales, procurement, reporting and security.

My background is managed services: delivering across a portfolio of client environments rather than a single in-house estate. That is consulting-shaped work: scoping with people who don't speak in schema names, shipping into environments you don't fully control, and staying accountable for the thing after it goes live.

The pattern I keep returning to with agents is retrieve → reason → act: ground the model in real business data, let it reason over the request, then give it a narrow and fully audited set of actions it is allowed to take, with a human escalation path for anything consequential. The guardrails are the interesting engineering, not the model.

I write the integration layer underneath as well (Azure Functions in C# and .NET 8, the Dataverse Web API, OAuth and Key Vault) because an agent is only as good as the data it can reach and the actions it can safely take. Certified Azure Administrator (AZ-104), DevOps Engineer Expert (AZ-400) and Endpoint Administrator, with PL-400 (Power Platform Developer) in progress.

Skills

AI

Copilot Studio

AI Builder

Agentic Patterns

Grounding & Retrieval

Power Platform

Power Apps

Power Automate

Dataverse

Power BI

Power Fx

Dynamics 365 CE

Model-Driven Apps

Plugins & Custom APIs

PCF Controls

FetchXML

Solution ALM

Azure

Azure Functions

Key Vault

Entra ID & OAuth

REST & Webhooks

Azure DevOps

Languages

C#

JavaScript

TypeScript

SQL

DAX

Featured Projects

Flagship

Copilot Studio Agent Suite

Five production Copilot Studio agents in daily business use: helpdesk, sales, procurement, reporting and security. Each one follows the same pattern: retrieve from grounded business data, reason over the request, then act through a narrow set of audited operations. Writes go through Power Automate, never straight from the model, and the security agent escalates to a human for anything genuine.

Agent Suite: In Production
5 Agents Live
Daily Business Use
1 Escalation Path
Helpdesk, grounded on internal docs Retrieve
Sales, reads and writes Dataverse Act
Procurement, supplier queries Retrieve
Reporting, Power BI, conversationally Retrieve
Security, genuine incidents only Escalate
Retrieve → reason → act, with a guardrail on every write
Copilot Studio Dataverse Power Automate Power BI
View Case Study →

AI Job Dispatcher

An agent that does the dispatcher's job. It discovers open jobs, checks which engineers are actually available, and auto-assigns the nearest one using live GPS position from the field check-in app, so the assignment reflects where engineers are now, not where the rota said they would be.

Dispatcher: Auto-Assign
Open job Availability Nearest engineer
Unassigned jobs in the queue Discovered
Engineer availability check On shift
Distance from last check-in Closest
Assigned on live position, not yesterday's rota
Power Automate AI Builder Dataverse
View Case Study →

Field Engineer Check-In App

A GPS-enabled canvas app for engineers on site: one tap to check in, a live dashboard for managers, and time-on-site tracked automatically. User testing killed the clever version, automatic geofencing lost to a manual tap, because engineers trusted a button they pressed themselves. Adoption beat elegance.

Check-In: Live Manager View
On site, checked in 09:12 2h 41m
On site, checked in 10:05 1h 48m
Travelling to next job En route
One tap to check in, the version engineers actually use
Power Apps (Canvas) Dataverse GPS
View Case Study →

Enterprise Billing Integration

A C# / .NET 8 Azure Function that pulls tens of thousands of records from a third-party billing API into Dataverse. Cursor-based pagination over a rate-limited API, and upserts keyed on a composite alternate key so a re-run updates rather than duplicates, the sync is safe to replay from any point.

Billing Sync: Run Detail
4 Stages
0 Duplicates
Any Re-run Point
Paginate the billing API Cursor
Back off on rate limit Retry
Upsert on composite alternate key Idempotent
Safe to re-run from any point in the batch
Azure Functions .NET 8 Dataverse REST
View Case Study →

Finance Proposal Gateway

A six-endpoint Azure Function gateway sitting between Dynamics 365 CE and an external asset-leasing platform. It brokers OAuth on both sides, reads every secret from Key Vault via managed identity, receives status webhooks back from the lender, and generates the proposal documents that come out the other end.

Proposal Gateway: Endpoints
Dynamics 365 Gateway Leasing platform
Six endpoints: quote, submit, status HTTP
Token brokering, both directions OAuth
Secrets via managed identity Key Vault
Lender status callbacks Webhooks
No credential ever lands in a flow or a form
Azure Functions OAuth Key Vault Power Automate
View Case Study →

VaultBridge: Multi-Tenant Credential Vault

A multi-tenant credential vault built end to end: React front end, .NET 8 API, Azure SQL. Sign-in is passwordless via WebAuthn / FIDO2 passkeys, every read and write is written to an append-only audit trail, and tenant isolation is enforced in the data layer rather than trusted to the UI.

VaultBridge: Credentials
48 Credentials
4 Tenants
256-bit Encryption
Passkey sign-in, no password stored FIDO2
Every read written to the audit log Append-only
Cross-tenant query Blocked
All credentials encrypted at rest, AES-256-GCM
React .NET 8 Azure SQL WebAuthn / FIDO2
View Case Study →

Sales KPI Dashboard

A Power BI reporting suite built directly on a Dataverse semantic model: 10 KPI cards, a profit trend analysis, a dynamic period selector, and rep-level breakdowns. Row-Level Security splits the same report two ways: a rep sees their own numbers, a manager sees the team's.

Sales KPI Dashboard
10 KPI Cards
2 RLS Roles
Dynamic Period Selector
Live Dataverse model, refreshed 10 min ago
Power BI DAX Dataverse Row-Level Security
View Case Study →

More Work

Earlier Dynamics 365, integration and governance delivery, each with a full case study.

DialSync: Telephony to D365

Nightly call reports parsed, numbers normalised across two national formats, matched to accounts with a contact-level fallback, and written back as call status, every call landing in exactly one audit table.

Power Automate Dataverse Python
View Case Study →

One Renewal Engine, Two Clients

Retired a hand-ported mobile copy of a contract renewal process so a single Dynamics 365 engine runs unchanged on both the web client and an offline mobile client, via a compatibility shim and a thin launcher.

Dynamics 365 JavaScript Offline-first
View Case Study →

Account Industry Enrichment

A four-source enrichment pipeline resolving industry classification across a Dynamics 365 estate. Exact-match-only write rules, anything uncertain goes to a review list, never into the database.

Azure Functions .NET 8 Dataverse
View Case Study →

ISO 27001 ISMS Readiness

Led a security compliance engagement to a clean assessment pass: asset inventory, risk register, device and patch compliance, evidence packs, and assessor feedback managed through to close.

ISO 27001 Intune IT Governance
View Case Study →

Engineer Appointment Validation

Validation layer ensuring an engineer's qualifications match the service requirement before an appointment is confirmed, with automated alerts where a booking would breach compliance.

Power Apps Dataverse Azure Functions
View Case Study →

CRM Data Integration System

Bi-directional sync connecting Dynamics 365 to external line-of-business systems through Logic Apps and custom APIs, removing a standing manual re-keying task.

Dynamics 365 Logic Apps REST APIs
View Case Study →

Automated Document Management

End-to-end contract document workflow (generation, e-signature routing, approval and archive) with a complete audit trail across the whole lifecycle.

Power Automate SharePoint Power Apps
View Case Study →

Insights & Articles

SharePoint Governance in the Microsoft 365 Era

From sprawl to stewardship, a practical playbook covering site lifecycle policies, external sharing, sensitivity labels, and a 30/60/90 plan, grounded in Microsoft Learn.

Read Article →
Laptop displaying code and data dashboards representing IT service management workflows

Modernizing ITSM with Power Platform

Exploring how Power Platform transforms traditional IT Service Management workflows with low-code automation...

Coming Soon
3D visualization of AI letters formed by digital elements representing artificial intelligence

AI-Driven Insights in Dynamics 365

Practical approaches to integrating AI Builder and Azure Cognitive Services into business applications...

Coming Soon
Server rack in a data center representing cloud automation infrastructure at scale

Best Practices for Power Automate at Scale

Lessons learned from building enterprise-grade automation workflows that handle millions of transactions...

Coming Soon

Get In Touch

Have a project in mind? Let's discuss how I can help.

Contact Us