Handbook
Power Automate consumer boundary
forge-lcdl supplies path conventions, Excel index schema, optional HTTP child-flow triggers, and read-only SharePoint verification for Outlook message archives driven by Microsoft Power Automate.
Updated
Power Automate (or another M365 automation host) performs writes: export .eml, SharePoint Create file, Excel Add row into a table.
LCDL must not author flows in make.powerautomate.com via Playwright (mutation-heavy; conflicts with READONLY_POLICY.md).
Atomic capability catalog
| Capability | Module / task_id |
Input (summary) | Output (summary) |
|---|---|---|---|
| Archive path helpers | forge_lcdl.power_automate.archive_paths |
received_at, message_id |
outlook/YYYY/MM/DD/…, .eml filename |
| Index row schema | forge_lcdl.power_automate.message_row |
MessageArchiveRow |
Excel column dict |
| Default Leo/Agentic scope | forge_lcdl.power_automate.constants |
optional site/library overrides | server-relative paths |
| HTTP flow trigger | forge_lcdl.power_automate.http_trigger |
signed PA HTTP URL + JSON | HttpFlowResponse |
| Bootstrap workbook | forge_lcdl.power_automate.templates |
— | openpyxl workbook with table Messages |
| Parse index xlsx | forge_lcdl.power_automate.index_parse |
bytes | headers, rows[] |
| Read messages index | sharepoint_read_messages_index |
session_ref, optional site/library |
rows[], row_count |
| Verify day archive | sharepoint_verify_outlook_archive |
session_ref, received_date, optional ids |
ok, eml_files[], matched_row |
List folder files (incl. .eml) |
sharepoint_list_folder_files_at_path |
connector | file metadata rows |
SharePoint read atoms reuse SHAREPOINT-CONSUMER-BOUNDARY.md session and REST patterns.
What LCDL must not know
| Out of scope for LCDL | Belongs in Power Automate / operator |
|---|---|
| Flow designer UI, connector auth for PA service principal | Operator builds cloud flow |
| SharePoint Create file, Excel row append | PA actions |
| Duplicate detection policy at runtime | PA condition on InternetMessageId |
| Backfill pagination orchestration | Optional second PA flow or child flow |
Consumer responsibilities
- Bootstrap — Upload
messages.xlsxtooutlook/messages.xlsxunder the target library once. - Build flow — See POWER-AUTOMATE-OUTLOOK-ARCHIVE.md.
- Verify — Run
scripts/run-outlook-archive-verify-harness.pywith Edge CDP + M365 session.