57 lines
2.7 KiB
Markdown
57 lines
2.7 KiB
Markdown
# BirthBio — Gmail migration folder cleanup (bburgess + mster)
|
|
|
|
**Date:** 2026-07-01 (UTC)
|
|
**Tenant:** birthbiologic.com (19a568e8-9e88-413b-9341-cbc224b39145)
|
|
**Performed by:** Mike Swanson via remediation-tool (Exchange Operator app, Graph
|
|
`Mail.ReadWrite`, new `exchange-op-graph` token tier)
|
|
**Authorization:** Mike, in-chat YES 2026-07-01
|
|
|
|
## Problem
|
|
|
|
The Google Workspace -> M365 mail import left Gmail label paths flattened into
|
|
literal folder names: 30 top-level folders named `INBOX/<label path>` (slashes
|
|
inside the display name, some also carrying real child subtrees) plus
|
|
`[Gmail]/...` and `[Imap]/...` system-folder artifacts.
|
|
|
|
Swept all 21 licensed mailboxes. Affected: **bburgess** (30 INBOX-flat + 5
|
|
Gmail/Imap artifacts), **mster** (1 empty `[Imap]/Drafts`). NOT touched:
|
|
ksteen's `AATB/EBAA`, `Fax/Scan`, `PTO/Payroll Info`, `Shipping/Couriers` and
|
|
ameneely's `Amnion/Chorion Video` — slashes are part of the real label names.
|
|
|
|
## Actions (39 total, 0 failed)
|
|
|
|
bburgess:
|
|
- Created parents: `Consultants & Vendors`, `Consultants & Vendors > Medline`,
|
|
`Consultants & Vendors > SBDC at JCCC`.
|
|
- Moved + renamed all 30 `INBOX/...` folders into the real hierarchy
|
|
(folder-level Graph move — mail items and child subtrees rode along; ~700
|
|
items total). Single-segment names became clean top-level folders (`Archived
|
|
Labs`, `SBDC`, `Consultants` with its 44-child subtree, etc.); multi-segment
|
|
names nested under `Consultants & Vendors` (9 folders incl. `Kintone` 334
|
|
items, `Medline > Help Line/MedPack`, `SBDC at JCCC > Classes`).
|
|
- `[Gmail]/Fire Inspectin` (4 items) renamed to top-level `Fire Inspectin`
|
|
(rename instead of move+delete — same folder, zero item handling).
|
|
- Deleted after live empty-verification: `[Gmail]/Arvest Banking`,
|
|
`[Gmail]/Kintone`, `[Gmail]/Trash/Insurance.Birth Biologic`, `[Imap]/Drafts`.
|
|
(`[Gmail]/Trash/Insurance`, seen empty in the initial sweep, was already gone
|
|
at execution time.)
|
|
|
|
mster:
|
|
- Deleted empty `[Imap]/Drafts`.
|
|
|
|
## Verification
|
|
|
|
Post-run enumeration of both mailboxes: zero top-level folders matching
|
|
`INBOX/`, `[Gmail]/`, or `[Imap]/`. `Consultants & Vendors` children confirmed:
|
|
Attic Storage, Dan Sight, Eurofins, Healthtrust, Kintone, Medline, SBDC at
|
|
JCCC, SHRM, ShredIt. No name collisions with the 16 pre-existing clean folders.
|
|
|
|
## Notes
|
|
|
|
- Method: Graph v1.0 `mailFolders` POST (create), POST `{id}/move` (re-parent,
|
|
subtree + items intact), PATCH (rename), DELETE (empty only). No per-item
|
|
mail moves except none needed; nothing deleted that contained mail.
|
|
- Outlook/OWA may take a sync cycle to reflect the new tree on Brandy's client.
|
|
- `exchange-op-graph` tier added to remediation-tool get-token.sh (Exchange
|
|
Operator app, Graph audience) — reusable for future mailbox-folder work.
|