A law firm can connect four systems and still have no trustworthy view of an inquiry. The advertisement records a click, call tracking records two calls, the CRM creates a contact and a lead, and case software later opens a matter. Without agreed identities, events, and field owners, the integration moves data while the firm counts the same person several times and loses the original source.
The right first deliverable is a data contract: a short, testable agreement about what each record represents, which system owns each fact, how events link, and how failed transfers are recovered. Configure APIs and automations after that contract exists.
Model people, inquiries, events, and matters separately
These records answer different questions:
Scroll sideways to review every column.Each row is shown as a labeled card.
| Record | Meaning | Example question |
|---|---|---|
| Contact | A person or organization the firm may communicate with | Have we seen this person before? |
| Contact event | One call, form, chat, text, email, or scheduled interaction | What happened at 10:14? |
| Inquiry | A distinct request for help under the firm’s reporting rule | What did this person ask the firm to consider? |
| Opportunity/review | A defined attorney or authorized review step | Did the request advance to substantive review? |
| Engagement | A documented decision and agreement under the firm’s procedure | Was an agreement signed? |
| Matter | Work accepted and opened in the case/practice system | Did the signed engagement become active work? |
| Financial event | Expected, billed, gross, collected, cost, or contribution record | What economic outcome is known, and when? |
One contact can have multiple contact events and multiple inquiries over time. One inquiry can generate several attempts. A signed agreement may precede matter opening. A financial result may mature much later.
Define an eligible distinct inquiry as one deduplicated request that meets a stated inclusion rule. Keep a preliminary qualified inquiry separate from an attorney-reviewed opportunity. Those terms should never be interchangeable merely because a platform uses one field called “lead status.”
Write the minimum identity map
Use stable internal identifiers instead of phone number or email as the primary key. People change details; households share them; tracking numbers can replace them; and staff make corrections.
A minimum map might include:
Scroll sideways to review every column.Each row is shown as a labeled card.
| Identifier | Created by | Persists into | Rule |
|---|---|---|---|
C-014 contact ID |
CRM | Intake and matter link | Identifies the person record, not an inquiry |
I-001 inquiry ID |
Intake/CRM | Reporting and matter link | One distinct request under the inclusion rule |
E-033 event ID |
Channel connector | Event ledger | One observed interaction or state change |
M-008 matter ID |
Case system | Reporting link | Created only when the firm opens the work |
| campaign/source ID | Marketing platform or governed mapping | Inquiry source history | Original value stays immutable |
Do not merge records silently. A duplicate-resolution event should say which records were reviewed, which identifier survived, who approved it, and when.
Make a field-owner contract
“Two-way sync” is not a definition. Decide the direction and conflict rule for each field.
Scroll sideways to review every column.Each row is shown as a labeled card.
| Field | Source of truth | Allowed writers | Transfer direction | Conflict rule |
|---|---|---|---|---|
| Original source evidence | Capture/event ledger | Connector; governed correction appended | Marketing → intake/reporting | Never overwrite raw value |
| Contact preference | CRM/intake | Authorized intake staff | CRM ↔ approved communication tools | Latest verified preference wins; retain history |
| Current intake stage | Intake CRM | Named intake roles | Intake → reporting | Reject unknown values to exception queue |
| Attorney review outcome | Approved review workflow | Authorized reviewer | Review → CRM/reporting | Reviewer event controls; corrections are appended |
| Matter opened | Case system | Authorized case operations | Case → CRM/reporting | Matter system event controls |
| Collected fee | Financial system | Finance | Finance → limited reporting | Finance definition and close rules control |
Mark sensitive fields and the roles that can see them. Marketing usually needs categorized outcomes and source context, not the full prospective-client narrative.
Preserve raw source and governed interpretation
Store the original source value alongside normalized campaign, channel, and service categories. If a phone system captured tracking number TN-7, an ad platform supplied campaign_id=8432, and staff later classified the request as “estate planning,” all three facts can coexist.
Do not replace the raw campaign identifier with “Google” or replace the caller’s words with a marketer’s category. Raw evidence supports audit and reclassification. Governed categories support reporting.
The CallRail tracking discussion gives historical product context, but current behavior and fields should be verified in the actual account before configuration.
Use an event ledger for the journey
A current-status field tells you where a record appears to be. An event ledger tells you how it got there.

For a fictional inquiry, the ledger could be:
Scroll sideways to review every column.Each row is shown as a labeled card.
| Time | Event | Record | Actor/system | Detail |
|---|---|---|---|---|
| 09:03 | Form received | I-001 / C-014 |
Website connector | Raw campaign 8432; request preserved |
| 09:04 | Acknowledgment sent | E-033 |
Messaging tool | Approved template version 4 |
| 09:17 | Owner accepted | I-001 |
Intake CRM | Taylor; next action call |
| 09:28 | Contact established | E-034 |
Intake CRM | Preliminary summary recorded |
| 11:02 | Attorney review completed | E-035 |
Review workflow | Outcome code plus restricted note |
| Day 2 | Agreement signed | E-041 |
Engagement tool | Signature event linked |
| Day 3 | Matter opened | M-008 |
Case system | Case team accepted handoff |
This model makes timing and state changes auditable without copying every sensitive field into every platform.
Define delivery semantics, not just field mappings
Integrations fail in ordinary ways: timeout, duplicate webhook, invalid value, rate limit, expired credential, unavailable destination, or a user changing a record during transfer.
For each transfer, specify:
- trigger event and sending system;
- required fields and validation;
- idempotency or duplicate-protection rule;
- success acknowledgment;
- retry schedule and maximum attempts;
- dead-letter or exception queue;
- named owner and response rule;
- replay procedure after correction; and
- reconciliation report.
An automation that retries forever can create duplicates. One that fails once and disappears creates missing records. A strong design makes both outcomes visible.
Reconcile independently
At a set rhythm, compare counts and identifiers across boundaries:
- captured contact events versus received events;
- eligible distinct inquiries versus CRM inquiry records;
- engagement events versus signed-agreement statuses;
- signed agreements versus opened-matter links; and
- approved financial events versus reporting rows.
Investigate the difference, not only the percentage match. If the website captured 112 eligible inquiries but the CRM contains 109, list the three identifiers. If the CRM shows 17 signed agreements and the case system has 15 opened matters, preserve the two pending or exceptional records rather than forcing equality.
Reconciliation is how the firm distinguishes a business outcome from an integration defect.
Design privacy and access into the map
Inventory what data crosses each system, why it is needed, who can access it, how long it is retained, and how correction or deletion obligations are handled under the firm’s procedures. Review vendor access, subprocessors, audit logs, incident responsibilities, and offboarding.
Do not send a detailed prospective-client narrative to an ad platform because a dashboard would be more convenient. Use the minimum categorized event that serves the approved purpose. The firm’s lawyers and security/privacy advisers should make the governing decisions for the firm and jurisdiction.
Run an acceptance test that follows the whole path
Build fictional test cases for:
- a new inquiry with complete campaign identifiers;
- repeat contact about the same inquiry;
- the same contact making a distinct later inquiry;
- an existing client entering through a marketing route;
- missing source data;
- unsupported status value;
- duplicate webhook delivery;
- destination outage and replay;
- signed agreement without immediate matter opening; and
- correction to a financial event.
For each, record expected and observed identifiers, events, fields, access, destination, and report. A green “integration connected” badge is not an end-to-end test.
A one-page data contract
Before implementation, require the project owners to complete:
Scroll sideways to review every column.Each row is shown as a labeled card.
| Section | Required decision |
|---|---|
| Business question | The decision this connection must support |
| Units | Contact, event, inquiry, review, engagement, matter, financial event |
| IDs | Creator, format, persistence, duplicate rule |
| Fields | Definition, source of truth, writers, readers, conflict rule |
| Events | Trigger, timestamp, version, actor, correction method |
| Delivery | Validation, retry, exception, replay, alert owner |
| Access | Purpose, role, minimum data, retention |
| Reconciliation | Counts, identifiers, frequency, owner |
| Acceptance | Test cases and pass/fail evidence |
The technology-stack guide provides the broader ownership context, and the law firm marketing analytics guide explains why reporting definitions must survive the journey.
If the firm cannot fill out this page because marketing, intake, CRM, and matter systems have different owners, bring the system list, sample exports, stage definitions, and three anonymized inquiry paths to a JurisOS conversation. Juris Digital can help map the business and reporting requirements into a proposed scope. Actual platforms, access, integration work, fees, and delivery responsibilities should be confirmed in that proposal.
Last updated: