Omniscio documentation
Browse all documentation
  1. Getting Started13
  2. Sessions & Agents115
  3. Inbox & Notifications59
  4. Projects & Tasks95
  5. Automation & Scheduling75
  6. Knowledge & Memory26
  7. AI Features60
  8. Integrations100
  9. Plugins & Marketplace33
  10. Cloud & Teams56
  11. Settings & Customization58
  12. Account & Billing28
  13. Troubleshooting84
  14. CLI & API Reference22
  15. Legal & Policies4
  16. Uncategorised22

Supermail Contact Groups

Contact groups let you name a reusable set of people once, then drop the whole group into a Supermail recipient field (To / Cc / Bcc) instead of typing everyone's address every time. Pick a group and each person is added as an individual, removable recipient. There are TWO sources, side by side: Your Google contact groups — the groups you already keep in Google Contacts, shown READ-ONLY.

What it is

Contact groups let you name a reusable set of people once, then drop the whole group into a Supermail recipient field (To / Cc / Bcc) instead of typing everyone's address every time. Pick a group and each person is added as an individual, removable recipient.

There are TWO sources, side by side:

  • Your Google contact groups — the groups you already keep in Google Contacts, shown READ-ONLY. You manage them in Google Contacts; Supermail just lets you use them. They follow you across devices automatically (it's Google's data).
  • Your own in-app groups — quick groups you create right in Supermail, saved on THIS device for the signed-in account.

It is in development and off by default — hidden until you turn it on in Settings → Lab (the supermailContactGroupsEnabled toggle). When off, nothing changes.

Where to find it

In development and off by default — reveal it from Settings → Lab. Once on, groups are managed in Supermail's own Settings → Inbox → Contact groups and used from the composer's recipient fields.

How it behaves

How to use it

  • In the composer: start typing a group's name in To / Cc / Bcc. Matching groups appear ABOVE the individual contacts, each showing how many people are in it (a Google group is tagged "Google"). Select one and everyone in it is filled in as individual chips — a group is never sent as an opaque blob.
  • Make your own: Supermail's Settings → Inbox → "Contact groups" — create a group, rename it, add or remove people by email, or delete it (with undo). Your Google groups are listed there read-only with a note that they're managed in Google Contacts.

Read-only for Google, and why

Supermail can use your Google groups but not edit them — the shared permission is read-only by design. To change who is in a Google group, edit it in Google Contacts and it updates here automatically. Editing is reserved for your own in-app groups.

Requirements + honest states

  • Google groups need Omniscio's shared Google connection turned on ("Use Omniscio's Google connection for mail"). Without it, the Settings section says so and only your in-app groups work.
  • If your Google connection predates the contacts permission, you are asked to reconnect once.
  • Only groups with at least one email-bearing member appear, and the member count reflects people who actually have an email — so "Team (5)" always fills in 5.

For agents

How it works (architecture)

Shaped by Supermail's split (the mailbox / compose UI is the vendored plugin; the Google grant lives only in the main process):

  • Google groups are read through Omniscio's shared Google grant — the SAME read-only contacts.readonly permission the Quick Email address book already uses (no new consent screen). The main process reads the People API contactGroups (USER groups only, resolving each member to a name + email) and returns them over a desktop-only bridge/IPC channel (SUPERMAIL_CONTACT_GROUPS, blocked over the mobile web bridge). The OAuth token never leaves the main process; fetched contacts are held in memory only and are never written to disk.
  • Your in-app groups are device-local — stored in the browser's local storage under a per-account key, so a group made under one account never bleeds into another.
  • Either kind expands to individual recipients before send — the outbound message only ever carries individual addresses, never a group object.

Code: src/main/services/google/google-contact-groups-service.ts (main) + src/plugins/supermail/ui/src/features/contact-groups/ (plugin). Contract: supermail-contact-groups-contract.

Related

Supermail itself covers the client these groups are used from, and the send-shortcuts page explains what happens after you fill the recipient fields.

Last verified 2026-10-06