Tool Story
Email Approvals
Get stakeholder sign-off on campaign emails without the zip file.
The problem
Before every major send, someone had to get approval from people who weren't in HubSpot.
The old process: send yourself a test email. Screenshot every version. Drop them in a folder. Zip it. Email the zip to the right people. Wait for feedback to come back however it came back — email, Slack, a hallway conversation — then track down who had actually approved and who was still outstanding.
Then do it again if anything changed.
It was 2026 and we were approving marketing emails like it was 2009.
What it does
Load the campaign. Generate a shareable link. Anyone with the link can see every email rendered exactly as it will look in an inbox — no login required. They approve or request changes directly on the page. The moment they do, a Slack notification fires automatically.
No zip files. No screenshot folders. No “did you get my email?” No manual approval tracking.
How it works
Campaign URL in → select the emails → generate approval link → share it → stakeholders see every email rendered in full → they approve or request changes on the page → Slack notification fires automatically → approval history logged in one place.
Why it's helpful
What used to take an hour of screenshot logistics is now one link and a Slack message. Stakeholders don't need a HubSpot login. Feedback lives in one place. And nobody has to ask “are we approved to send?” because the answer is right there in the approval history.
See it
Screenshots and a walkthrough coming soon.
Under the hood
Python / Flask, HubSpot API, Slack webhooks, deployed on Railway.