CRM Intake
4 new files awaiting acceptance · How intake works
Just arrived
Rosa Alvarez
Delayed
KYC pending
Arrived via CRM API · 2 min ago · ref CRM-88213
Referred by Coastal Realty Group · via CRM
Matt Belcher
Reverse
KYC pending
Arrived via CRM API · 26 min ago · ref CRM-88209
Assign coordinator
TB
Tom Bottenberg
198 active files
You
MR
Marisol Reyes
176 active files
DP
Devon Park
152 active files
LN
Lena Novak
137 active files
Dana Whitfield
Delayed
KYC pending
Arrived via CRM API · 1 hr ago · ref CRM-88204
Omar Haddad
Improvement
KYC pending
Arrived via CRM API · 3 hr ago · ref CRM-88196
Referred by Keystone Commercial Advisors · via CRM
Design variant — shown when the queue is empty
All caught up
An exchange appears here as soon as it is created without a coordinator, from your CRM or this console.
Build contract — CRM intake
1 · Intake is arrival, not creation. A row here is an exchange the CRM already created
through POST /exchanges; acceptance assigns a coordinator and arms the workflows. Nothing on this
screen invents a file, so "accept" must be idempotent and safe to retry.2 · Provenance is rendered, never inferred. Every card states its channel, its arrival time and its CRM reference. A file whose origin cannot be named must show manual intake and the user who opened it — never a silent blank.
3 · KYC stays the first gate. Every arriving file carries KYC pending until the exchanger completes identity verification themselves. Acceptance and assignment do not advance it, and this surface must never offer a control that marks identity verified on the exchanger's behalf.
4 · Assignment is a load decision. The popover shows each coordinator's live file count so the choice is informed rather than habitual. You is a suggestion, not a default — accepting must not self-assign without an explicit click.
5 · Acceptance and assignment are audit-logged, with the actor, the timestamp and the prior assignee on reassignment. The footer states this where the decision is made, not in a settings page.
6 · The empty state is the healthy state. An empty queue means the integration is working, so it reads as confirmation — and the connection pill stays visible so "empty" is never confused with "broken".
Light and dark are both designed here. All names, addresses, amounts, and CRM references are synthetic demo data.