Group selection & exclusion
Overview
By default, RingSync syncs all users in the connected directory (subject to the mapping rules — guests and accounts without a name or mail are skipped). On Pro and above plans, you can narrow the scope by group.
Group selection and group exclusion are Pro and above features. On Starter, sync scope is always "all users". Attempting to enable group filtering on Starter triggers an upgrade prompt.
Sync scope: all vs groups
The sync scope is set per directory in Settings:
- All — every eligible user in the directory is synced.
- Groups — only members (resolved transitively, including nested groups) of the selected groups are synced.
Group exclusion
Independently of the scope, you can list groups whose members are excluded from sync. Exclusion applies in both modes:
- In all mode, every eligible user is synced except members of the excluded groups.
- In groups mode, members of the selected groups are synced except those who also belong to an excluded group.
In other words, exclusion always wins over inclusion.
Exclusion is stored server-side as a snapshot of {id, displayName} for each excluded group, and is enforced by the proxy regardless of the sync scope.
Impact on incremental sync
Group filtering changes how the delta works:
- In all mode, RingSync uses the provider's incremental delta where available.
- In groups mode, the provider does not support a delta over group-scoped queries, so RingSync performs a full fetch and synthesizes removals for users who have left the scope.
- Changing the scope (all ↔ groups) resets the delta link, forcing the next sync to be a full sync. This guarantees that users newly in or out of scope are correctly added or removed on devices.
Google's Admin SDK Directory API has no delta API, so Google syncs are always full fetches. The device diffs against its local map to detect removals. Group filtering therefore has no additional delta cost on Google.
Effect on seats and billing
Filtering changes which contacts are synced, but seats are counted from authorized grants, not from group filters. See the in-app billing screen for how active seats are defined and counted.