Microsoft 365 email re-engagement with reply-aware follow-ups
We built tooling for a UK and European finance firm that finds contacts who went quiet and re-engages them from the owner's own mailbox, never double-emailing anyone. One campaign screened 12,298 contacts down to 252 approved people, and four campaigns have run in total. Every contact is approved by the owner before anything is sent.
By ExcenityAI · Published

The challenge
The CRM's email data was unreliable. The owner wanted to restart conversations with dormant contacts personally, in context, and safely.
How it works
- 01Read the mailboxMicrosoft Graph analyses the client's own mailbox history and builds a record for every address.
- 02Cross-check the CRMCompared with a Pipedrive export to find who has truly gone quiet past the cutoff.
- 03Clean the listAutomated senders, out-of-office replies and bulk mail are flagged and removed.
- 04Human approvalThe owner reviews and approves every contact in a spreadsheet before anything is sent.
- 05Match to the real threadEach person is matched to their Outlook thread; shared threads get one email, not several.
- 06Three-step paced sequenceEmail, follow-up and final follow-up, each skipped the moment anyone replies.
What we delivered
12,298 contacts screened
Narrowed to 252 owner-approved people for one campaign. Four campaigns have run in total.
Never emails twice
The build fails if any address or thread would get two emails in a step.
Reply-guard
Stops a sequence if the contact or a teammate has emailed since, ignoring out-of-office replies.
Paced like a person
50 a day, 10 an hour, weekday office hours, with random timing and resumable state.
Dry-run by default
Nothing sends until explicitly switched on, with a daily summary email to the owner.
Runs on the client's machine
Packaged as a self-contained service with a start-here guide per campaign.
Stack
- Microsoft Graph API
- Microsoft 365 / Outlook
- Node.js
- Python
- Pipedrive
- Resend
- macOS launchd
Related service: AI agents & automation

