Filter and trigger on who owns the record by group, not just by individual user. Two new operators — Belongs to Group and Does not belong to Group — are now available on every user-based field, everywhere conditions are written: workflows, reports, and list-view filters. The Last Modified By field has also been opened up so the full set of equality and group operators is available on it.
1. What This Feature Does
Every record in the CRM has at least one user-based field — Assigned To. Opportunity records additionally have Sales Rep and Closing Agent. Every record everywhere has Last Modified By. Until now, conditions on those fields were limited to a small set of operators:
● Assigned To, Sales Rep, Closing Agent — Is, Is Not, Has Changed.
● Last Modified By — Is Empty, Is Not Empty, Has Changed.
That worked for “is the record owned by Jane Doe?” but not for “is the record owned by anyone on the West Coast Admissions team?”. Building the second kind of rule required listing every team member by name, and keeping the rule in sync as team members joined and left.
CRM-1730 closes that gap by adding two new operators to every user-based field’s condition picker, throughout the CRM:
● Belongs to Group — true when the field’s user belongs (directly or via role hierarchy) to a chosen Group.
● Does not belong to Group — true when the field’s user does not belong to the chosen Group.
It also broadens Last Modified By: in addition to Is Empty / Is Not Empty / Has Changed, the field now accepts Is, Is Not, Belongs to Group, and Does not belong to Group, the same as any other user-based field.
These operators are available consistently in all three places where conditions are written:
Surface | New behaviour |
Workflow conditions | Trigger or filter a workflow based on the user-group ownership of the record (Assigned To / Sales Rep / Closing Agent / Last Modified By). |
Report filters | Constrain a report to records owned by — or modified by — anyone in a particular Group. |
List View filters | Build saved list views that show only records owned by — or modified by — anyone in a particular Group. |
The same Group dropdown drives all three surfaces, so a Group you can pick in a workflow is the same Group you can pick in a Report or a List Filter.
2. Audience and Permissions
Role | What They Do |
CRM Administrator | Sets up the Groups under Settings → Roles & Sharing → Groups (no change here — this is the existing Groups configuration). Builds workflows and centrally-managed Reports / List Views that use the new operators. |
Power user / Team lead | Builds personal saved list-view filters and reports using Belongs to Group — e.g. "Records owned by anyone on the Admissions Team". |
End user | Sees the new operators in the condition pickers whenever they create a filter or report. No extra permission is required. |
The operators inherit the existing permissions of the surface they’re used in:
Anyone who can edit workflows can use the new operators in workflow conditions.
Anyone who can create reports can use them in report filters.
Anyone who can create personal list-view filters can use them there.
Picking a Group from the dropdown requires read access to that Group’s definition — which every CRM user already has, since Groups are part of the public sharing model.
3. Where the New Operators Appear
3.1 Workflow Conditions
Settings → CRM Settings → Workflows.
Open an existing workflow or create a new one. The workflow can be on any module.
Open the Conditions section.
Pick a user-based field — Assigned To, Sales Rep, Closing Agent, or Last Modified By (the field list depends on the source module).
Open the Operator dropdown.
Alongside the existing entries, you now see:
Belongs to Group
Does not belong to Group
Pick one of those operators and a Group selector appears in the value column. The selector lists every Group defined in Settings → Roles & Sharing → Groups. Pick exactly one Group; save the condition.
3.2 Report Filters
Reports → Edit (or create) a report.
On the Filters step (Standard or Advanced), pick a user-based field column. }
Open the Operator dropdown.
3.3 List View Filters
Open any module’s List View.
Click + Create New Filter (or edit an existing one).
Use the Advanced Filter rows to pick a user-based field.
Open the Operator dropdown.
Same two operators, same Group selector. Save the filter; share it with your team if it belongs to a role-wide view.
4. What “Belongs to Group” Actually Tests
When the CRM evaluates Belongs to Group for a record:
It reads the user ID currently held in the chosen user-based field on that record (Assigned To, Sales Rep, Closing Agent, or Last Modified By).
It looks up that user’s Group memberships through the standard sharing model.
It resolves the chosen Group’s full membership, expanding any nested groups, sub-groups, and role-based sub-groups along the way (the same expansion the rest of the CRM uses for sharing).
The condition is true if the user is part of the resolved Group membership, false otherwise.
Does not belong to Group is the strict negation of the above — including for records where the user-based field is empty (which counts as not belonging to any group).
Membership is dynamic. When a user is added to or removed from a Group, every condition that uses Belongs to Group picks up the change immediately on the next evaluation — no need to re-save the workflow / report / list filter.
4.1 Multiple groups
The operator takes one Group at a time. To express “Belongs to Group A or Group B”, add two condition rows joined by OR — one for each Group. To express “Belongs to Group A and Group B” (a less common but valid case), add two rows joined by AND.
4.2 Empty user fields
Belongs to Group on an empty user field is false (an empty user belongs to nothing).
Does not belong to Group on an empty user field is true.
This matters most for Last Modified By on brand-new records, where the field has just been set, and for any Assigned To fields that are not mandatory.
5. Last Modified By — Now a First-Class User Field
The Last Modified By field is now treated as a full user-based field for condition purposes. Operators now available:
Operator | What it does |
Is Empty (existing) | True when the record has never been modified by a tracked user (rare — mostly on freshly imported records). |
Is Not Empty (existing) | True when the record has been modified by a tracked user. |
Has Changed (existing) | True when the most recent save updated this field — i.e. a different user touched the record this time. |
Is (new) | True when the last modifier matches a specific user picked from the user dropdown. |
Is Not (new) | True when the last modifier is anyone other than the picked user. |
Belongs to Group (new) | True when the last modifier belongs to the chosen Group. |
Does not belong to Group (new) | True when the last modifier does not belong to the chosen Group. |
The same operator list is now identical across all four user-based fields you can routinely target — Assigned To, Sales Rep, Closing Agent, Last Modified By — so administrators don’t have to remember field-by-field exceptions.
A note on Has Changed. Has Changed is meaningful only inside workflow conditions (it compares the record’s before vs after state on save). It is intentionally not offered in report filters or list-view filters, where there is no “before save” state to compare against.
6. Worked Examples
6.1 Workflow: notify a lead when an Admissions Team member is assigned
Step | Configuration |
Module | Leads |
Trigger | On Modify |
Condition | Assigned To — Belongs to Group — Admissions Team |
Task | Send Email to Lead — "Welcome from Admissions" |
When a Lead’s Assigned To changes to anyone on the Admissions Team, the welcome email fires automatically. Adding a new admissions rep to the Group later requires no workflow edit — the next assignment to that rep also triggers the workflow.
6.2 Workflow: alert when a non-team-member touches a sensitive record
Step | Configuration |
Module | Contacts |
Trigger | On Modify |
Condition | Last Modified By — Does not belong to Group — Customer Service Reps AND Confidential Flag = Yes |
Task | Notification to Security Officer + Audit log entry |
If a confidential Contact is modified by anyone outside the Customer Service group, the security team gets pinged.
6.3 Report: pipeline owned by the West Coast Sales team
Step | Configuration |
Report | Intake Opportunities — Open Pipeline Value |
Filters | Sales Rep — Belongs to Group — West Coast Sales |
Grouping / Chart | Stage |
The report includes every open Opportunity whose Sales Rep belongs to the West Coast Sales group, even when team membership changes between runs.
6.4 List view: my team’s open Accounts
Step | Configuration |
Module | Accounts |
Filter | Assigned To — Belongs to Group — My Team AND Status = Active |
Saved as | "My Team’s Active Accounts" |
Share with the team. Every member sees the same evolving list of records owned by anyone in their Group, without each user maintaining a personal copy.
6.5 Report: anything not modified by the Admin team
Step | Configuration |
Report | All Modules — Recent Activity Audit |
Filters | Last Modified By — Does not belong to Group — CRM Administrators |
Useful for change-tracking audits: surface every record whose most recent change came from a non-admin user.
6.6 Workflow: assignment hand-off between teams
Step | Configuration |
Module | Intake Opportunities |
Trigger | On Modify |
Condition | Assigned To — Has Changed AND Assigned To — Belongs to Group — Senior Counsellors |
Task | Email previous owner + create internal task |
Detects when an Opportunity escalates from a junior counsellor (the previous owner) to a senior counsellor (the new owner’s group), and notifies the previous owner that the hand-off has happened.
7. Common Tasks — Step by Step
7.1 Add a “Belongs to Group” condition to an existing workflow
Settings → CRM Settings → Workflows — open the workflow.
Open the Conditions section.
Click + Add Condition.
Pick the user-based field (Assigned To / Sales Rep / Closing Agent / Last Modified By).
Open the Operator dropdown and pick Belongs to Group.
From the Group dropdown, pick the group.
Combine with any other conditions using AND / OR.
Save the workflow.
7.2 Create a “Records owned by my team” personal list view
Open the module’s List View.
+ Create New Filter → name it “My Team’s Records” (or similar).
On the Advanced Filter rows, add: Assigned To — Belongs to Group — pick your team’s Group.
Add additional conditions (status, dates, etc.) as needed.
Save and optionally share with the team.
7.3 Convert a long “Assigned To Is [user]” rule into a single group rule
If you currently maintain a workflow / report / filter with a stack of “Assigned To Is user A” OR “Assigned To Is user B” OR … rows:
Open the rule.
Note which users it currently lists.
Confirm those users all belong to a single, well-defined Group. If they do not, create one under Settings → Roles & Sharing → Groups first.
Replace the long OR chain with one row: Assigned To — Belongs to Group — your-group.
Save.
From now on, adding or removing a user from the Group updates every rule automatically. You no longer have to revisit the rule for team changes.
7.4 Audit which workflows / reports / filters depend on a Group
The Groups page lists every Group, but does not currently surface “where is this Group used?”. To audit dependencies on a Group:
Workflows — open Settings → Workflows; the condition column shows the Group name in any row that uses the operator.
Reports — review the active report definitions; the filter row will show the Group name.
List filters — open each module’s saved-filter manager; the conditions will show the Group name.
Before deleting a Group, scan each surface to make sure no critical rule depends on it. Deleting a Group used by a rule renders that rule’s condition unsatisfiable (it can match nothing) but does not delete the rule itself.
8. How the New Operators Interact with Existing Behaviour
8.1 Sharing and visibility
Group membership is the same as elsewhere in the CRM — including role-based sub-groups in the standard sharing hierarchy. Anyone visible in the Group via that hierarchy counts as a member here.
A user removed from a Group is no longer matched the next time the condition evaluates. Existing rule outputs (e.g. workflow runs already done) are not retroactively re-evaluated.
8.2 Combining with other operators
The new operators play with the standard AND / OR / NOT logic at every surface:
Assigned To Belongs to Group A AND Status = Active
Sales Rep Belongs to Group A OR Closing Agent Belongs to Group A
NOT (Assigned To Belongs to Group A) — equivalent to Does not belong to Group A (use the explicit operator for clarity).
8.3 Backward compatibility
Existing rules using Is, Is Not, Has Changed, Is Empty, Is Not Empty are unaffected. The new operators are pure additions.
Saved filters and workflows that did not use a Group operator continue to work exactly as before. No migration is required.
The Group selector replaces the user selector only when one of the new operators is chosen; switching back to Is / Is Not / Has Changed restores the user selector.
8.4 Performance
Group-membership lookups use the standard cached sharing-membership tables, so the new operators are roughly as fast as Assigned To Is user. There is no measurable additional load on workflows or reports.
9. Limitations and Things to Watch For
One Group per operator row. Each condition row selects exactly one Group. To match multiple groups, add multiple rows joined by OR.
No “Belongs to Role” operator. This feature is for explicit Groups, not for ad-hoc Roles. If you need role-driven conditions, define a Group whose membership rule includes the role and use that Group.
Last Modified By + Has Changed is workflow-only. Report and List filters do not offer Has Changed because they have no “before-save” snapshot.
Deleting a Group does not cascade. Removing a Group leaves every rule referencing it dangling — the rule’s condition becomes unsatisfiable, but the rule itself is preserved. Audit before deleting (see Section 7.4).
Personal list filters do not see Groups you can’t see. This shouldn’t be an issue in practice — Groups are public — but if you’ve restricted Groups by custom code, only visible Groups appear in the dropdown.
No bulk “convert OR-chain to Belongs-to-Group” tool. Replacement is manual per rule (see Section 7.3).
Empty user fields evaluate predictably. Belongs to Group → false; Does not belong to Group → true. Watch this when reasoning about records with no Assigned To (rare for live records but common for newly-imported staging data).
10. Troubleshooting
Symptom | Likely Cause | What to Do |
The new operators are not visible in a condition picker. | Browser cache pre-dates the rollout, or the picker is bound to a non-user field (the operators only appear on user-based fields). | Hard-refresh. Confirm the chosen field is Assigned To, Sales Rep, Closing Agent, or Last Modified By. |
The Group dropdown is empty. | No Groups have been defined on this instance. | Settings → Roles & Sharing → Groups → create the Group; come back and pick it. |
A workflow with Belongs to Group fires for users who are not obviously in the Group. | The Group includes sub-groups, role-based members, or sharing-hierarchy inclusions. | Open the Group's definition and verify its full resolved membership. |
A workflow with Belongs to Group does not fire for a user who is in the Group. | The Group's caches are stale (rare), or the user was added after the last membership cache rebuild. | Re-save the user or the Group. The next condition evaluation will rebuild the cache. |
Reports based on Belongs to Group show fewer rows than expected. | The user-based field is empty on the records you expected to see. | Confirm the field is populated; remember empty fields evaluate to false for Belongs to Group. |
List filter shared with the team shows different counts per user. | Other conditions in the filter use role-restricted fields that resolve differently per viewer. | Inspect the filter's other condition rows; remove or adjust user-dependent ones. |
Operator dropdown for Last Modified By still only shows Is Empty / Is Not Empty / Has Changed. | Cached UI; or the surface (e.g. an older list-filter screen) has not yet been re-rendered for this user's session. | Hard-refresh. If the older operator set persists across surfaces, contact CRM support. |
Switching from Is to Belongs to Group leaves a stale value in the dropdown. | Race condition in the picker re-render. | Re-pick the operator, then pick the Group fresh. |
Workflow runs across the whole user base instead of only Group members. | The condition was saved with Is Not + an empty user (matches every non-empty assignee) instead of Belongs to Group. | Re-open the condition and pick the right operator + Group. |
Group dropdown lists a Group I can no longer find under Settings → Groups. | Group was renamed or moved by another admin. | Refresh Settings → Roles & Sharing → Groups to confirm; rename your rule's reference if needed. |
If a problem is not in this table, capture the surface (Workflow / Report / List), the condition row, and the Group name, and contact CRM support.
11. Frequently Asked Questions
Q. Are Groups and Roles the same thing? No. Roles drive the user hierarchy (who reports to whom, who sees whose records). Groups are explicit named collections of users, often used for sharing. CRM-1730 is about Groups, not Roles directly. To filter by a Role, define a Group whose membership rule includes that Role.
Q. Can I match a user belonging to any of multiple Groups? Yes — add one condition row per Group and join them with OR.
Q. Does Belongs to Group honour role-based sub-groups inside the chosen Group? Yes. The expansion follows the same logic the rest of the CRM uses for sharing, including role-based and nested sub-groups.
Q. Will a workflow re-run if I add a user to the Group after the workflow already ran for that record? No. Group membership changes do not retroactively re-trigger past workflow runs. They affect every future condition evaluation.
Q. Can I use Belongs to Group in a report’s grouping (not filter)? No. The new operators are filter operators. Reports continue to group by the user-based field’s value (the user’s name); they do not group by Group membership directly. To produce per-group counts, build a saved-search per Group, or use a calculated field upstream.
Q. What happens to existing rules with Has Changed on a user field? Nothing. Has Changed continues to work in workflow conditions as before.
Q. Are the operators consistent between Standard Filters and Advanced Filters in Reports? Yes. Both surfaces expose the same operator set on user-based fields.
Q. Does this work on custom user-type fields I’ve added through the Layout Editor (e.g. a custom Account Manager user field)? Yes. Any custom field of type User/Group List (UI type 53) inherits the same operator set globally.
Q. Does it work with the User/Group dual-field type? The chosen user-based field’s user value is tested for Group membership. If the field holds a Group value directly (a User/Group field set to a Group), the operator simply asks whether that Group is the same as the picked Group — equivalent to Is.
Q. Can the Group selector pick a sub-group only, instead of its parent Group? The selector lists every Group defined in Settings → Groups, including sub-groups, by their explicit name. Pick the most specific Group you want to test against.
Q. Does this affect API or webservice queries? The new operators are exposed in the standard query builder, so any saved filter or report that uses them returns the same data via API/webservice as it does in the UI.
Q. Can I lock down which users can pick certain Groups? No. The Group selector shows every Group the user can see. Restrict via the standard Group visibility settings if needed.
12. Summary
Two new operators — Belongs to Group and Does not belong to Group — are now available on every user-based field, in workflows, reports, and list-view filters.
The Last Modified By field now accepts the same full operator set as other user fields (Is, Is Not, Belongs to Group, Does not belong to Group), in addition to Is Empty, Is Not Empty, and Has Changed.
Group membership is resolved through the standard CRM sharing model, including nested and role-based sub-groups, and refreshes immediately when membership changes.
Use the new operators to replace long Is-or-Is-or-Is chains with a single Group reference that stays current as the team evolves.
Limitations: one Group per operator row, no Role operator (use a Group as a proxy), Has Changed still workflow-only, deleted Groups leave dangling rule references.
End of guide — CRM-1730.