Client CRM
TOOLS · EXPERTINI ATS

Client CRM

The full agency-side CRM: commission rules, confidential postings, realized and projected earnings, and a client-facing review portal.

2 min read · Updated July 2026 · Expertini Editorial

The full agency-side CRM layer — client records with commission models, jobs linked confidentially, realized and projected earnings, client reports, a client-facing review portal, and prospecting and outreach tracking, all in one place.

A direct-employer ATS is built around one organisation hiring for itself. An agency's actual workflow is structurally different: multiple clients, commission on each placement, and a genuine need to sometimes mask who's hiring until a candidate is ready to be presented. This is the layer built specifically for that difference.

Watch the 30-second overview — no sign-up needed

01What it does

Create client records with industry, size, and commission (percent or flat fee), link jobs to a client with optional confidential masking, see realized and projected commission per client, generate a shareable client report, and share specific candidates via a tokenized, no-login Client Review Portal.

02Who it's for

Recruitment agencies managing multiple hiring companies simultaneously, who need commission tracking, confidential postings, and client-facing reporting in one connected system rather than spreadsheets alongside a generic ATS.

03What makes this different

Commission figures are strictly internal-only and never exposed on the client-facing Client Review Portal, and confidential postings mask a client's identity using their own industry and size data rather than a generic placeholder — details that matter specifically to agency workflow.

04Why it matters

This is what turns Expertini ATS into a genuine agency platform rather than just a single-employer tracker — confidentiality, commission, and client-facing reporting are the specific pieces an agency workflow actually needs that a direct-employer ATS doesn't provide.

05Pricing and what's included

Included from the Professional plan upward, with a 14-day free trial available to evaluate the agency-side tools before committing.

06Support

The Help Center covers commission model setup and the Client Review Portal in detail; support@expertini.com is available for anything else.

Engineering notes

Platform architecture & operations

A1Architecture: where it sits in the platform

Client CRM is a first-class module of the Pipeline & Client Management suite inside the authenticated Expertini ATS workspace. The platform is deliberately server-rendered: every view is prepared by the application server and shipped as complete HTML, with no client-side framework, no third-party CDN scripts, and no build pipeline between the data and the page. What renders is what the server computed — the property that makes the interface auditable.

All persistence runs on a single search-native document store; every query carries the organisation's identifier as a mandatory filter at the lowest query layer. Tenant isolation is therefore structural — a property of how every request is composed — rather than a policy that relies on application code remembering to check.

Availability is governed by the platform's tool registry: this tool is registered from the Professional plan, and access is enforced server-side by the registry gate on every request — never by hiding a button. Plans also carry a monthly distinct-tool quota (3 / 5 / 15 / 30 / 45 across Trial→Business, unlimited on Enterprise), counted at the same chokepoint. The pricing page states both honestly: what is available, and how much of it the month includes.

A2Data model and dependency map

In production the tool reads and writes client accounts (Client CRM) (ats_clients), job requisitions (ats_jobs). Documents are plain, explicitly-mapped fields — mappings are provisioned ahead of first write, so term filters and aggregations behave deterministically instead of depending on inferred types.

Every distinct open is journalled to the tool-activity store — and that journal, not a parallel analytics system, is what the Reports section aggregates. The usage numbers you see are the numbers the platform actually recorded.

Anything that leaves the request path — notification fan-out, webhook delivery, activity journalling, mail — runs in fire-and-forget background threads. A slow external endpoint can never make the interface hang, and a failed side effect is logged rather than silently retried into inconsistency.

A3Operational considerations

Organisation-level settings, destructive actions, and connections are gated to owner and admin roles; recruiters operate the tool on the records they can see. Role changes apply on the next request — enforcement is at the route, not in the menu.

Failures are surfaced, not swallowed: server-side validation returns the exact field and reason, vendor errors are quoted verbatim where integrations are involved, and every write either confirms or reports. Exports regenerate on request rather than being cached — a report you download reflects the store at the moment you asked, not last night's snapshot.

Everything written is yours to take: CSV exports and the Data Export app cover the same stores the product itself reads. The exit is as open as the entrance — by design, not concession.

A4Interaction contract

The interface follows the platform's search-and-select convention: any field that names a real record — a candidate, client, or job — is a type-to-search picker over live data, never a free-typed string, which is what keeps activity trails and deduplication trustworthy. Static choices are filter-as-you-type combos rather than native dropdowns, and state transitions give explicit feedback: server confirmations surface as toasts, validation errors name the exact field, and nothing is shown as done that the server has not confirmed.

The wireframe and flow below document the structural contract of the surface — what panels exist, what order the states occur in, and what happens at every edge — rather than pixels. The layout is composed with native CSS grid and flexbox and adapts from wide desktop to a single column without separate mobile views.

Dependency map

Reads / writesats_clients, ats_jobs
Access gateProfessional plan and above — enforced server-side by the tool registry
Monthly quotadistinct tools per month: Trial 3 / Starter 5 / Growth 15 … unlimited on Enterprise
Usage journalats_tool_activity (per open)
Tenancyevery query filtered by organisation id at the query layer
Side effectsbackground threads — never on the request path

Interface blueprint

Structural schematic of the surface — panels, hierarchy, and interaction affordances. A contract, not a screenshot.
Stage 1
Stage 2
Stage 3
Stage 4
Cards move by drag; every move is a validated server write before the board shows it.
Fig. 1 — Client CRM: structural interface schematic. Panels and states are the contract; data shown is placeholder.

Interaction flow — states, validations, feedback

Every state below is enforced server-side; the interface reports it, it doesn't decide it.
Load boardorg-scoped query builds every column server-side
Drag cardstage change picked by direct manipulation
Server writevalidated, org-checked, journalled
Confirmed stateboard reflects only what the server confirmed
Fan-outnotifications + webhooks fire in the background
Failed write → toast with the reason; no divergent local stateNo permission → the action is rejected at the route, not greyed out client-sideEmpty column → honest empty state with the next step, never filler
Fig. 2 — interaction flow: navy = states, gold = server-enforced gates, green = confirmed outcomes; tags list the edge cases and their feedback.

Frequently asked questions

Can a client see commission figures on the Review Portal?
No — commission figures are strictly internal-only and never shown on the client-facing Client Review Portal.
How does confidential posting masking work?
It masks the client's identity using their own industry and size description rather than a generic placeholder, so candidates still get a meaningful sense of the opportunity.
Does this replace the standard candidate pipeline?
No — it layers agency-specific structure (clients, commission, confidentiality) on top of the same pipeline every job uses.
What plan includes Client CRM?
Professional and above, with a 14-day free trial available.

At a glance

  • Included from the Professional plan upward
  • Commission figures are internal-only, never shown on the Client Review Portal
  • Confidential postings mask identity using the client's own industry/size data
  • Realized and projected earnings tracked per client
  • Tokenized, no-login candidate sharing via the Client Review Portal
  • 14-day free trial available

See client crm on your own hiring.

Bring a real job description to a 30-minute demo — free trial included.

Book a demo
Expertini AI
Online now
Hi! I'm Expertini's AI Product Expert. Ask me anything about our solutions, get guidance on any of our Hiring Tools, or just tell me what you're trying to do — I'll point you in the right direction. For account-specific issues, email support@expertini.com.