Appearance
Clients & contacts
A client is an end-user organisation your MSP serves. A contact is a person at the client. Everything in OpsMerge — tickets, assets, contracts, invoices, alerts — attaches to a client, and often to a specific contact.
For the day-one walkthrough of creating your first client, see Add your first client. This article is the reference.
Where to find them
Clients in the left sidebar.
The list shows every client at a glance: name, domain, asset count, ticket count, contract status, last-activity timestamp. Filter by tag, status (active / archived / lead), or search by name/domain.
Creating a client
Clients → + New client. Required: name. Strongly recommended: primary email domain.
Optional on creation but useful later:
- Industry/sector — used in reports and helps OpsMerge tailor some monitoring defaults (e.g. accounting firms get a "watch for end-of-month load spikes" suggestion).
- Time zone — affects SLA clock calculations on tickets created out-of-hours.
- Default ticket priority — usually leave blank (use the priority matrix), but for VIP-only clients you can set a floor.
- Tags — free-text labels used for filtering, reports, and bulk operations.
Client structure
A client has:
- Contacts — people. Some can log into the client portal; others just exist as ticket subjects.
- Sites — geographic or logical groupings of assets. Optional.
- Assets — endpoints, network gear, M365 tenants, anything you manage. Mostly populated automatically by the agent and CIPP sync.
- Tickets, contracts, invoices — the PSA surface.
Each of these has its own tab on the client's page.
Contacts
A contact represents one person. They can have multiple roles on the same record:
| Role flag | What it means |
|---|---|
| Primary contact | The default ticket subject when no individual is specified. Receives general announcements. One per client. |
| Billing contact | Receives invoices and billing-related emails. Can be multiple. |
| Portal user | Can log into the client portal at app.opsmerge.cloud via magic link. |
| Technical contact | Default for RMM/alerting communications. |
| VIP | Special handling in tickets — auto-priority, alerts to your team, no portal-quiet-hours. See VIP contacts. |
A single person can have several or all of these flags.
Adding contacts
- Manually: Client → Contacts tab → + New contact.
- From CSV import: Client → Contacts → Import. Map columns; OpsMerge dedupes by email.
- From M365 via CIPP: if the client is M365-connected, contacts can be imported automatically. See Connect Microsoft 365.
Don't manually duplicate what CIPP knows
If a client is M365-connected, point the CIPP sync at all-users and let it populate contacts. Manual entry then is just for non-employees (vendors, accountants, occasional users).
Portal access
To give a contact portal access:
- Open the contact.
- Tick Portal user.
- Save.
The contact receives a one-off magic-link email immediately. From then on, they can request a fresh magic link at any time from the portal sign-in screen.
There's no password for portal users — they get a magic link emailed on each sign-in. This is deliberate: password-management isn't something most client end-users do well, and magic links neatly avoid the worst failure modes.
Sites
Sites are optional organisational groupings within a client. They don't change billing or RMM behaviour by default — they're for reporting and filtering.
A common pattern:
- A 3-office company gets sites "London", "Manchester", "Home workers".
- An asset's site is set during agent registration (if the registration token was scoped to a site) or manually after the fact.
- You can filter the Agents list, ticket reports, and dashboards by site.
To create a site: Client → Sites tab → + New site. Just a name and an optional location.
Merging duplicate clients
Sometimes — usually after a CIPP sync — you end up with two records for the same client. OpsMerge dedupes by name first, then by domain, but if either differs even by a hyphen, the dedupe misses.
To merge:
- Clients list → tick both records → Bulk actions → Merge.
- Choose the "target" client (the one that survives — the other's records are moved into it).
- Confirm.
Merge preserves all tickets, contracts, invoices, and assets from both. The non-target client is archived (not deleted).
Archiving vs deleting
You can't delete a client that has tickets, invoices, or assets associated. You can archive them: Client → Settings → Archive.
Archived clients don't appear in default views, can't have new things created against them, and don't count toward billing. Their data stays. You can un-archive at any time.
If you genuinely want to delete an archived client and erase its data, contact support — we'll handle GDPR-erasure scenarios manually because there's no way to undo it.
Tags and filtering
Every client and contact can have tags. Tags are free-text — type a new one and it's created.
Common patterns:
- Tier tags:
tier:gold,tier:silver— used to set service-level expectations and filter dashboards. - Vertical tags:
vertical:legal,vertical:education. - Project tags:
migration-2026,m365-rollout— temporary tags for in-progress work.
Filter the Clients list by tag from the search bar.
Bulk operations
The Clients list supports bulk actions:
- Apply tag(s).
- Change contract template (with confirmation).
- Archive (with confirmation).
- Export to CSV.
These respect the current filter — so if you've filtered to "tier:silver" and bulk-apply a tag, only silver-tier clients get it.
Next
- Add your first client — first-time setup
- Contracts — defining what clients pay for
- Email gateway — how the client's domain field routes inbound mail
- Connect Microsoft 365 — auto-importing M365 data