Join the waitlist
Browse the docs

Microsoft Teams

Last updated 10 September 2026

Reach Ghillie from Teams chats and channels, and have it take meeting notes when you ask it to. Teams is a transport; Ghillie stays on your Mac.


How it behaves

  • In a personal chat, Ghillie replies to every allowlisted sender.
  • In a group chat or channel, it replies only when mentioned.
  • Each chat has its own durable conversation in Ghillie. Each channel thread is isolated into its own conversation.
  • Text replies and consented meeting notes are supported. Attachments and in-Teams approval cards are not yet; approvals stay in the Mac app.

Who can command it

Two allowlists apply. The app registration uses --sign-in-audience myOrg so Microsoft limits the bot to your tenant, and GHILLIE_TEAMS_ALLOWED_USER_IDSis a second, mandatory list of Entra object IDs that Ghillie checks before a prompt reaches Core.

That allowlist is a command-authority boundary, not a suggestion to the model. Messages from anyone else return before command parsing, meeting capture or model execution. Their words can appear only inside a bounded block that the note-taker treats as untrusted source material, never as instructions.

Meeting notes

Ghillie never records silently. A participant has to ask it to take notes, and Teams transcription has to be visibly running. The resulting note is created through one approval-gated write with a trusted title and destination; the transcript itself is kept out of tool routing and out of the stored goal. Every capture, and every cancellation, records the verified Entra ID that authorised it.

Setting it up

  1. Build Core and apply the Teams migrations.
  2. Install the Teams CLI and sign in.
  3. Register the app with --sign-in-audience myOrg.
  4. Set GHILLIE_TEAMS_ALLOWED_USER_IDS and point the webhook at your public HTTPS endpoint.
Terminal
pnpm install
pnpm --filter @ghillie/core build
psql -v ON_ERROR_STOP=1 -d ghillie \
  -f database/migrations/036_teams_channel.sql \
  -f database/migrations/037_teams_meeting_capture.sql

The full walkthrough, including the Teams CLI steps, is in docs/TEAMS.md in the repository. See also Security model.