ramparte/amplifier-m365-platform

From .gitignore to M365

A verifiable M365 integration in 9 days

A lone .gitignore became a real M365 integration

amplifier-m365-platform is a project built with Amplifier: SharePoint, Teams, and Entra-identity tools for Microsoft 365. It started from an empty repository — here's what building from nothing actually looks like.

Start with the baseline that makes the rest of the story credible.

0
lines of source code at project start
M365
SharePoint, Teams & Entra identity, on a test tenant

The first commit was nothing but a .gitignore

Commit 9979614 "Initial project setup" (2026-01-15) changed only the .gitignore29 insertions, 1 file. There was no source code at the start. This is the true zero baseline the nine-day build grew from.

From that empty repo, look at what shipped.

29
lines — the entire first commit (.gitignore)
1
file changed — no source code

In ~9 days it shipped SharePoint, Teams & Entra tools

Across 37 commits and 9 calendar days (2026-01-15 → 2026-01-23), the project built 13 non-test core files for SharePoint, Teams, and an Entra-identity hook — against a real M365 test tenant.

Real, working leverage. But the first build made one assumption that didn't hold.

9
calendar days (2026-01-15 to 2026-01-23)
37
commits total
13
non-test core .py files across 3 M365 packages

The first build assumed one auth flow: On-Behalf-Of

On-Behalf-Of (OBO) exchanges a user's token so a service can act as that user — but it needs that interactive user in the loop. It can't let an autonomous or daemon agent act as a specific user without interactive sign-in. For multi-agent scenarios, OBO-only was a real gap.

The fix wasn't a rewrite — it was widening the auth model.

# first build assumed one flow AuthMode.OBO # On-Behalf-Of # gap: an autonomous agent has no # interactive user to stand in for

The fix was a 3-tier AuthMode, not a rewrite

A single AuthMode enum now carries three flows. OBO stays the default — the change is backward compatible — while ROPC and SERVICE_PRINCIPAL cover the cases OBO can't reach.

Who decided to widen it? Humans, steering through merged PRs.

  1. 1OBOOn-Behalf-Of — the default flow
  2. 2ROPCResource Owner Password Credentials — autonomous agents
  3. 3SERVICE_PRINCIPALapp-only client credentials

Humans steered the correction, not autopilot

Marc Goodner authored all 4 merged PRs (login robotdad); Sam Schillace led with 28 of the 37 commits. Amplifier is attributed on 5 commits ("Generated with Amplifier"), 4 also "Co-Authored-By."

Under that direction, the auth model widened itself — the deck's high point.

4
merged PRs, all authored by Marc Goodner
28
of 37 commits by Sam Schillace (primary author)
5
commits attributed "Generated with Amplifier"

PR #1 added ROPC "for autonomous agent scenarios"

On 2026-01-21, PR #1 (branch feat/ropc-auth-support, commit 8b1f9a5) added ROPC "as an alternative to OBO… enabling daemon apps and multi-agent scenarios where agents need to act as specific users without interactive authentication." The build recognized its own auth model was too narrow — and widened it, backward-compatibly.

Did the corrected integration actually work? It was put on a real tenant.

# PR #1 -- merged, feat/ropc-auth-support OBO # default (unchanged) ROPC # NEW: autonomous agents SERVICE_PRINCIPAL # app-only

The corrected build passed E2E on a real M365 tenant

On 2026-01-23, end-to-end operational validation ran against a real M365 tenant: 4 of 5 checks PASS, 1 PARTIAL. A build that started from an empty .gitignore corrected its own auth model and produced a genuinely validated result — honest partial included.

Zero to validated M365 integration — with a self-correction you can check in the git log.

4/5
E2E checks PASS on a real M365 tenant
1
PARTIAL (SharePoint direct call) — honestly reported
Sources

Research Methodology

Verification: PASS

Data as of: 2026-01-23 (repo HEAD a864f28)  ·  Feature status: Active

Repository: git@github.com:ramparte/amplifier-m365-platform.git (branch master, HEAD a864f28). Every claim independently re-derived via git / gh / find / grep / sed / wc.

Commands run:

Gaps / honesty notes: "Hackathon", multiple external participants, and "five agent citizens" framings are NOT repo-verifiable and are excluded; SharePoint direct call is a PARTIAL, reported as such.

Primary contributors: Sam Schillace (28/37 commits) · Marc Goodner (9 commits, all 4 merged PRs).

More Amplifier Stories