How it works
- A user opens a new compose window in Outlook.
- Outlook fires the
OnNewMessageComposeevent. commands.jsfetchessignature.htmlfrom your static host.- The signature is inserted with
setSignatureAsync(), falling back tobody.setAsync()on older builds.
Because the sign-off is fetched on each compose, you can change it by editing one file and pushing. Nobody needs to update their own Outlook settings, and you don't need to change the manifest or sideload the add-in again.
Who it's for
A consistent sign-off
Every email from the business ends with the same logo, contact details and legal disclaimer, however many people are sending.
Campaigns in every inbox
Swap in a seasonal sale, event or award banner once and it appears on everyone's emails straight away. Take it out just as easily.
Small teams, not one person
If you're the only person sending, pasting a template into your Outlook signature settings does the same job. This is worth it once there's a team to keep in line.
What the sign-off looks like
Sam Taylor
Office Manager
The block below the dashed line is the sample signature.html from the repo. Replace the logo, details, banner and disclaimer with your own before you deploy.
Where it runs
Windows
New Outlook for Windows, and classic Outlook on Windows 10 version 1903 or later.
Mac
New Outlook for Mac only. Classic Outlook for Mac doesn't support event-based activation.
Web
Outlook on the web, signed in with a Microsoft 365 account.
Classic Outlook for Windows builds older than Version 2403 can't run the async/await code in commands.js, so the signature won't appear there. The README explains the workaround.
What's in the repo
manifest.xml | The add-in manifest. You sideload it into Outlook. |
commands.js | The event handler that fetches and inserts the signature. |
signature.html | The company sign-off block. Edit this to change it for everyone. |
_headers | CORS headers so Outlook can fetch the files. |
skills/ | Notes for extending the POC: per-user signatures, templating and caching. |
Get started
- Fork or clone the repository.
- Edit
signature.htmlwith your company logo, name, address, website, social links and disclaimer. Add a campaign banner if you want one. - Deploy the repo as a static site. The guide uses Cloudflare Pages on the free plan.
- Replace the
YOUR_DOMAINplaceholders inmanifest.xmlandcommands.js, and give the manifest a fresh GUID. - In Outlook, go to Insert → Add-ins → My Add-ins → Add a Custom Add-in → Add from File and pick your
manifest.xml.
The full deploy guide and troubleshooting notes are in the README.
Is DIY right for you?
This is the DIY end of the spectrum: one sign-off block for the whole team, nothing to run, and it's yours once you fork it. If you need different signatures per person or department, an admin dashboard or central deployment, have a look at a commercial platform such as SigHQ to see what that space looks like.