Staff Training & Reference
Everything the portal does and exactly what your clicks trigger downstream.
The big picture
Your job in the portal is to review documents and make decisions. The portal handles everything else — chasing the client for missing docs, creating placeholder records in our legal-case system, syncing data between platforms, sending the right emails at the right time, and alerting you when something needs attention.
The basic flow:
- Client takes the quiz on lemonaidfirm.com — case automatically appears in your Workbench. (Or you create one via Manual Intake Form for phone/walk-in intakes.)
- The client is asked for all documents up front — repair orders, registration, and purchase/lease agreement — as soon as they finish the quiz. The case moves through Quiz Completed / Not Yet Uploaded → Collecting Documents as files come in. Our AI analyzes uploads in the background and the system chases anything missing automatically.
- Once the documents are in, the case reaches Push to Clio. You review everything on the Actions tab and click Push to Clio, which creates the Clio matter at the "Needs review by intake specialist" stage. This does not accept the case or email the client — it just hands the matter to Clio for review.
- The accept/reject decision is made in Clio by a different staff member who evaluates the documents and moves the matter stage. Accepting in Clio syncs back, accepts the case, and hands off to litigation (Matter Created / Pending Review → Retainer Sent → FRA → Litigation → Closed). Moving the matter to PNC-Rejected in Clio fires the same "case not qualified" path as the portal Hard Reject button.
- If the case clearly doesn't qualify — without waiting for the Clio review — use Hard Reject (fires "case not qualified", emails the client, moves the GHL opportunity to Lost, and creates a CLOSED reject matter). If the client ghosts: Soft Close. Both land the case in Closed.
Daily routine — what to do and when
Most days the work falls into a predictable rhythm. Here's the order to work through it so nothing slips:
1. Start with ★ Needs my action
Top of the Workbench. This filter surfaces every case that has unprocessed documents OR is in a stage where you owe a decision. Work it top to bottom.
- Blue +N pill = documents uploaded but not yet processed by staff. Open the case → Documents tab → download the original, clean/rename it, then click ✓ Mark processed(which will ask you to upload the cleaned version). The pill clears once everything is processed.
- 📞 Call Needed badge = automated chase has run out — pick up the phone. After the call, either wait for them to upload (the badge clears automatically) or hit Soft Close if they're done.
- Amber "Settlement data required" banner = Clio moved the matter to Settled. You must fill in settlement figures so Email 6 fires.
2. Process decision-ready cases
- Push to Clio lane → Push to Clio (creates the matter for the intake specialist to review in Clio) or, if it clearly fails, Hard Reject
Always select your name in the Performed by dropdown first. Every action posts an audit note with your name to both Clio and UrVeedaOS.
3. Post-acceptance follow-through
- Settled cases (amber banner): Open → Actions → 💰 Settlement → fill in 4–6 numbers → Save. Fires Email 6.
- Check just mailed: Open → Actions → 💰 Settlement → scroll down → Mark Check as Mailed. Fires Email 7 and promotes the dashboard to "Case Closed — Won!"
The Clio task "Mark Funds Disbursed in Staff Portal" on the matter is your reminder. Closing that Clio task is NOT enough — the portal button is what fires Email 7. If you only close the task, the client never gets notified the check is on the way.
4. End-of-day check
- Switch the Workbench filter to All and scan the Quiz Completed / Not Yet Uploaded and Collecting Documents lanes. Stalled cases here often just need a one-line nudge call — especially anything showing the 📞 Call Needed badge.
- Check the Closed lane for anything closed today (hard-rejected or soft-closed) — re-open if a client called back.
The Cases Board
The Cases board is your home screen. Every active case lives in one of the columns based on where it is in the flow.
The columns
Each column is a stage. Cases move between columns automatically as clients upload docs and as you make decisions. You shouldn't usually need to drag cards around — if you do, it usually means something is wrong (talk to David).
The view toggle (Open / Closed / All)
Open shows active cases needing attention. Closed shows accepted, hard rejected, and soft closed. All shows everything. Defaults to Open so your queue stays focused.
Sort (Oldest / Newest)
A toggle on both the Board and the Workbench flips the order by the date the lead entered — Oldest first by default, so the longest-waiting cases sit on top. On the Workbench, action priority still leads; the toggle orders cases within each priority band.
Search
Searches across name, email, phone, VIN, vehicle make/model, and Clio matter number. Great when a client calls and you need to pull them up fast.
The case card itself
The little badges on each card tell you what docs are uploaded:
- RO = repair orders
- Reg = vehicle registration
- Purch = purchase or lease agreement
- Add'l = any additional supporting docs
Green = uploaded. Gray = missing. 📞 = call needed (client unresponsive).
+N (blue pill) next to the client name = N uploaded docs are not yet marked processed. This is a per-document count — every file on the case where nobody has clicked ✓ Mark processed yet. It's shared across the whole staff team (since you all share a login), so it's the single source of truth for "still needs eyes." Open the case → Docs tab → click ✓ Mark processed on each file once you've reviewed it. The number drops to zero when everything is processed.
📞 next to the client name = the GHL chase workflow ran out of road. The client didn't upload after Day 2, 4, 6, and 8 reminder emails — the system stopped chasing and put the case here for you to call. See "Needs my action" for when this triggers and how it's fired.
Time-in-stage pill (top right of card) shows how long the case has been sitting in this column. Turns red after 3 days so stale cases jump out when you scan. It resets to now only when the stage actually changes — not when you open the case or edit notes.
The status pills (the row under the name) flag what needs you:
- 🆘 Help (red) = the client tapped Request for Help in their portal. It counts toward ★ Needs my action. Clear it from the case header with “mark handled” once you’ve followed up (see Request for Help).
- Reactivated (amber) = the lead was pulled back into the pipeline — via Reactivate & re-invite from the Archive, or the client’s own “Restart my case” in their portal. Tells you this isn’t a brand-new lead.
- Signed ✓ (green) = on an Accepted — Awaiting Signature card, the retainer has been signed (they’re a client now). See the stage notes below.
- Referral (violet) = lead attributed to a partner. EN / ES = the client’s language.
The Needs my action button
Click ☆ Needs my action at the top of the board to hide everything except the cases that need a human right now. A case shows up here if any of these are true:
- It's at Push to Clio → all docs are in and you need to push the matter to Clio for the intake specialist to review (or Hard Reject if it clearly fails).
- It has a +N blue pill → someone uploaded docs that haven't been marked processed yet. Catch-all for replacement docs and extras that landed in any stage.
- It shows 📞 Call Needed → the GHL chase workflow (LAF-006 for repair orders, LAF-010 for reg+purchase) sent all its reminder emails and got no response, so it set the per-case Call Needed badge. (It's a badge now, not a stage — the case stays in its document-collection lane.) Your job is to call the client: if they pick up, get the docs; if the case is truly dead, click Soft Close. The system will not auto-close from here — that decision is yours.
- It has a 🆘 Help pill → the client tapped Request for Help in their portal. Clear it from the case header with “mark handled” once you’ve followed up (see Request for Help).
Toggle the button off (★ → ☆) to see the whole board again. Start every morning with this filter on. Work through every card before switching to the full board.
What each stage means
The pipeline is 11 canonical stages in funnel order, organized into two staff queues on the board: Document Collection and Case Evaluation. (The first two stages are pre-queue intake.) Cases move automatically; you only act at one point — Push to Clio.
Intake (pre-queue)
New Lead — Just landed. Client hasn't started the quiz yet, or was invited via the Invite to Quiz button.
Quiz Sent — Quiz invitation sent; the client hasn’t opened it yet.
Quiz In Progress — The client opened the quiz but hasn’t submitted it yet (derived from when they started — it’s a board lane, not a separate pipeline stage). It splits out from Quiz Sent so you can tell who’s mid-quiz from who hasn’t started — a good cue for a quick nudge call.
Document Collection queue
Quiz Completed / Not Yet Uploaded — Client finished the quiz and has been asked for alldocuments up front (repair orders, registration, purchase/lease). The upload link has been emailed (LAF-030) and the chase sequence is armed.
Collecting Documents — At least one document is in; we're still waiting on the rest. Which docs are in is read from the per-document flags (the RO/Reg/Purch/Add'l dots), not the stage. Automatic reminders run (LAF-006 / LAF-010) at Day 2, 4, 6, 8; after Day 8 with no response the case gets the 📞 Call Needed badge so you call them.
Case Evaluation queue
Push to Clio — All required documents are in. Review everything and click Push to Clio to create the matter for the intake specialist — the accept/reject decision is made in Clio, not here. (Use Hard Reject only if it clearly doesn't qualify.)
Matter Created / Pending Review — The matter is in Clio at the "Needs review by intake specialist" stage. Once a specialist accepts it in Clio, the case is accepted and litigation takes over; the case keeps moving through the lanes below as Clio updates.
Accepted — Awaiting Signature — The case is accepted and the retainer has been sent; we’re waiting on the client’s signature. Once signed, a “Signed ✓” badge appears on the card (they’re a client now) and the case advances to FRA.
FRA Sent — The Formal Repair Attempt letter has gone out to the manufacturer. On the case’s FRA panel, once the letter is sent the status banner shows a clickable USPS tracking number — click it to open USPS tracking in a new tab and confirm delivery.
FRA Delivered — Deadline Running — The FRA was delivered; the manufacturer's response deadline is running.
In Litigation — The case is active in the litigation playbook (complaint, discovery, motions, etc.).
Closed — Terminal. Covers every ending: hard-rejected, soft-closed, or resolved/won. Re-openable. Won vs. lost is read from the case outcome, not the stage.
On 📞 Call Needed: this is a per-case badge, not a stage. It's set automatically by GHL (LAF-006 / LAF-010) after all chase emails have run while a case is still collecting documents — the system's way of saying "we've done everything automated, now a human needs to pick up the phone." The case stays in its document-collection lane. Once you call the client, you either wait for them to upload (the badge clears when docs come in) or you click Soft Close.
The case detail page
Click any case card to open the full case.
The card layout — two columns + a context rail
The page is two columns: the working tabs on the left, and a sticky context rail on the right that stays put as you scroll. The rail shows the hard Deadlines — the SOL date and the FRA response deadline, each with a days-left countdown that turns amber (≤ 90 days) then red (≤ 30 days or overdue) — the live Clio matter stage/status, and a Timeline: a chronological milestone feed (lead entered with its source, quiz completed, contacted, retainer sent/signed, FRA sent/delivered, and more), each row showing its date and how-long-ago.
The header carries a compact deadline chip beside the client name showing whichever hard deadline (SOL or FRA) is nearest, in the same color code. Identity, contact, vehicle, and the Clio matter # sit across the top; the denser IDs and tools (case #, contact id, UrVeedaOS / Clio / purchaser links, Re-sync, Send quiz) are tucked behind a Tools & IDs ▾ disclosure so the top stays clean. The Stage selector stays visible.
The card also opens on the tab that matters for the case's current stage — a doc-collection case lands on Documents, a Pending-Evaluation case lands on Actions — so you usually open straight to the work.
The five tabs:
Documents
All files the client (and you) uploaded. Each row has two separate buttons:
- 📥 Download — pulls the file down to your machine. Has no side effects; clicking it never changes the processed/unprocessed status.
- ✓ Mark processed — for core documents (Repair Orders, Registration, Purchase/Lease), clicking this opens a popup asking you to upload the cleaned / renamed version first. Once you upload the cleaned file(s) and confirm, the original client upload is marked processed and the cleaned version is added as a Staff document (pushed to Clio if a matter exists). For Additional docs and videos, no upload is required — clicking just marks the item directly. ✗ Mark unprocessed always clears the flag immediately with no popup.
The three-state Document completeness pills (Actions tab):
- Gray — = no document uploaded yet for that type
- Blue ● = uploaded by client, awaiting staff review
- Green ✓ = processed by staff (cleaned version uploaded) — required for Accept
You can also:
- Download all docs as a single ZIP using ⬇ Download all (ZIP)
- Request a replacement doc if something's unreadable or wrong (see "Re-requesting documents" below)
Why "Mark processed" matters: the count of unprocessed docs powers the blue +N pill on each case card. It also hard-gates Push to Clio — the button is disabled while any client-uploaded document is still blue (not just the three required types), with a blue note counting what's left, so no matter reaches Clio with unreviewed "blue-pill" documents (staff uploads and videos don't block). If a client uploads 5 ROs and you process them, then they upload 2 replacements — the +N pill correctly shows "+2" and Push stays blocked until you triage just those new ones.
🎥 Videos — review without downloading
Vehicle and RO videos appear in the Documents tab alongside everything else, each showing a status badge (Under Review → Accepted). You don't download and re-upload videos — click 🎬 Review video on the row to open a popup that plays the video inline from Google Drive and lets you handle it in one place:
- Rename + ✓ Accept & push to Clio — type a clean name, then Accept. This renames the actual Google Drive file to match, and adds a one-page PDF reference (a Drive link + case metadata) to the Clio matter's Client Folder. The video itself stays in Drive — it is never downloaded to our servers or pushed into Clio as a huge file, so attorneys stream it straight from the link. (The case must already have a Clio matter — accept the case first.)
- ↻ Request re-upload — emails the client a fresh upload link (bad angle, too dark, wrong clip). The Drive copy is kept.
- Discard — drops the portal reference. The Google Drive copy is always kept as a permanent chain-of-custody backup, even after discard.
If the Clio upload fails, the badge shows ⚠️ Clio Upload Failed and the popup's Accept button becomes Retry → push to Clio. Videos are not part of the Push-to-Clio document hard block — they have this separate flow.
Quiz Answers
Everything the client filled out on the intake quiz — their issues, repair history, dealership info, purchaser/co-purchaser, etc. Read-only.
🚗 Vehicle Intel
Pulls NHTSA recall, complaint, and Technical Service Bulletin data for the VIN. The big stat cards at the top show counts. Recalls with a red "PARK IT" badge are safety-critical. Use this to gut-check the case (e.g., a vehicle with 14 active recalls and 80+ complaints for the same problem is a strong case).
⚡ Actions
Where you make decisions. Always pick your name in "Performed by" first — every action is logged with who did it.
Compact vs. full layout. By default the Actions tab shows in Compact view: it keeps the primary decision for the case's current stage on the surface (Overview + Push to Clio, or the live post-acceptance action) and tucks the less-common controls — Hard Reject, Soft Close, Reopen, Activity Log, Time, plus the secondary boxes (Portal Access, RO Nurture, Pause Chase, Partner Assign) — under a tap More(a drop-down on desktop, a bottom sheet on mobile). Nothing is removed; it's only moved a layer down. Prefer every button and box expanded at once? Turn Compact off with the small link under the buttons, or under Account ▾ → Preferences — the choice is remembered on that device.
⟳ Keeping the card in sync with Clio
The accept/reject decision and every stage after it happen in Clio, and the card stays current through webhooks. Two safety nets cover the moments a webhook is missed:
- Auto-refresh on open — opening a case pulls its live Clio stage in the background, so the card usually reflects Clio the moment you look at it.
- ⟳ Sync from Clio (in Tools & IDs ▾) — click it if the card still looks out of date: it pulls the live matter stage, moves the card to the matching column, and repairs a deleted/duplicated Clio-contact link by re-matching on email. Read/repair only — no client emails, and it never creates a matter or contact.
☎ Mark contacted — log the outcome + set a reminder
Use ☎ Mark contacted (top of the case) after you reach out to a prospective client. It opens a short popup to record how it went, and the button then shows that outcome (e.g. ✓ Contacted: Call (Voicemail)). It's an internal signal — it's what turns the Contacted flag green on the Analytics PNC Watchlist. The outcomes:
- Call (Answered) · Call (No Pickup) · Call (Voicemail) · Email — internal record only; no client email, no GHL/Clio side effects.
- Abandoned / Opt-Out — routes by pipeline stage, and the popup tells you exactly what it will do before you confirm: at the quiz stage → marks the lead Quiz Abandonedand closes it; once they're sending documents → Soft Close (archived, still nurture/reactivation-eligible); anywhere else → Not Interested. One control, stage-aware.
Optional follow-up reminder. The popup lets you snooze a callback — in 1 hour, in 4 hours, tomorrow, or in 3 days. That shows as a due-date chip on the case so the next touch doesn't slip. The first staff action on a case still counts as contact automatically; this button is the precise override. Click the green pill to clear it.
Clears the 📞 Call/reach-out badge automatically when you actually reach the client (Call Answered / Email) or set a follow-up reminder; a no-pickup / voicemail with no reminder leaves the badge up (they still need reaching).
Pause automated document-request follow-up emails — a checkbox in the popup takes the client off the doc-chase drip in the same click (handy when you just spoke and they said docs are coming). It's the same as Remove from doc chase; reverse it later with ↻ Resume doc chase.
✅ Push to Clio — create the matter for review
Push to Clio creates the Clio matter — it does NOT accept the case. The accept/reject decision is decoupled: pushing to Clio lands the matter at the "Needs review by intake specialist" stage, and a different staff member then evaluates the documents in Clio and makes the call there by moving the matter stage. No client email is sent at this step.
When to use: All required docs (RO + Reg + Purchase) are uploaded and reviewed (green ✓ completeness pills), so the matter is ready to be created and handed to the intake specialist for evaluation.
Auto-populated on push: if the case is a referral with a partner assigned, the matter's LAF Referring Law Firm, Referral Rate %, and Refferal Source fields fill from the partner, and the firm is linked to the matter as a related Referring Firm. The manufactureris created (once) as a Clio company contact if one isn't linked, and its name also lands in Defendant Name. Fee $ stays manual / at settlement.
What you do:
- Open the case → Actions tab → click ✅ Push to Clio
- Confirm the manufacturer's legal name (required)
- Enter the dates (delivery, date of contract, warranty expiration, and the first-repair / discovery date — that one also saves to Clio as the Vehicle Inspection date), then pick the SOL jurisdiction State. The system applies that state's anchor + limitation period and the ⚡ Calculate button fills the Statute of Limitations date (still editable). You don't pick the anchor. The quiz captures both the client's Residence and the dealership/Purchase state — when they differ you get one-click chips for each, so pick whichever governs.
- Confirm vehicle details, mileage, and issue description
- Pick originating and responsible attorneys
- Enter purchase price and case evaluation (the ⚡ Calc button does the standard math for you)
- Pick who gets assigned the kickoff Clio tasks
- Click Push to Clio & Create Matter
What happens downstream:
LAF {Client} v. {Manufacturer} for a standard case, or LAF-R ({PARTNER REF CODE}): {Client} v. {Manufacturer} when the case came in through a referral partner, so referred matters are recognizable at a glance.❌ Hard Reject
When to use: The case clearly doesn't qualify and you don't need the Clio intake review — common reasons: vehicle outside warranty window, issues don't rise to lemon law threshold, wrong jurisdiction, fraud red flags, duplicate case, etc. This is the same outcome as moving the matter to PNC-Rejected in Clio — both fire the "case not qualified" path. Use one or the other, not both. (The Hard Reject button lives on the Actions tab under Decision.)
What you do:
- Open the case → Actions tab → click ❌ Hard Reject
- Pick the rejection reason (this is shown to the client)
- Add internal notes (these are NOT shown to the client — just for our records)
- Click Hard Reject Case
What happens downstream:
🔄 Soft Close
When to use: Client has stopped responding. Usually used after chase reminders have run their course (the system tells you when this happens by setting the case's 📞 Call Needed badge).
What you do:
- Open the case → Actions tab → click 🔄 Soft Close
- Optionally pick which doc type they ghosted on
- Add internal notes
- Optionally upload any docs you have on hand (e.g., from a phone call)
- Click Confirm Soft Close
What happens downstream:
↩ Undo a decision (5-minute window)
Every decision — Accept, Hard Reject, and Soft Close — is held for 5 minutes before the client-facing side effects fire. The portal logs the decision and reverts the stage immediately, but the client email and the UrVeedaOS/GHL tag (e.g. case not qualified) are queued on a delay. That delay is your safety net: click ↩ Undo within the window and nothing ever reaches the client.
Where to find the Undo button:
- On the case page — an amber banner appears right after you decide, showing the exact time the emails will fire, with an ↩ Undo button.
- Anywhere else (Workbench / Board) — because the card auto-closes after a decision, a floating undo bar also shows in the bottom-right corner of every page, counting down from about 4:57. This is how you catch a misclick after you’ve already moved on. It disappears when the window closes or when you dismiss it.
What Undo does — and doesn’t — do:
Two caveats: (1) the undo bar is session-local to your browser — if you close the tab, use the amber banner on the case page instead (or the Reopen action once the window passes); (2) once the 5 minutes elapse the emails have already been sent and can’t be unsent — at that point use Reopen for a fresh start rather than Undo.
🚫 Opt-outs (DND / STOP / unsubscribe)
When a contact replies STOP, unsubscribes, or is set to DND in GHL, an automated GHL workflow tells the portal, which closes the case silently as “Not Interested” — no rejection or closing email is sent (they asked us to stop). The card gets a 🚫 Opted Out pill and a banner on the case page.
What happens automatically:
- The case is closed and all chase/nurture stops.
- The GHL opportunity is set to Lost (kept at its current stage).
- The portal blocks re-invite — Invite-to-Quiz / Bulk Invite / Send-quiz will refuse with a “contact opted out” message.
If they opt back in (reply START, or call you to re-engage), reactivate them — either from the case’s Reactivate & re-invite button, or from Archive → Opted Out (their own tab, separate from Soft Closed). That clears the opt-out and re-invites. The client can also self-serve via Restart my case in their portal. Don’t re-contact an opted-out person any other way.
⚠ Reactivating clears the portal opt-out, but GHL still has them on DND — so SMS/email won’t actually deliver until DND is lifted in GHL (or they text START). Lift DND in GHL when you reactivate a STOP/DND contact.
🆘 Request for Help
Clients can raise their hand from their own portal: they tap Request for Help and the case is flagged for staff. It’s the client-initiated counterpart to the chase badges — a direct “please get in touch” signal.
How you see it
- A red 🆘 Help action-pill appears on the case card on the Board and Workbench.
- It counts toward ★ Needs my action, so a help request surfaces in the same queue you already work top-to-bottom each morning.
How you clear it
Open the case — the header shows a 🆘 Help requested — mark handled button. Call or message the client, then click mark handled to clear the flag (the pill drops off the card and it leaves the Needs-my-action queue). It doesn’t change the case’s stage — it’s purely an attention flag.
💰 Settlement & Mark Funds Disbursed
These are post-acceptance actions — only relevant once the case has been accepted, a Clio matter exists, and the litigation team has worked through to a resolution. The Settlement tab on the Actions panel becomes available once Clio moves the matter to the Settled stage (or the case is past that point).
When Clio hits Settled — the amber banner
The moment a Clio stage change pushes the matter to 13. SETTLED, the portal sets a flag on the case and an amber "Settlement data required" banner appears at the top of every tab on that case. Email 6 (Resolution Reached) is held backuntil you fill in the settlement figures, because the email template merges in the dollar amounts and we don't want the client receiving a numbers-blank email.
Entering settlement data
What you do:
- Open the case → Actions tab → click 💰 Settlement
- Review the side-by-side verification table — it shows what's currently in the portal, in Clio, and in UrVeedaOS. Mismatches are flagged with a red ⚠. Missing values (in Clio or UrVeedaOS) show ○. The portal DB is the system of record; the other two are what gets pushed.
- Fill in: Total Settlement Amount, Attorney Fee Amount, optionally Attorney Fee %, Client Payout Amount, and Litigation Costs.
- Referral fee (partner-referred cases): it auto-calculates from the partner's fee schedule applied to the net attorney fee (attorney fee − litigation costs). The resolved % / $ pre-fills and is editable; you can also enter a one-off per-case referral % override or tick class action (uses the class-action rate). The saved referral fee writes to both this case and the partner's referral record — no double entry. (Lifetime-mode partners who cross a tier get a tier-upgrade email; the new rate applies to their future cases only.)
- Click Save Settlement Data & Send Email 6.
What happens downstream:
CLIO_CUSTOM_FIELD_IDS), and an audit note titled "Settlement data entered by [you]" is added to the matter timeline with the full breakdown. The matter note always lands — even if individual Clio custom field IDs aren't populated yet, the data is in the timeline as a note.Marking funds as disbursed
When to use: Once you've physically mailed the settlement check to the client. Not before — Email 7 tells the client their money is on the way.
How you know it's time: when the matter reaches the Settled stage in Clio, a task titled "Mark Funds Disbursed in Staff Portal" is auto-created and assigned to the case's responsible staff. (It's created at Settled — not at acceptance — so accepted cases that never settle don't pile up dangling tasks.) When you mail the check and click the button below, the portal auto-completes that Clio task for you — you no longer close it by hand. If a case is closed/lost without settling, the task is cleared automatically too.
What you do:
- Open the case → Actions tab → click 💰 Settlement
- Scroll to the bottom: "Mark Check as Mailed (Email 7)"
- Click Mark Check as Mailed — Send Email 7
- Confirm the browser prompt (this is irreversible)
What happens downstream:
Why "Case Closed — Won!" depends on the disbursement, not the close
Clio doesn't have a won/lost outcome field for our practice area — matter.status=closed covers wins AND losses equally. So the only way the portal knows a case was a win is whether you clicked Mark Disbursed. If Email 7 has been sent, the client dashboard reads "Case Closed — Won!". If Email 7 hasn't been sent and the matter just closes, it reads plain "Case Closed".
✉ Sending an FRA letter (Lob certified mail)
FRA = Formal Repair Attempt — a letter mailed to the vehicle manufacturer via USPS Certified Mail (through Lob). It's a litigation step that happens after the case is accepted and the retainer is signed, and its delivery starts the manufacturer's response clock. The FRA-sent client email fires the moment you send it (no longer waits on the Clio stage), so the client is notified right away — and if you shared the letter (below), they can log in and view it.
Before you can send (prerequisites)
- The case is Full Accepted and the retainer is signed.
- The Clio matter exists, and you've generated the FRA letter in Clio from the document template into the matter's "Letters" folder.
What you do
- Open the case → Actions tab → ✉ Send FRA.
- Set Performed by (your name — it's logged).
- Step 1 — pick the document: default is Pull from Clio "Letters" folder → check the FRA document(s) (use Refresh if it's not listed yet). Or switch to Upload a PDF instead. Each Clio row also has a 👁 Show client radio: tick one document to also surface it in the client's portal ("show our work") — optional, off by default, and you can only share a document you're sending. It appears in their Documents list badged ✦ From our team.
- Step 2 — recipient address (the manufacturer): name, address, city, state, ZIP. These prefill live from the Clio matter's Manufacturer + address fields. If they're blank, fill those custom fields in Clio and hit ↻ Re-pull from Clio — an empty recipient blocks Send (Lob has nowhere to mail it). A "Mail to" radio lets you pick between the Manufacturer and the Defendant name (both are set at Push-to-Clio and should match — it's a certainty check, and warns you if they differ).
- Quality check: before the Send button, a checklist shows the fields that must appear in the mailed letter (client name, VIN, year, make, model, manufacturer + address) with ✓/✗. If any are ✗, the Clio letter was likely generated before those fields were filled — regenerate it in Clio and re-select.
- Click Send FRA Letter via Lob.
You do not enter a tracking number or delivered date — those fill in automatically.
What happens downstream:
Resend overwrites the tracking number and clears the delivery timestamp — only use it if a letter genuinely needs re-mailing. A resend does not re-email the client.
Retainer: signed / declined & conversion
When a case is accepted, the retainer (fee agreement) goes out and the board lane reads Accepted — Awaiting Signature. You record the outcome from the case header: a Retainer: control with Mark signed / Mark declined buttons (they appear once the retainer has been sent). Clicking Mark signed puts a green ✓ Signed on the control and a Signed ✓ pill on the card — the client is now retained.
Why it matters — the Retainer Conversion analytics card
Those two clicks feed the Retainer Conversion card on the Analytics dashboard (Admin ▾ → Analytics). It shows, of all retainers sent (cases that reached Clio), what % of clients signed vs. declined, plus how many are still awaiting signature. Marking signed/declined promptly keeps that conversion number accurate.
Analytics dashboard — what each card means
Admin ▾ → Analytics is the firm-wide dashboard. A time-range selector (7d / 30d / 90d / 6mo / 1yr / All, plus Custom for an exact from/to date range — end date inclusive) sits top-right. It drives the flow metrics — anything that happens over time — while cards marked · current are point-in-time snapshots that ignore the range. The ⬇ Export PDF button (next to the range) downloads a branded, printable report for the selected window — KPIs, a Cases summary, the pipeline funnel, by-source + campaign breakdowns, the money table, and a live Matters-by-stage table pulled straight from Clio — for emailing or archiving. ☁ Publish to Drive uploads that same PDF to the Analytics Reports Drive folder (monthly subfolder, shareable anyone-with-link) and hands you the link. Admins also get a ⚙ Targets button to set KPI goals + monthly ad spend (see below).
Range = flow metrics; “current” = snapshots
Flow metrics (respect the range): Money & Outcomes (settlements), Referral Fees, Top Referral Partners, Retainer Conversion, Why Cases Closed, Opt-outs, Failed Syncs, and the Quiz Funnel. Snapshots (· current): the Cases totals (Total / Accepted / Not Eligible / Opted-Out / In Progress, plus a separate Archived box for off-board cases — nurture / soft-closed / disqualified / opted-out), Intake Quality (these stay all-time), Pipeline & Clio stage distributions, Push Notifications, and the partner counts + fee-mode mix. History is retained indefinitely, so All genuinely means since launch — you're no longer capped at 30 days.
Intake Quality targets (⚙ Targets)
The Intake Quality cards (upload completion, time-to-accept, re-request rate, accept rate, chase-suppression accuracy) score green / amber against targets you set. Admins click ⚙ Targets (top-right of Intake Quality) to edit those goals plus your monthly ad spend ($/month) — all stored live, no redeploy. The ad-spend figure is what feeds the Paid Ad Economics card.
Pipeline Funnel — cohort conversion & stage timing
The Pipeline Funnel is a cohort view: it takes every PNC that entered in the selected range and follows that same set of leads through each stage — Quiz → Documents → Pushed to Clio → Eligibility → FRA. The top card shows how many PNCs entered, split by source (Manual / Quiz invite / Quiz organic / Quiz paid / Partner), with a New-PNCs bar chart you can bucket by Day / Week / Month (toggle top-right). Underneath, two breakdowns: Marketing attribution splits paid vs organic by ad network, utm_source, and campaign; and Conversion by source shows each source's entered → accepted → accept-%, so you can tell whether paid leads actually convert better than organic.
Each stage row shows how many leads advanced (the conversion %), the branch outcomes as pills (e.g. completed vs disqualified vs opted out; collected vs soft-closed vs hard reject; accepted vs PNC rejected), and the ⏱ median / avg time to clear that stage (with the sample size n). Two things to keep in mind: because it's keyed by entry date, a recent cohort is still in progress (a lead that entered yesterday can't have settled yet); and each lead is counted once per stage, so manual/partner leads — which enter already past the quiz — never double-count as quiz completions. The push-to-Clio → matter-created step is effectively instant, so that row's timer measures docs-complete → matter open instead.
Money & Outcomes — effective vs. net rate
Effective rate = attorney fee ÷ settlement. Net rate (of costs) = (attorney fee − litigation costs) ÷ settlement — the real take-home rate now that litigation costs are captured at settlement. The card also shows avg / total litigation costs alongside fees and client payouts. Cases settled before costs were tracked count as $0 costs.
Paid Ad Economics — CAC / ROAS
Turns your configured monthly ad spend into paid-acquisition economics for the window: Cost per PNC (spend ÷ paid leads), CAC (spend ÷ signed clients), and ROAS (realized attorney fees on paid-acquired settlements ÷ spend). Only Quiz (paid) leads — those carrying a UTM / ad-click signal — count toward the paid math; ambiguous legacy leads are excluded rather than diluting it. Spend is prorated across the selected range, so it needs a fixed/preset window (all-time can't be prorated and shows a hint instead). ROAS fills in over time as paid cases settle. Set the spend under ⚙ Targets.
Speed to Lead & Per-Owner Performance
Speed to Lead is the median / avg hours from a PNC entering to the first staff action on it (sourced from the audit log) — a service-level check on how fast new leads get touched. Per-Owner Performance ranks each assigned owner by volume, accept rate, and median time-to-accept, so you can see workload and conversion by person. Further down, Status Emails Sent tallies how many of each lifecycle email (2 / 3 / 5 / 6 / 7 / 8) have fired.
PNC Watchlist — who's in limbo + contacted tracking
The other analytics cards give you numbers; the PNC Watchlist gives you names. It lists every open prospective client (pre-decision — not yet accepted, closed, or archived), each linked straight to its case, with two independent flags:
- Contacted (our side) — have we reached them? It lights up automatically on the first staff action logged against the case, OR when someone clicks ☎ Mark contacted on the case page. The badge shows “marked” when it was set explicitly.
- Reached out (their side) — has the client engaged? True once they finish the quiz, upload a document, or tap Request for Help.
Filter chips group the same list four ways: In limbo (open but still awaiting our first contact — the ones to work), Reached out, Stalled (carrying the 📞 Call-Needed badge), and All open. The exported PDF report includes this roster too, with each name as a clickable case link.
Mark contacted is an internal signal only — no client email, no GHL/Clio side effects. Click it again to clear it (which falls back to the automatic first-action signal). Use it when you want the watchlist to precisely reflect who you've actually called or emailed.
Why Cases Closed & Opt-outs
Why Cases Closed breaks closes in the range into Won, Not Eligible, Referred Out, Opted Out, and Closed (other) — the same terminal labels the case-status board uses, so a PNC-rejected case reads Not Eligible, not a generic close. Opt-outs counts DND / STOP / unsubscribe in the range (with an all-time total and a channel breakdown) and links to Archive → Opted Out. Referred Out counts PNCs sent OUT to a partner firm in the range — split by how they were referred (Quiz dealer-dispute vs Manual (staff) vs Clio stage) — plus the rate as a % of PNCs entered, and links to the outbound-referral Tracker.
Referral Fees
Total referral fees is commission accrued in the range (engine output from the settlement auto-calc), with the count of referrals. Lifetime-mode partners, partners total, and the fee-mode mix (Graduated / Flat / Custom) are current configuration snapshots. Top Referral Partners ranks firms by referral volume then commission within the range.
Status emails (1–8) — the post-acceptance email pipeline
Once a case is accepted, the litigation team drives it through Clio matter stages. Each stage change can trigger a status email to the client. You don't fire these yourself(with two exceptions — Settlement and Mark Disbursed, above). They're wired to Clio stages and the portal handles them automatically.
| Subject | Trigger | Guard | |
|---|---|---|---|
| 1 Free Case Eval | Evaluation in Progress | Intake workflows in UrVeedaOS | N/A (pre-acceptance, not portal-driven) |
| 2 Retainer & Onboarding | Retainer Sent—Action Required | First entry into ACCEPTED/RETAINED/Retainer-Review stage group | Send once per case |
| 3 Formal Defect (FRA) | Formal Demand Sent to Manufacturer | First entry into PENDING FRA / FRA Notice Sent group | Send once per case |
| 4 Settlement Negotiation | We're Negotiating Your Settlement | Stage = In Settlement Negotiations | Fires every time stage is entered |
| 5 Discovery & Litigation | Your Case Has Entered Litigation | Any of: Complaint filed, Discovery, Dispositive Motion, Trial | SEND ONCE ONLY — never resent across these stages |
| 6 Resolution Reached | Great News: We've Reached a Resolution 🎉 | Staff submits Settlement form | Blocked until settlement amounts are entered; held with amber banner if Clio hits Settled first |
| 7 Funds Disbursed | Your Lemon Law Settlement Has Been Sent | Staff clicks Mark Check as Mailed | Requires Email 6 to have been sent; cannot be re-fired; flips dashboard to "Case Closed — Won!" |
| 8 Case Closed | Your Lemon Law Case is Officially Closed | Clio matter.status = closed | Sent once at close; vehicle + case_closed_date pushed to UrVeedaOS with an 8s delay before send |
All 7 emails (#2–#8) are individual UrVeedaOS workflows (LAF-032 through LAF-038), each triggered by a unique contact tag. The portal fires an email by adding the matching tag to the contact (same proven pattern as LAF-030 magic link). If a workflow is unpublished or its trigger tag isn't configured, the email is silently skipped but the sent-at timestamp is still recorded — so the once-only guards continue to work while VPS finishes wiring.
Clio stage → client status map
Litigation moves the Clio matter through stages as they work the case. The portal listens for these changes via a Clio webhook and translates them into client-friendly status labels on the client's portal dashboard, plus the GHL {{contact.case_status}}field that email/SMS templates reference. The translation is intentional — clients never see Clio's internal naming.
| Clio matter stage | Client dashboard label | GHL case_status value | Email fired |
|---|---|---|---|
| 5 pre-acceptance intake stages | Free Case Evaluation | free_case_evaluation | Email 1 (intake workflows) |
| ACCEPTED / RETAINER (3 stages) | Case Accepted | retainer__onboarding | Email 2 (once per case) |
| PENDING FRA / FRA Notice Sent | Working Your Case | formal_defect_notice | Email 3 (once per case) |
| In Settlement Negotiation | In Negotiation | aggressive_settlement_negotiation | Email 4 (every entry) |
| Complaint Filed | Case Filed | discovery__litigation | Email 5 (once across all 5 litigation stages) |
| Discovery | Discovery Phase | ||
| Dispositive Motion / Trial (3 stages) | In Litigation | ||
| SETTLED (13) | Settlement Reached → Case Closed — Won! (after Mark Disbursed) | resolution__case_closed | Email 6 (after you save settlement) → Email 7 (after Mark Disbursed) → Email 8 (on matter close) |
| PNC Rejected | Not Eligible | not_eligible | None — status only (no status email) |
| Referred Out | Referred Out | referred_out | None — status only (no status email) |
You don't move Clio stages from the portal. Litigation owns stage transitions in Clio. The portal is read-only with respect to stages — it observes the change and reacts.
New: Clio “PNC Rejected” and “Referred Out” are no longer silent — they now surface as Not Eligible and Referred Out on the Case Status board and on the client portal. (They don't fire a status email.)
Referred Out auto-links to the tracker. When you move a Clio matter to the Referred Out stage, the portal automatically creates a row in the Referred Out tracker (Admin ▾ → Referred Out), linked back to the case and its matter number, with a ⚠ Assign firm pill. Click it to pick the destination firm (and add the partner's matter number) — that clears the pill and fills in the firm's contact details. The same optional Matter # field is on the manual + New → Refer out form, so a manual referral can be linked to a matter too.
GHL opportunity lifecycle (Lead Captured → Won/Lost)
Separate from the Clio matter pipeline, every case has one opportunity in the UrVeedaOS/GHL Lemonaid Cases (funnel) pipeline. The portal drives it — GHL workflows only react to tags. There are four stages; Won/Lost is the opportunity status, not a stage (the opp stays in Signed for everything post-acceptance — only its value and won/lost status change).
| Stage | When it gets there |
|---|---|
| Lead Captured | Opp created — Invite-to-Quiz / Bulk Invite / a fresh lead. (Manual New Case starts at Quiz Completed.) |
| Quiz Completed | Client finishes the quiz. |
| Docs Collected | All required documents uploaded. |
| Signed | Matter accepted in Clio (and stays here through settlement; value updates at settlement). |
Won — set when you click Mark Disbursed (Email 7 = the Won signal). A Clio matter close also reconciles to Closed - Won if Email 7 already fired, else Closed - Other / Lost.
Lost — set by any of these along the way:
- Quiz disqualified (fires
quiz not qualified→ GHL moves the opp to Lost). - Hard Reject button or PNC-Rejected stage in Clio (both fire
case not qualified→ GHL moves the opp to Lost). - Soft Close (the portal sets the opp to Lost directly).
- Referred Out — Sue-Your-Dealer auto-divert or a staff referral (fires
pnc referred out→ GHL moves the opp to Lost). - Matter closed without disbursement (no Email 7 → reconciled to Lost).
The tag-driven Lost paths (case not qualified, quiz not qualified, pnc referred out) depend on the matching GHL workflow doing a Find Opportunity → Update Status = Lost in the funnel pipeline. Soft Close and the matter-close reconciliation are set directly by the portal.
Clio fields the portal writes & reads
Everything the portal does in Clio is field-level (no risky bulk operations). Knowing which fields the portal writes vs. reads helps you understand mismatches in the verification table and explain to litigation what to expect.
Written at matter creation (Accept)
| Clio field | Source |
|---|---|
| Practice Area, Matter Stage, Description, Client | Form + canonical "LAF {Last} v. {Mfr} SOL: mm/dd/yyyy" |
| Responsible Attorney, Originating Attorney, Responsible Staff | Accept form dropdowns (default Joshua Feygin / Glykie) |
| VIN, YEAR, MAKE, MODEL, CAR_MILEAGE, LICENSE_PLATE_NUMBER, DEAL_NUMBER | Quiz answers + Accept form overrides |
| MANUFACTURER, PURCHASER, CO_PURCHASER, DEALERSHIP (contact links) | Clio contact lookups (auto-created if missing) |
| PURCHASED / LEASED / VEHICLE REGISTRATION RECEIVED (checkboxes) | Quiz + uploaded reg flag |
| FRA_NOTICE_SENT_DATE, DELIVERY_DATE, DATE_OF_CONTRACT, WARRANTY_EXPIRATION, LAF_VEHICLE_INSPECTION_DATE | Quiz + Accept form |
| SOL_DATE (Statute of Limitations) | Staff-confirmed; the Accept form's ⚡ Calculate computes it from the chosen state's anchor + period and the entered dates (always editable before you accept) |
| LAF_REFERRAL_SOURCE, LAF_REFERRING_LAW_FIRM, LAF_REFERRAL_FEE, LAF_REFERRAL_RATE_PCT | Quiz answers |
| LAF_CASE_EVALUATION (pre-settlement estimate) | Accept form (purchase price × 0.20 × 0.45, with override) |
Written at Settlement Save (💰 Settlement → Save)
| Clio field (existing — no new fields needed) | Value the portal pushes |
|---|---|
| Total Global Settled Amount* | Total Settlement input |
| Gross Attorney Fees* | Attorney Fee Amount input |
| Date Settled | Today's date |
| Settlement Statement Executed | ✓ checked |
| LAF Referral Fee / LAF Referral Rate % | Referral inputs (if entered) |
| — Matter timeline note | Full breakdown including client payout and atty fee % (which have no Clio field) |
Client Payout Amount and Attorney Fee % are not pushed to Clio — there are no Clio fields for them. They're tracked in the portal DB + UrVeedaOS contact fields only, and the matter note includes them for the litigation team to read.
Written at Mark Disbursed
| Clio field | Value |
|---|---|
| Date Check Disbursed to Client | Today's date |
| — Matter timeline note | "Funds disbursed — marked by [you]" with check amount |
Read-only (verification table only)
These are managed by litigation directly in Clio. The portal displays them so you can verify check-processing state without opening Clio:
- Date Attorney Checks Received
- Date Check Sent For Endorsement
- Date Check Disbursed to PA
- Current Status of Client Check (dropdown)
- Current Status of Attn Fee Check (dropdown)
- Current Status of PA Fee Check (dropdown)
- Collection Status NOTES
Auto-created tasks on every accepted matter
- New Matter / InfoTrack / Complete Clio Matter Fields — assigned to responsible staff
- Mark Funds Disbursed in Staff Portal — long-running reminder; close by mailing the check and clicking the portal button
- Case accepted by [you] — please review — notification ping to the assignee
- Link dealership to matter — [name] — only if dealership wasn't found at intake
- Unknown manufacturer — needs Clio lookup — only if manufacturer wasn't in our lookup table
Auto-created folders on every accepted matter
15 canonical document folders, identical on every matter: Client Folder, Costs and Expenses, D's AAD, D's Motions, D's NOA, D's PFS, Depositions, Discovery, Hearings, Invoices, Letters, Orders, P's Complaint and Summons, P's Motions, Settlement Docs. Don't alter this list without engineering review.
Reading the verification table (Settlement tab)
The verification table on the Settlement panel shows the same field in 3 columns — Portal, Clio, UrVeedaOS — so you can spot drift between systems at a glance.
| Symbol | Meaning | What to do |
|---|---|---|
| ⚠ red | Mismatch — Clio or UrVeedaOS has a different value than Portal | Re-save the settlement form — the portal will re-push. If it stays red after a save, escalate to David. |
| ○ amber | Not set in that system yet (portal has a value, downstream doesn't) | Same fix — re-save. If it persists, the field probably isn't wired yet (engineering will know). |
| N/A | No Clio field exists for this value (only happens on the Clio column for Attorney Fee % and Client Payout) | Expected. Those two values live in portal + GHL only; the breakdown is in the matter note. |
| number | In sync | Nothing — you're good. |
Below the main table, if litigation has stamped any check-processing dates in Clio (Date Settled, Date Check Disbursed to Client, Date Attorney Checks Received, Date Check Sent For Endorsement, Date Check Disbursed to PA, Current Status of Client/Attn/PA Fee Check), they appear in a smaller read-only section so you can see check status without opening Clio.
Common scenarios & gotchas
Client calls saying they got the wrong settlement amount in their email
- Open the case → Actions → 💰 Settlement
- Check the verification table — what does Portal show vs UrVeedaOS?
- If Portal is wrong, correct it in the form below and save. Email 6 won't re-fire (the timestamp guards against duplicates), but the corrected values land in Clio and UrVeedaOS.
- For a corrected re-send to the client, email David — we can manually re-fire the workflow.
You mailed the check, closed the Clio task, but the client says they got no email
Closing the Clio task doesn't fire anything. The portal's Mark Check as Mailedbutton is what fires Email 7. Go to the case → Actions → 💰 Settlement → scroll to the bottom → click Mark Check as Mailed. The Clio task description spells this out.
Clio matter just closed and the client says they never got Email 7
If the matter closed without anyone clicking Mark Disbursed, Email 7 was skipped — the dashboard reads plain "Case Closed," not "Case Closed — Won!" If you actually did mail the check, click Mark Disbursed now (it'll still fire Email 7 and flip the dashboard).
Amber settlement banner won't go away after you saved
The banner clears when needs_settlement_dataflips to false. If it's still showing, refresh the page once — the case data caches in the browser. If it persists after a hard refresh, screenshot it and email David.
Case has a Clio matter number but no client portal access
The client's portal access is tied to their UrVeedaOS contact, not their Clio matter. Check the Audit tab for any failed magic-link events. Most often this is fixed by them requesting a fresh link at /portal/request-link.
Litigation says they updated a Clio field but you don't see it in the verification table
The portal fetches Clio values live every time you open the Settlement panel — there's no cache. If you don't see it, the field name doesn't match what the portal expects (e.g., a typo in Clio) or the field ID isn't in CLIO_CUSTOM_FIELD_IDSyet. Forward to David — he can map it.
A case shows the 📞 Call Needed badge but the client says they did upload
Check the Documents tab. The Call Needed badge is a per-case flag set by the GHL chase workflow; it normally clears once the missing documents come in. If the files are clearly there and the badge is still stuck, mark the uploads processed and move the case forward via the stage selector on the case detail page (or flag it to David).
The 'Performed by' dropdown forgot who you are
It's remembered in the browser's local storage. Switching browsers / clearing site data resets it. Just re-select your name; it sticks again.
Requesting a replacement document
On the Documents tab, scroll to Request Additional/Replacement Doc. Pick the doc type and the reason. The reason is shown to the client in the email. When it sends you now get an inline ✓ confirmation right at the button (it used to give no visible feedback), so you know the re-request actually went out.
Common scenarios:
- RO is unreadable or blurry → "Documents are unreadable or low quality"
- Client uploaded the wrong vehicle → "Documents are for the wrong vehicle"
- Service history is incomplete → "Documents are incomplete or missing pages"
- Need extra paperwork (extended warranty, etc.) → use Additional Doc type, pick "Other" and explain
What happens downstream:
Duplicate vs. Won't process — clearing an upload
When a client uploads a file into a doc slot that you don't want to process, each document row (on the Documents tab) has two buttons that clear the blue “needs processing” pill without marking that doc-type received. Both keep the row listed with a small tag for the record, and both are undoable (a dismissed row shows an ↩ Undo dismiss button).
| Button | Means | What to do after |
|---|---|---|
| ⧉ Duplicate | Same document uploaded twice — you already have the real one. | Nothing. The requirement is already met by the other copy. |
| ✗ Won't process | Wrong or unusable file for that slot (e.g. a registration where the repair order goes, or a blurry/blank scan). | Re-request Documents for that type — the doc-type correctly stays missing because you still don't have the right file. |
The key difference: Duplicate is a dead end (nothing more to do), while Won't process is a hand-off — it clears the clutter but leaves the requirement open so you go ask for the correct file. Neither turns the doc-type green; neither notifies the client on its own.
💬 Document chase — pause / resume
When to use: a client calls or emails to say they'll send their documents soon, but the automated chase keeps emailing them the "we'll close your case" reminders. This takes them off the chase so they stop getting those emails while they've already been in touch. You can also do this straight from the Mark contacted popup — there's a "Pause automated document-request follow-up emails" checkbox that does the same thing.
Where: open the case → Actions tab → the 💬 Document chase — pause / resume card →Remove from doc chase or ↻ Resume doc chase (pick your name in Performed by first).
What happens:
↻ Resume doc chase (re-initiate):
The chase workflow is a full exit on pause (not a real pause), so Resume re-enrolls from the start — which requires DOC-CHASE Re-entry = ON in UrVeedaOS.
📥 Importing documents from Clio
Two ways to pull a matter's Clio documents into the portal — one brings the client's own docs IN, the other pushes our casework OUT to the client. Both live on the case's Actions tab.
Import client documents (onboarding)
For matters onboarded from Clio, the 📥 Import client documents from Clio card reads the matter's Client Folder live and lists its files. Tick the ones the client sent and pick each document's type — Repair Order · Registration · Purchase/Lease · Additional (the same set clients upload; no casework). Import pulls them from Clio and lands them as the client's own documents, already marked done (green), and sets the matching doc flag — so the case immediately reflects what's in vs. still missing. Then use ↻ Resume doc chase to chase only the gaps. (Shows only when the case has a Clio matter.)
Share casework with the client (retained only)
The 🗂 Share casework with the client card (retained clients only) lets you browse this matter's Clio folders — loaded live, since folders vary per matter — search within a folder, pick the type the client will see it labeled as (e.g. "FRA Letter to Manufacturer", "Motion", "Discovery", "Settlement Document"), then click Share to client to pull the casework document into the client's portal as a"show our work" file they can view or download. In the client portal it shows with a"✦ Prepared by your attorneys" badge and the label you chose, and a reassurance banner tells them their legal team is actively working the case. Leave "Email the client"checked and the client also gets a notification email — your legal team is on it, naming what you just did — with a fresh 1-hour login link to read it (if it expires, the login page lets them request a new one in seconds). Uncheck it to share silently, or when sharing several docs at once send just the last one with the box checked so only one email goes out. For the FRA letter specifically, use the 👁 Show client option on the FRA send form instead.
What the system does automatically
You don't have to do these — the portal handles them for you:
- RO chase emails: If the client doesn't upload repair orders, they get reminders at Day 2, Day 4, Day 6, and a final warning at Day 8. After Day 8 with no response, the case gets the 📞 Call Needed badge so a human phones them — it is notauto-closed; whether to Soft Close stays your call.
- Reg + Purchase chase emails: Same 8-day chase (LAF-010), running up front alongside the RO chase — all documents are requested when the client finishes the quiz.
- AI document analysis: Repair orders are analyzed in the background by our AI as soon as they're uploaded. You see the result on the Actions tab.
- Clio matter creation: The matter is created and opened in one step when you click Accept (status Open). There's no separate placeholder matter anymore.
- UrVeedaOS field sync: Every decision you make is reflected in the contact's record in UrVeedaOS (Clio matter number, case status, owner, etc.).
- Audit trail: Every click is logged with your name and a timestamp. Visible on the Actions → Audit view.
- Stage transitions: Cases move between Workbench columns automatically based on doc uploads and your decisions.
- Google Drive filing: client raw uploads land in the case’s
_Originals/folder; anything staff upload or process (the cleaned / renamed copies) goes to a_Processed/subfolder, and the Drive filename matches the portal filename. When you merge a duplicate card, the duplicate’s case-number folder is moved under the canonical card’s and renamedMerged-<case #>. Nothing for you to do — just so the Drive layout makes sense when you go looking. - Post-acceptance status emails (#2–8): Once a case is accepted, the portal listens to Clio matter stage changes (via webhook) and fires the right status email to the client at each stage. The only two that require your input are #6 (Resolution Reached) — you fill in settlement amounts — and #7 (Funds Disbursed) — you click Mark Disbursed when the check is mailed. See the Settlement section above for details.
- Mark Funds Disbursed Clio task: At matter creation, a long-running Clio task is auto-assigned to the responsible staff as a reminder to come back into the portal and click Mark Disbursed once the check is mailed. Closing that Clio task without firing Email 7 will leave the client waiting — always come into the portal first.
Push notifications (client PWA)
The client portal is a PWA. After clients log in for the first time they're prompted to enable push notifications, and they can manage them anytime via the ⚙ icon in the dashboard header. Preferences are stored per-contact (not per-device), so toggling on one phone applies everywhere.
In Settings, clients now see a “Devices receiving notifications” list (each phone/computer they've turned on), and the four category toggles below are locked until they turn notifications on — they'll see a “Turn on notifications to choose which updates you receive” overlay. So if a client says they can't change their notification settings, the fix is to enable notifications first (on iPhone, that means installing to the Home Screen — see Platform support below).
What automatically fires a push
| When | Category | Title shown to client |
|---|---|---|
| Staff clicks Accept | Decisions & milestones | Great news — we've accepted your case! |
| Staff clicks Hard Reject | Decisions & milestones | A decision on your case |
| Staff clicks Soft Close | Decisions & milestones | An update on your case |
| Staff Re-requests a document | Document chase | Lemonaid Firm needs your [doc] |
| Staff marks a doc Processed | Document chase | We got your [doc] — thanks! |
| Clio matter stage changes | Case stage changes | Your case moved to [stage label] |
| Clio stage → Settled (1518263) | Decisions & milestones | Your case has been settled! |
| Staff clicks Mark Funds Disbursed | Decisions & milestones | Your settlement funds are on the way |
| Clio matter closes (after disbursement) | Decisions & milestones | Case closed — congratulations! |
| Any status email (LAF-032…038) fires | Case update emails | New case update from Lemonaid Firm |
The four categories clients can toggle
- Case stage changes — every time Clio moves the matter to a new stage.
- Document requests & receipts — staff Re-request + Mark Processed.
- Case update emails — mirrors each LAF-032…038 status email so they see it on their phone instantly.
- Case decisions & milestones — acceptance, rejection, settlement, funds, closure.
Sending an ad-hoc / custom push
Use the Messaging tab in the top nav to send a one-off push — appointment reminders, a chase that doesn't fit Re-request, or a firm-wide announcement. Four targeting modes:
- Pick people (default) — search opted-in clients and partners (each row is tagged Client or Partner), optionally narrow clients by case stage, and tick exactly who to message. “Select all shown” grabs everyone currently matching your search.
- Filter by case state — pipeline stage, Clio matter stage, accepted-only, open-only. Clients only; sends to everyone matching who has a push device.
- Everyone subscribed — broadcast with an audience picker: all clients, all partners, or everyone subscribed. Use sparingly.
- Paste contact IDs — advanced: paste one or more GHL contact IDs (clients).
Click Preview & send to see the resolved recipient count and a sample of who's about to get it before anything goes out. Sends to more than 5 people require an explicit "I understand" checkbox. Every send respects each client's per-category opt-out and is written to the audit log.
Channels & the audit trail
- Push — needs an enabled device and respects the category opt-out. Keep the body short (push truncates around 160 chars).
- Email — sent to the contact's address via UrVeedaOS. Body can be long. Email reaches clients even if they never enabled push, so the recipient count grows when you add email to a filter/broadcast.
- Partners are push-only — the Email channel applies to clients. Partner recipients (picked individually, or via the partners / everyone broadcast) are reached by push to their partner-portal PWA; they don’t get these emails. Partners also receive automated good-news pushes as their referred cases progress, and the milestone emails (accepted, settled) fire from UrVeedaOS.
- Log a note to UrVeedaOS + Clio (on by default) — records the exact message on the contact timeline, and on the Clio matter if the case is accepted. This is how custom messages stay in the audit trail. (Notes are logged for client recipients.)
Note: the system's automated notifications (accept, reject, re-request, settlement, disbursement, etc.) already write their own notes from the triggering action, so you don't need to re-log those — the Messaging note exists specifically for the free-form messages you compose here.
The category bucket you pick (case stage / document chase / case update emails / decisions & milestones) determines which clients are reachable — anyone who turned that category off in their settings won't receive it. Choose the bucket closest to the message intent. An admin-only POST /api/v1/admin/push-custom endpoint also exists for scripted/VPS use.
Platform support (heads-up for client questions)
- Android Chrome / Edge / Samsung Internet: works whether or not the PWA is installed.
- Desktop Chrome / Edge / Firefox: works in any browser tab.
- iPhone / iPad (iOS 16.4+): only works if the client adds the portal to their Home Screen first. Tell them to tap Share → Add to Home Screen, then enable from inside the installed app.
- In-app browsers (Instagram, Facebook, TikTok webviews): no support — they have to open it in a real browser.
Failure handling
Pushes fire after the underlying business action commits, so a failed push will never roll back an accept/reject/disbursement. Dead device endpoints (404/410 from the push provider) are auto-pruned from the subscriptions table on next send.
Portal Access — one-time login link
Sometimes a helper fills out and manages a case for the client — a family member, a friend, an assistant. Instead of the old reusable “People with access” co-user list, each case now has a single Portal Access control on the case detail page (under Actions → Overview, just under the Owner selector) that mints a one-time-use login link for one filler. Clients no longer self-manage who has access — every change is made by staff and audited.
How the one-time link works
- One filler per case. Enter their name, email, and phone, then Issue one-time link. The link is single use and expires in 1 hour — once they open it, it won’t work again, so they can’t keep re-entering.
- Tick “Email the one-time link now” to send it to the filler immediately, or leave it unchecked and copy the link straight from the panel to share it yourself.
- ✎ Edit updates the filler’s name / email / phone. ↻ Re-issue one-time link mints a fresh single-use link (e.g. after they’ve already used the first one). Revoke stops their link resolving to this case.
Email copy reference
Here's the actual copy clients receive at each step, so you know what they're seeing.
After they finish the quiz (all documents requested up front)
Day 2 / 4 / 6 reminders (if they don't upload)
Day 8 soft close (no response)
When the case is accepted (intake specialist accepts the matter in Clio)
After you click Hard Reject
After you submit Settlement Data (Status Email #6 — Resolution Reached)
After you click Mark Disbursed (Status Email #7 — Funds Disbursed)
When the Clio matter is closed (Status Email #8 — Case Closed)
Avoiding duplicate cards
The portal now works hard to keep one card per person. Invite to quiz, the Manual intake form, and a client re-taking the quiz all reuse an existing active card by email instead of spinning up a duplicate. So a person who gets invited, then fills out the quiz, then resubmits, ends up with a single card — not three.
📩 Send quiz invite (per card)
On a case that has no Clio matter yet, the case header shows a 📩 Send quiz invite button. It sends (or re-sends) the quiz link to this existing card — no duplicate is created. Use it when a lead never finished the quiz and you want to nudge them again. (This is different from + New → Invite to quiz, which creates from a fresh email — though that one dedupes by email too.)
Duplicate-cards banner & merge
If duplicates still slip through (e.g. a co-purchaser who used a different email), a case shows an amber duplicate-cards banner near the top. It lists other cards with the same email OR VIN — the VIN match is what catches a co-purchaser on a different email. Each one has a “Merge into this card” button.
Merged-<case #>.Merge is refused if both cards already have a different Clio matter — we won’t silently collapse two live matters. If you hit that, forward both to David.
Client language (English / Spanish)
Every case carries a client language (English or Spanish). It’s set wherever a case is created — Invite to quiz, the Manual intake form (beside State), and each Bulk Add Leads row — and the staff card shows an EN / ES badge.
The chosen language carries through end to end: the per-contact quiz link opens in it, the document-chase and status emails/SMS fire from their EN/ES branch, and the client portal renders in it. (The staff portal itself stays in English — this only controls what the client sees.)
Bulk Add Leads
Use Bulk Add Leads to give portal access to clients who are already in your pipeline — clients onboarded before the portal existed, or anyone you collected documents from outside the portal. Each new enrollee gets a portal login, a GHL contact, and a welcome email with a 72-hour login link.
00123-Smith), not the internal ID, and the portal looks it up in Clio to confirm it exists and wire up automatic status updates. Intake rows can skip the matter # — a fresh lead with no matter yet goes straight into document collection.Per client, you enter
- Email, first name, last name (phone optional). For Case-status rows the name fields are hidden — the name is pulled from Clio.
- A mode — Intake (still collecting documents, pre-acceptance) or Case status (matter already accepted, post-acceptance).
- The Clio matter number — required for Case-status rows, optional for Intake.
- Vehicle Year / Make / Model — required on Intake rows (the document-request chase emails merge them). On Case-status rows the vehicle is pulled from Clio on Preview (see below) into editable fields.
- A per-row Language (English / Spanish) selector — sets the client’s language for the quiz link, the doc-chase emails, and the client portal.
- Per card: whether to send the portal-invite email and (Intake only) the document-request emails, plus any documents you already have to attach (these attach to the newly created card).
Per-card email toggles
Each client card has its own checkboxes — ✉️ Send portal invite email and (Intake rows only) 📄 Send document request emails. Leave them on for the normal welcome + chase flow, or untick either to enroll quietly (e.g. you’ve already talked to the client and don’t want to re-spam them). The choice is per card, so you can mix loud and silent enrollments in one batch.
Intake mode — pick the stage + attach docs you already have
Choose where they are in document collection (e.g. Collecting Documents). Then attach any documents you already collected from them offline — Repair Orders, Registration, Purchase/Lease, Additional. The files upload straight to the new case once it’s created, and any doc type you attach counts as already collected, so the client isn’t asked to re-upload paperwork they already handed over.
Case-status mode — Preview pulls name, stage & vehicle from Clio
For accepted matters, you don’t pick a stage or type the name. When you click Preview, the portal reads the matter straight from Clio and fills in:
- the client name (that’s why the name fields are hidden for these rows);
- the current Clio stage, and which of the 8 client-status buckets it maps to (e.g. Clio “Discovery” → Discovery Phase);
- the vehicle — Clio’s YEAR plus the combined “MAKE AND MODEL” field — into editable Year + Make & model inputs you can override. If Clio has none, the preview shows “not in Clio — add above.”
Clicking Enroll confirms the mapping. From then on, Clio stage changes flow into the portal automatically.
How it works
- Fill in one or more client rows (set each card’s email toggles + attach any docs).
- Click Preview — resolves each matter number, flags typos / already-enrolled / missing stages.
- Click Enroll — each card honors its own invite / document-request toggles, so untick them to enroll silently.
- For each new client the portal: creates the case record, upserts a GHL contact (tag
portal-migration-complete), and ~60s later sends a 72-hour login link via your GHL workflow.
GHL workflow you must create
Create a workflow triggered by “Contact tag added” → tag =portal-migration-complete. Use {{contact.portal_upload_url}} in the email body for the login link. This is a one-time “your portal is ready” announcement — the normal “request a link” flow works for them afterward.
Safe to re-run
Preview and enrollment both dedupe by email — if a case already exists for that email it shows "Already enrolled" and is skipped. Re-running the same list is harmless.
Case status board (post-acceptance)
The Case Status board is a read-only view of where every accepted case sits in the Clio matter lifecycle — so you can see the whole post-acceptance pipeline without logging into Clio.
What you see
- Columns for the 8 client-status buckets (Free Case Evaluation → Settlement Reached), plus Case Closed — Won! and Case Closed, and the two outcome columns Not Eligible (Clio “PNC Rejected”) and Referred Out (Clio “Referred Out”) — these also show on the client portal.
- Closed cases keep their reason. When a matter closes, the board still shows Not Eligible or Referred Out if that’s how it ended (rather than collapsing into a generic Case Closed). Only a settled-and-disbursed close reads Case Closed — Won!, and anything else closed reads Case Closed.
- Each card shows the client, vehicle, Clio matter number, and how long since the stage last changed.
- Click any card to open the full case detail page.
Portal cards ⟷ Clio matters (live) — reconciliation + onboard
A toggle at the top of the board flips between Portal cards (the default — cases that have a client portal) and Clio matters (live): a read of every matter in our Lemon-Law practice area in Clio, grouped by stage. Because Clio holds more matters than the portal (only intake-originated cases get a portal card), this is the drift / QA check — the header tallies N in Clio · M in portal · K not yet, and a green border marks each matter the portal already has a card for.
It’s also actionable: tick any un-synced matter that has a client email in Clio and click “Bring N into portal” — that creates the case card and sends the welcome / portal link, and never the quiz (these are signed matters; it reuses the case-status enrollment path). Matters with no email in Clio show a badge and can’t be auto-onboarded — add the email in Clio first. The Clio read is cached a few minutes; ↻ Refresh from Clio forces a fresh pull. This view lives only in our portal and only for Lemon Law — nothing about it appears to other Clio departments.
It's read-only — by design
You don’t move cards here. Stages are managed in Clio; when a matter’s stage changes there, the board updates automatically (via the Clio matter webhook). This board is purely for visibility.
Verify stage map (admins)
Clio occasionally adds or renames matter stages. When a case sits in a stage the portal doesn’t recognize, it falls back to the Case Accepted column and shows a ⚠ unmapped badge alongside the raw Clio stage name. Admins get a Verify stage map button in the header that pulls Clio’s live stage list and reports any stage ids missing from the portal’s map (plus any stale ids the map still has that Clio no longer uses). Mapping a missing stage is an engineering change — the id goes into CLIO_STAGE_ID_TO_DISPLAY — so forward the flagged ids to David.
Partners (its own tab)
Partners is reachable two ways: a top-level Partners tab for quick staff access to the management list (most of it is staff-accessible; a couple of destructive actions stay admin-only), and the fuller program under Admin ▾ → Settings → Partners (admins) which adds Partner Branding and Affiliate Banners. The amber badge on the nav link is the number of pending applications waiting for a decision.
Partner Management
The management list — the top-level tab, and the first sub-tab under Settings → Partners:
- Approve → creates the login and emails a one-time temp password (also shown once here as a backup); the partner is forced to set their own password on first sign-in.
- Deactivate blocks sign-in (reversible); Reactivate restores an Inactive partner, keeping their password + code (admin only).
- Delete is permanent (behind a confirm) and blocked if the partner has any referrals — deactivate those instead. Junk/test partners only (admin only).
- Referral code is editable inline (lowercase letters/numbers/dashes, unique). Partners can also change their own from their dashboard. ⚠ Changing it breaks any
?ref=links already shared with the old code. - Referral fee — open a partner to set their fee mode: Firm graduated schedule (the default tiers), Flat override % (a single negotiated rate — e.g. Cousins Law at 25%; a warning shows above the 20% cap), or Custom schedule (their own tiers). Pick case-by-case or lifetime ("refer more, earn more" — crossing a cumulative net-fee threshold raises the rate on future cases and emails them). The fee is applied to the net attorney fee at settlement and synced to the case automatically.
- Agreement documents — upload the partner’s signed agreement PDF (staff-only). They see it read-only under Documents in their partner portal.
The firm-wide graduated schedule + class-action rate live under Settings → Partners → Referral Fees (admin).
Adding a partner you already know — Inbound vs. Outbound
For a partner you don’t need to vet, skip the application/review entirely: use + New → Add a partner. The modal opens with an Inbound / Outbound toggle:
- Inbound — refers to us (the default): a partner who sends us cases. Creates a pre-approved (Active) partner with a portal login and emails them a temp password on the spot — the email is required. The modal is laid out contact on the left (incl. a payout address — where their referral checks are mailed) and commission on the right: pick a fee mode — Standard schedule (the firm graduated tiers set the rate, so there’s no per-partner %) or Flat override % (enter the negotiated rate; a 20%-cap warning shows above it). On the standard schedule you also choose Case-by-case vs Lifetime (cumulative). You can set a custom referral code (blank = auto-generate), and after creating the partner you can upload their signed agreement PDF right from the confirmation screen.
- Outbound — we refer out: a firm we send cases to (e.g. wrong case type). Only the law firm name is required plus a reason we refer out dropdown; no portal login is created and no temp password is emailed. It just records the firm so you can attribute outbound referrals to it.
A custom fee schedule (a partner’s own tier table) is still built in Partner Management — the confirmation screen links you there. The signed agreement can be uploaded straight from the confirmation screen.
Referral fees — how a partner's commission is calculated
When a partner-referred case settles, the portal computes the partner’s referral fee automatically and writes it to both the case and the partner’s referral record (no double entry). The fee is a percentage of the firm’s net attorney fee, not the settlement amount.
The basis: net attorney fee
Net attorney fee = attorney fee − litigation costs. You enter both on the Settlement form; the referral % is applied to that net figure. (Fla. Bar 4-1.5(g) caps the schedule at 20% of the net fee.)
The firm graduated schedule (default)
Partners on the default schedule earn a rate that steps up with the net attorney fee:
| Net attorney fee | Referral % |
|---|---|
| $0 – $5,000 | 10% |
| $5,001 – $10,000 | 15% |
| $10,001 – $15,000 | 20% |
| $15,001+ | 20% (cap) |
| Class action | 5% |
Admins edit this firm-wide schedule + the class-action rate under Settings → Partners → Referral Fees.
Per-partner options (set in the partner drawer)
- Firm graduated schedule — the default tiers above.
- Flat override % — one negotiated rate, no tiers (e.g. Cousins Law = 25%). A rate above 20% shows a cap warning — keep the signed agreement on file.
- Custom schedule — the partner’s own tiers, edited inline.
- Case-by-case vs lifetime — case-by-case picks the tier from each case’s net fee; lifetime (“refer more, earn more”) picks it from the partner’s cumulative net fee. Crossing a lifetime threshold raises the rate on future cases only and sends the partner a tier-upgrade email.
At settlement — what you do
- Enter the attorney fee + litigation costs; the referral %/$ auto-fills from the partner’s setup and the resolved tier is shown.
- It’s editable — you can override the amount, set a one-off per-case % override, or tick class action.
- On save, the fee lands on the case and the partner’s referral record, so the partner-portal balance is correct without re-typing.
Precedence when resolving the %: per-case override → class action → partner flat override → schedule tier.
Partner documents (agreements)
Upload a partner’s signed agreement PDF from the partner drawer (Agreement documents). It’s staff-upload only; the partner sees it read-only under Documents in their portal. Useful as the paper trail for negotiated rates above the cap.
Settings (admin only)
Everything under Admin ▾ → Settings is admin-only — non-admins don’t see the Admin menu, and the routes reject them server-side. Three tabs — Staff Users, Clio Sync, and Partners (the full partner program; its management list is also a top-level tab):
Partners has four sub-tabs: Partner Management, Partner Branding, Affiliate Banners, and Referral Fees — the firm-wide graduated fee schedule (tiers on the net attorney fee) plus the class-action rate. Edit the tiers here to change the default every partner on the firm schedule resolves against.
Staff Users
- Create staff/admin logins (@lemonaidfirm.com or @maclegalpa.com), set each person’s role, and deactivate accounts.
- Map each portal user to a Clio user so owner-routed actions + time entries attribute correctly. The dropdown lists all active Clio users; if it only shows a few, Clio isn’t connected on this environment (see Clio Sync → Sync Health) and it’s falling back to a short built-in list.
Clio Sync
- Activity Durations, SOL Years, Manufacturers — the reference data the Clio sync + SOL suggestions use.
- Sync Health — the live outbox queue, the Clio TEST/LIVE mode toggle, failed events with Retry, and a live Clio connection check that flags a dead/missing Clio token (which otherwise silently breaks Clio reads like the staff→Clio user list, and every Accept). Same signal as the status badge in the top-right (which now also lights up when Clio isn’t connected); this tab is its home.
No Dealerships screen: dealerships are created in Clio automatically when you accept a case (from the quiz’s dealership field) plus a verify-task — nothing to maintain by hand.
Preferences — your personal layout
Under Account ▾ → Preferences (top-right, available to everyone — not just admins) you can tune how the portal looks for you. These are per-device display choices; they never change anyone else’s view and never hide a feature — they only reorganize the layout.
- Compact case actions (on by default) — keeps a case’s Actions tab focused on the primary decision and tucks the secondary controls under a tap More. Turn it off for the classic layout with every button and box expanded. You can also flip it right from the link under the buttons on any case’s Actions tab.
Troubleshooting & support
Recovering a deleted case card
Deleting a case card is now recoverable — it moves the case to the Trashinstead of being erased. Clio, UrVeedaOS, and the Google Drive document backups are never touched by a delete.
- To get it back: an admin opens Settings → Deleted Cases and clicks Restore — the card and its documents come back exactly as they were. The same tab shows how much disk each trashed case is holding, and Delete permanently reclaims that space (admin only).
- Deleted before Trash existed? On the same Settings → Deleted Cases tab, use Rebuild a case from UrVeedaOS: enter the client’s email and it re-creates the card from the still-existing UrVeedaOS contact and re-links Clio — the client does not retake the quiz. It restores their identity (name / email / phone / state); top up vehicle/quiz details by hand, and re-pull documents from Google Drive if needed.
If a decision button shows a red error
- Read the error message carefully — it usually says what's missing.
- If it says "Clio matter created but local save failed" — DO NOT click again. Email David immediately (info below).
- For "Missing required field" errors — scroll up, fill in the missing field, try again.
- For anything else — screenshot the error and email David.
If a case doesn't appear in the Workbench
Try the "All" view toggle — it might be in a closed stage. If it's truly missing, email David with the client's email address.
If a client says they didn't get an email
Ask them to check spam first. If it's not there, email David with the client's name and what email should have gone out — we can re-send manually.
Report bugs or ask questions
📧 David Jones — marketing@lemonaidfirm.com
Send a screenshot, the client's name or email, and what you were trying to do. The more specific, the faster it gets fixed.