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, including overdue reminders and final notices. Can be multiple. Which chasing emails a client gets is controlled per client — see Payment chasing. |
| 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.
Contact numbers: mobile vs telephone
Contacts carry two separate numbers:
- Mobile number — the person's mobile. For M365-synced contacts this fills from the Microsoft 365 mobile phone field, but a number the contact enters themselves in the portal always wins over sync.
- Telephone (landline) — the business/desk line. For M365-synced contacts this fills from the first business phone in Microsoft 365.
Any portal user without a mobile number on file sees a banner asking them to add one, with a note that you may use it for ticket contact and essential service notifications (outages and the like). They can decline, which permanently dismisses the banner for that contact. You can also just fill the number in yourself on the contact record.
Microsoft 365-synced contacts in the portal
Contacts synced from Microsoft 365 (via CIPP or a direct Entra connection) show a Synced from Microsoft 365 badge on their portal profile, and their name and email are locked there — every sync run overwrites those fields, so portal edits would silently revert. If a synced contact needs a name or email change, it has to happen in Microsoft 365. Mobile and telephone stay editable in the portal.
Which devices a portal user sees
When the portal Devices section is enabled, a standard portal user sees the devices linked to them: any device where they're set as the primary contact, plus any device they've actually signed in to (matched from the device's logged-in user against the contact's Windows username). Setting View all assets on the contact widens that to every device belonging to their client.
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