Skip to content

Add mcs-finance-statement-agent sample#138

Open
sgshaji wants to merge 1 commit intopnp:mainfrom
sgshaji:add-mcs-finance-statement-agent
Open

Add mcs-finance-statement-agent sample#138
sgshaji wants to merge 1 commit intopnp:mainfrom
sgshaji:add-mcs-finance-statement-agent

Conversation

@sgshaji
Copy link
Copy Markdown

@sgshaji sgshaji commented Apr 30, 2026

Summary

Adds mcs-finance-statement-agent — a Microsoft Copilot Studio sample for credit financial statement extraction.

An analyst uploads a PDF financial report in Microsoft Teams; a Copilot Studio agent orchestrates an Azure Functions pipeline that extracts the Income Statement, Balance Sheet, Cash Flow, and computed Ratios into a downloadable Excel workbook ready for credit spreading.

Architecture

Highlights

  • Async polling pattern to handle the 30-second custom-connector timeout for long-running extraction jobs (HTTP 202 + jobId, polled every 30 s by a ConditionGroup + GotoAction loop)
  • Multi-language label reconciliation (EN / CN / JP / FR) via Azure OpenAI GPT-4.1
  • Managed Identity end-to-end for Azure service-to-service auth — no API keys
  • Pluggable extraction backend — Content Understanding (default), Document Intelligence, Textract, or local pdfplumber
  • Optional HITL review Code App — React + TypeScript, backed by Dataverse
  • Job state in Blob Storage with 30-min TTL; SAS URLs returned in chat for the generated Excel

Folder structure

samples/mcs-finance-statement-agent/
├── README.md
├── .gitignore
├── assets/architecture.png
└── src/
    ├── azure-functions/         # Python backend (HTTP 202 async pipeline)
    ├── copilot-studio-agent/    # Copilot Studio YAML
    ├── code-app/                # Power Apps Code App (HITL grid)
    └── docs/

Checklist

  • Folder name uses mcs- prefix per CONTRIBUTING
  • README.md based on _SAMPLE_templates/any-sample
  • assets/ contains the screenshot referenced in README
  • .gitignore included
  • Tracking pixel updated to samples/mcs-finance-statement-agent
  • No API keys, secrets, or tenant-specific values committed
  • Author block includes name, GitHub handle, company

Test plan

  • README renders correctly on GitHub (architecture diagram visible)
  • All Minimal-Path-to-Awesome steps work on a fresh tenant + Azure subscription
  • End-to-end: upload sample PDF → Excel link returned in Teams chat

Conversational AI for credit financial statement extraction. Analyst uploads
a PDF in Teams; a Copilot Studio agent orchestrates an Azure Functions pipeline
(Content Understanding + Azure OpenAI GPT-4.1) to return an Excel workbook
with Income Statement, Balance Sheet, Cash Flow, and Ratios.

Demonstrates async polling pattern to handle the 30s custom-connector timeout
for long-running extraction jobs, multi-language label reconciliation
(EN/CN/JP/FR), Managed Identity end-to-end auth, and an optional Power Apps
Code App for human-in-the-loop review backed by Dataverse.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant