Skip to content

metadist/Synamail

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

96 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Synamail

Outlook_Plugin

Your Synaplan AI workspace, right inside Outlook. Summarise, translate, draft replies, classify, save emails to your knowledge base, and ask follow-up questions β€” without leaving your inbox. Works in Outlook on the Web (Windows, Mac, and Linux), new Outlook for Windows, classic Outlook 2024, and Outlook on Mac.

Synamail is the Outlook companion to Synaplan β€” the open-source AI knowledge platform. Every action you click runs in your Synaplan workspace, so you need an account first:

  • Just want to use it? Create a free account at web.synaplan.com, then install the add-in (below).
  • Run your own? Self-host the platform from github.com/metadist/synaplan and point Synamail at your instance under "Use a self-hosted instance" on the sign-in screen.

Pick your path

πŸ‘€ I just want to use it πŸ›  I want to build / host it
Install Synamail and start in 60 seconds β€” no technical setup. Run from source, contribute, or self-host against your own Synaplan.
β†’ User Guide (start here) β†’ Developer install & sideload
β†’ Install from the Marketplace β†’ Architecture Β· Contributing
β†’ Privacy in plain words β†’ Commit process Β· Security policy

Not sure if you can use it at work? Many corporate mailboxes restrict add-ins β€” see the User Guide for what to ask your IT team.


The rest of this README is for builders. Everyday users should head to the User Guide.

Project structure

Synamail/
β”œβ”€β”€ README.md                       β€” you are here
β”œβ”€β”€ INSTALL.md                      β€” end-user install (post-release) + developer sideload guide
β”œβ”€β”€ AGENTS.md                       β€” workspace rules (AI + human contributors)
β”œβ”€β”€ LICENSE
β”œβ”€β”€ Makefile                        β€” make help, make ci-local, make sideload, make sync-plugin, …
β”œβ”€β”€ manifest.xml                    β€” Outlook add-in manifest, DEV (validated by CI)
β”œβ”€β”€ manifest_1-0-2_prod.xml         β€” PRODUCTION manifest for the AppSource submission (versioned filename)
β”œβ”€β”€ synamail-plugin/                β€” Synaplan-side plugin (Contact AI Profiling) β€” released
β”‚                                     to synaplan/plugins/synamail via `make sync-plugin`
β”œβ”€β”€ package.json / tsconfig*.json / vite.config.ts / vitest.config.ts / playwright.config.ts
β”œβ”€β”€ eslint.config.js / commitlint.config.cjs
β”œβ”€β”€ .editorconfig / .gitattributes / .gitignore / .markdownlint.jsonc / .nvmrc / .prettierrc.json / .prettierignore
β”œβ”€β”€ .githooks/
β”‚   β”œβ”€β”€ pre-commit                  β€” runs `make ci-local` (or fast docs lint)
β”‚   β”œβ”€β”€ commit-msg                  β€” Conventional Commits validator
β”‚   └── pre-push                    β€” reminds to run E2E when auth/views change
β”œβ”€β”€ .github/
β”‚   β”œβ”€β”€ workflows/ci.yml            β€” staged CI (docs / commitlint / manifest / build / e2e)
β”‚   β”œβ”€β”€ workflows/deploy.yml        β€” build + publish the add-in host image to GHCR
β”‚   β”œβ”€β”€ dependabot.yml              β€” weekly grouped updates
β”‚   β”œβ”€β”€ PULL_REQUEST_TEMPLATE.md
β”‚   └── ISSUE_TEMPLATE/             β€” bug + feature templates
β”œβ”€β”€ Dockerfile / .dockerignore      β€” tiny static host image (serves addin.synaplan.com)
β”œβ”€β”€ deploy/                         β€” container deploy + Caddy ingress runbook (self-host the add-in host)
β”œβ”€β”€ docs/
β”‚   β”œβ”€β”€ USER_GUIDE.md               β€” everyday-user guide (no command line)
β”‚   β”œβ”€β”€ PROJECT_PLAN.md             β€” plan, status, and the AppSource checklist
β”‚   β”œβ”€β”€ RELEASE_SUMMARY.md          β€” v1 scope summary
β”‚   β”œβ”€β”€ ARCHITECTURE.md             β€” technical architecture, auth, API surface
β”‚   β”œβ”€β”€ AUTH_FLOW.md                β€” authoritative sign-in / sign-out flow
β”‚   β”œβ”€β”€ FEATURES.md                 β€” feature contract
β”‚   β”œβ”€β”€ CONTACT_PROFILING.md        β€” Contact AI Profiling design
β”‚   β”œβ”€β”€ CONTRIBUTING.md             β€” contributor entry point
β”‚   β”œβ”€β”€ COMMIT_PROCESS.md           β€” commits, branches, reviews, releases
β”‚   β”œβ”€β”€ GLOSSARY.md                 β€” canonical terminology
β”‚   └── SYNAPLAN_INTEGRATION.md     β€” what changes in synaplan / synaplan-platform
β”œβ”€β”€ src/                            β€” Vue 3 + TypeScript add-in source
β”‚   β”œβ”€β”€ i18n.ts / locales/
β”‚   β”œβ”€β”€ shared/                     β€” client, prompts, types
β”‚   β”œβ”€β”€ taskpane/                   β€” entry, views, components, composables
β”‚   β”œβ”€β”€ commands/                   β€” Office function-file shell
β”‚   └── dialog/                     β€” auth-relay (mock until cross-repo bridge ships)
β”œβ”€β”€ tests/
β”‚   β”œβ”€β”€ unit/                       β€” Vitest unit tests
β”‚   β”œβ”€β”€ component/                  β€” Vue component tests
β”‚   β”œβ”€β”€ e2e/                        β€” Playwright suite
β”‚   └── setup.ts                    β€” Office.js stub for Vitest
β”œβ”€β”€ scripts/                        β€” one-off dev utilities
└── assets/                         β€” icons + AppSource store assets

Reading order for new contributors

  1. AGENTS.md β€” the rules that apply to every commit (humans included).
  2. docs/CONTRIBUTING.md β€” the contributor flow in 90 seconds.
  3. docs/GLOSSARY.md β€” terminology mapping (read before the others).
  4. docs/FEATURES.md β€” what the add-in does.
  5. docs/ARCHITECTURE.md β€” how it does it (auth, API surface, security).
  6. docs/AUTH_FLOW.md β€” the authoritative sign-in / sign-out flow.
  7. docs/SYNAPLAN_INTEGRATION.md β€” what changes (and doesn't) in synaplan / synaplan-platform.
  8. docs/COMMIT_PROCESS.md β€” Conventional Commits, branches, PR, release.
  9. docs/PROJECT_PLAN.md β€” plan, status, and the AppSource checklist.
  10. INSTALL.md β€” end-user install (post-release) + developer sideload guide with the field-tested gotchas.

Quick start

git clone https://github.com/metadist/Synamail.git
cd Synamail
make bootstrap       # enables git hooks, installs dependencies
make doctor          # verifies your local toolchain
make help            # discover the rest

The pre-commit gate that the hook enforces:

make ci-local        # lint + check-types + test + validate + build

This is exactly what CI runs on your PR. See docs/COMMIT_PROCESS.md and docs/CONTRIBUTING.md for the full process.

The Synaplan ecosystem

Synamail is one client of the open-source Synaplan platform:

  • www.synaplan.com β€” product site and hosted workspaces; the place to create a free account.
  • web.synaplan.com β€” the default workspace Synamail connects to out of the box (you can point it at any instance at sign-in).
  • github.com/metadist/synaplan β€” the Synaplan platform (PHP/Symfony + Vue 3), which you can self-host.

Contact AI Profiling ships as a Synaplan plugin in synamail-plugin/ and is released into synaplan/plugins/synamail via make sync-plugin β€” details in docs/SYNAPLAN_INTEGRATION.md.

Sprint summary

Sprint Goal Duration
1 Plan, design, test definitions, GUI spec, engineering scaffold 3–5 days
2 GUI + sideload + live web.synaplan.com identification 2–3 weeks
3 Live AI features, RAG, RULE, contact KB 2–3 weeks
4 AppSource publishing 1–2 weeks + Microsoft review (4–8 weeks calendar)

About

MS Outlook Plugin for Synaplan. Work directly with your Outlook client and your own synaplan account. Locally or remotely.

Resources

License

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors