Tuesday, August 25, 2026
Clio Documents for Clients, Notifications You Can Actually Read, and Every Case in the Panel
Fourteen portal releases, two client app releases carrying nine over-the-air updates, and five extension releases. Four things worth your time, then the rest.
Your documents reach your client
Documents have only ever moved one way: your client sends you theirs. Now yours can go back.
Turn on Share Clio Documents with Clients in your Clio integration's General settings, and anything your team puts in a matter's folder named Quilia appears in that client's documents. They run through the same AI analysis as everything else, stay read-only, and never sync back. Off by default, per firm.
In the app they are marked as yours. A shared file reads Shared by your legal team, carries a scales of justice badge on thumbnails, and opens under the filename you gave it rather than a description the AI guessed at. Clients cannot delete them. Until now a firm-shared document looked exactly like a client's own upload, right down to long-press-to-delete.
Notification emails carry the message
A new-message notification used to hold the message behind a sign-in prompt, which made every notification a dead end for clients who don't use the app. The message now ships in the email itself, for every firm, with your logo in the header.
The view count changed with it. A client who reads everything in their inbox and never opens the app used to show zero views, indistinguishable from one ignoring you. Opening or clicking through from the email now counts.
The extension shows every case you have
The case list in the browser extension was really a list of chat rooms. A case with chat switched off matched nothing and vanished: 917 of 15,907 active cases hidden, and at firms with chat off entirely, roughly 7% of the caseload visible.
It is a list of cases now.
- My Cases reaches every assigned case. It filtered a single page of the firm's rooms sorted by chat recency, so an assigned case nobody had chatted about lately was never in the data being filtered.
- Search covers the whole firm, matching client name, case name, case type and CMS case ID. The largest firms were searching under 10% of their cases.
- Cases are named after the client, not the case type, so three people no longer appear as three rows reading "personal injury".
- Chat controls sit in the case header, matching the portal: Enable CaseChat on a case with chat off, Join CaseChat on one you are not in. Selecting a case now opens its activity feed instead of quietly creating a room.
- Blank conversations are fixed. Four faults were stacking into one dead chat, the worst a frozen access token retrying against a dead credential. Your messages now appear the moment you send them.
- The panel stops losing track of which case you are on. Chrome shuts down an idle extension worker, severing the connection that hears about tab changes, and nothing reconnected. It reconnects now and replays what it missed.
Uploading from the app works
Uploading is the thing your clients do most, and it was failing several ways at once, none of them loud.
- Videos send. iPhone video upload had failed since April, because it held the whole file in memory first. Uploads stream from storage now and keep running when the client locks the phone. Videos kept in iCloud download on demand.
- Files arrive one at a time, instead of eight photos sitting at 100% waiting on one video.
- A file is recorded once, and only if it arrived. Recording was two steps taken on trust, so storage could record a file that never landed, or the same file twice.
- Videos play, and thumbnails are framed correctly rather than magnified into a close-up of a numberplate.
- Files loads quickly. Nothing had ever generated a thumbnail, so every tile downloaded the full-resolution original and resized it on the phone.
- A camera button on every screen, floating above the Files tab, opening the same Camera, Scan, Gallery and Files chooser. Uploading used to be a tab and a button deep.
What clients could not see
Files stopped hiding documents. The screen filtered against a hand-written list 14 document types behind the database and silently dropped anything missing from it. Every estate document type was on that list, so a trusts and estates client who uploaded a will could not see it. So were request-completion PDFs and both types the car-accident checklist asks for. Separately, a case with more than a thousand files showed only the first thousand.
The right document clears the checklist item. A correct, correctly-classified upload could still read as outstanding, because your name for it and the classifier's name for it were synonyms. On one car-accident case type that was 2 of 8 items. Matching is by meaning now. Three equivalences were removed in the same pass: a utility bill could clear a medical-bills item, and a passport could stand in for a driver's licence.
Confirmation stops asking about work that isn't waiting. A case with 6 things to review said "Item 1 of 33", several cards blank, because every record ever created was being shown. The queue and the home badge now read through one filter. The card also asks rather than grades: "Add it to your case?" with Add to Case and Don't Add, replacing "Is this right?" under a button saying "Looks Good".
Messages you can trust
Open Sent at a firm with ten thousand messages and it said "645 messages", a count of rows on screen. Search a client and it said nothing found, which reads as we never wrote to them, when the search only looked inside the newest thousand.
- Every message is its own row. Sent folded messages by the rule that produced them, so one automation reaching six people drew as a single line wearing the first recipient's name and photograph.
- Dates run in order, sorted in the database rather than by whichever message led a group.
- Your whole history is reachable and searchable. At a firm with ten thousand messages, only the newest thousand could be opened.
- Each automation has its own Messages tab showing what went out and what is queued.
Automations that send what you meant
The portal let you build an automation, tick "Send a message", leave the body empty, and save. It ran on schedule and delivered nothing. The editor now refuses to save a message with no subject or body, and automations saved before this are worth a quick check.
- Clients who asked not to be messaged are checked again. That check didn't survive the move of phase messages onto automations. The check now sits at the single point every send passes through rather than in each audience.
- Settled clients are off phase mailing lists. Status and case stage only agreed in one direction, so a client finished in February kept advancing through stages all spring. Closing stages stay unfiltered on purpose.
- A client who leaves an audience no longer gets the queued message.
- You can move when an automation fires. The scheduling controls weren't in the automation tools at all, and the only route to a corrected send time was deleting and rebuilding, losing the copy and every translation with it.
- Feedback automations stop looking broken. An automation that asks for a rating has no subject or body on purpose, since the content is assembled when it sends. It was displaying as blank, which looked identical to copy that had failed to save.
FileMaker, CasePacer and Neostella
FileMaker is now an integration, with guided setup and its own settings page. An import brings in the case detail, not just names: accident date, time and location, treating providers, insurance, injuries, employment and property damage. Medical visits arrive as appointments attached to the provider each visit was with. Anything the client already entered is left alone.
CasePacer works without an API. A case is matched by the ID inside the filing address you paste in, the same ID its URL carries, and the extension offers a one-button import that reads the case off the page: client, contact, phone, email, address, title, phase, accident date, statute of limitations, attorney, paralegal, defendant and description.
Neostella pages are recognized too, kept distinct from Neos.
Cases your CMS turned away are visible. A case carrying an unmapped type is turned away, and only MyCase and Filevine ever recorded it. Clio, Neos, SmartAdvocate, Salesforce, Smokeball, CasePeer and Zapier now do, and the Case Types table shows "N new cases missing out on Quilia" under each.
Case management
- Some people belong on every case. Your CMS decides who hears about a case, which has no answer for the office manager who touches every file and is attorney of record on none. Settings, Integrations, Staff on Case now has an Always on every case list. At one firm the admin who does all the imports held zero case memberships, so the activity log read "was invited to Quilia by" her name and sent the digest to someone else.
- Staff you add to a case stay on it. On Clio, MyCase, Neos, CasePeer, Salesforce and SmartAdvocate, a colleague added by hand was removed on the next sync, usually within the hour, with no error.
- CaseChat, per case. The firm-wide switch couldn't represent chat on for some clients and off for others. Staff toggle it per case now, and chat enabled for one case actually reaches that client, where before it was gated firm-wide and simply never appeared.
- A focused workflow for vehicle property damage. These cases fell through to the injury experience, so a client with a damaged car and no injuries got pain scores and appointments. The portal now shows Vehicle, Repairs, Rental, Towing and Storage on the Incident tab, and the app gives the client the twelve things that matter to a damaged vehicle. Tow and rental receipts and body shop estimates classify automatically.
- Symptom checklists per case type. Case type settings has a Symptoms tab for picking exactly what a case type asks about. The app reads that choice now, where before it showed the built-in list regardless of what you configured.
- Print the filtered view. A Print entry at the top of the cases table's View dropdown prints every filtered row with the visible columns, not just the page on screen.
- Know what languages your clients read. The firm profile reports the real distribution. Regional variants count together, and clients with no language recorded show as unset rather than being dropped.
- Case Members is now Case Team, and clients on a multi-claimant case read Clients.
- Your own office is one of your locations. The Locations API listed every office except the main one. 51 of 79 firms have a main address and no others, so for most firms the API returned an empty list.
Fixes worth naming
The incident screen was deleting the time your client gave you. The Time field on Edit incident details rendered empty whatever was stored, and saving erased the client's answer. The app then asked again, because the only thing clearing that task is a time being present. Of 175 affected cases, 118 have had the time restored; the other 57 are left blank, because on a liability field a time on the wrong day is worse than none.
Neos phase syncing is fully restored. The org-wide sweep that walks every open case and asks Neos whether its phase moved had stopped running. Phases kept arriving for cases Quilia was already watching, so this affected cases that changed quietly in Neos with nothing else prompting a look. Firms on Neos should see those phases correct themselves, including on older cases, and it is worth a glance at any case whose phase looked stale.
Links in your messages stop flashing a "not found" screen. Every quilia.com/app/... link opened against a route the app didn't recognize: a steady trickle of not-found screens. And a message can now link to Providers, Documents or Ask a Question, the three destinations firms most want and the three that previously opened on Home with no error at either end.
83% of workers comp insurance was filed as "Other". The AI read the carrier, policy and claim numbers correctly and never recorded the coverage type, so a field defaulting to "Other" made a good answer look unclassifiable. Workers Compensation is a real category now, in both the portal and the app.
Duplicates. A provider with no name was copied onto a case on every appointment. Appointments, insurance and employment now match on a partner's own ID, so a re-push is safe.
Smokeball case creation was sending no staff invitations at all, silently, from a mismatched field name. MyCase document uploads stopped failing with a signature error.
For your intake partners
An entire case can be pushed in one request. POST /v2/cases accepts the incident, damage, providers, policies, employment and staff alongside the case, where it used to take eight round trips, and one bad record no longer costs the case: each child validates as it is written and the response says what happened to each.
The theme is accepting what partners send. Roughly a third of one partner's nightly sync was being refused over input we could have accepted. An unreadable date in an optional field now drops the value and keeps the case, insurance can be recorded before the carrier is known, and contact types accept all 23 categories rather than the 8 the API exposed. Rejections are now recorded with the field that failed, so a partner can see and fix what was refused.
Privacy and security
This release includes a set of security hardening fixes from our monthly audit. A client's chat list is now scoped to that client's own conversations rather than to the firm. The voice option on the sign-in code screen only calls a number belonging to a real account, and a hardcoded fallback number was removed from the app. The MyCase connection settings endpoint now requires a signed-in admin at the firm in question. The tables holding manual and AI-suggested labels on an upload are now covered by row-level security and scoped to the owning firm, with catalog changes limited to admins.
Alongside those: deactivating a firm member now ends their browser extension access, test environments redirect all client messaging to an internal recipient by default, and diagnostic breadcrumbs were narrowed to screen and identifier only, carrying no contact details.
Also fixed
- Deactivated accounts no longer loop at sign-in. The sign-out never took effect, so the next click put the person back where they started.
- The welcome message stops promising a reply. The default copy invited clients to "just reply to this message". There is no reply button, and no error either, so a client who tried concluded their firm had ignored them. Firms who wrote their own are untouched.
- A sync that half-failed no longer reports complete success.
- Phase message migration carries everything, including phases you wrote copy for but never armed, and arrives switched off so the timing is yours.
- Prospect conversations reach the CRM.
- Chat log exports run on the export setting alone. Firms with exports on but the new-case CaseChat default off were exporting nothing.
- Video analysis works again, and large videos stream rather than loading whole into memory. Audio transcription moved onto Vertex Gemini.
- Document uploads no longer hold whole batches in memory. One 113 MB video peaked near 570 MB, killing uploads to Neos and MyCase.
- Columns stop painting over each other on Case Team and on long client names.
- Staff with no timezone show "not set" rather than Eastern, which had a western-state firm conclude Quilia had assigned all its people the wrong timezone.
- New staff accounts stop saving the literal text "not provided" as a phone number. Roughly 800 rows corrected.
- The video embed tab tells the truth. It advertised YouTube, Vimeo, Loom and Wistia; only YouTube survived the save, and the others showed a player in the editor while the client got a message with no video.
- Messages sent to a case without a named recipient now reach every client on it, rather than failing every time.
- Firms running two CMS integrations no longer have phase messages resolving whichever sorted first alphabetically.
- In the app: the launch crash is fixed, sideways videos fill the screen, incident dates hold their time in every timezone, the inbox loads for long histories, the Wage Loss upload buttons work, a read message stops coming back unread, double-tapping no longer strands clients on a blank screen, prescription attachments show previews, new suggestions appear on pull to refresh, and document signing has a working Save and Close.
