Oktopeak
Legal Tech October 7, 2026 · 7 min read

A lawyer has Claude finding his billable work every day. Here is how it gets into Clio without duplicates.

Claude already lists your day's work from calendar, email and files. The last step: posting time entries to Clio, the no-duplicate rule, and matter matching.

By Petar Jovanović · Co-Founder & Technical Lead
A lawyer has Claude finding his billable work every day. Here is how it gets into Clio without duplicates.

[ KEY TAKEAWAYS ]

A lawyer wrote to us this week with a setup most firms have not reached yet: Claude already sweeps his calendar, his email and his file system every day and lists the work he did. His problem is the last step. The list goes into a spreadsheet and the spreadsheet goes into Clio at the end of the month. He wants the entries posted to Clio the same day, nothing posted twice, nothing missed. That is a small job, and this is exactly how it works: one connector call per entry, a read-before-write rule against the entries already on the matter, and a matching rule for clients with more than one matter.

Last checked: 7 October 2026, against the Clio connector README (tool list, 2.x), Clio's Activities API, Clio's App Directory listings for passive timekeeping tools, and the lawyer's own description of his sweep. Firm and name withheld.

1

connector call posts a time entry on a matter: date, hours, description, billable flag.

2

reads before every write: find the matter, list what is already logged for that day.

0

deletes. The connector cannot remove an entry, so a wrong one is fixed in Clio by a person.

1

place the effort actually goes: matching work to the right matter when a client has several.

  • reads
  • the one write, after the check
  • a duplicate bounced
  • outside the sweep

What he already had, and what was missing

The sweep is the hard part and he built it himself. Every day Claude reads the calendar for meetings and hearings, reads sent and received email for client work, looks at the files touched in the matter folders, and writes a list: client, what was done, roughly how long. That list is what a paralegal used to reconstruct at month end from memory and a calendar printout. He has it daily.

What was missing is boring. The list has to become Clio time entries, on the right matters, once. He was doing that by hand through a spreadsheet import, monthly, which means a month of entries land in one go, the review happens when the work is cold, and the invoice goes out late. The fix is the same routine with one more step at the end.

Sweep. Claude reads calendar, email and files for the day and lists the work. Already running.
Review. He reads the list once, fixes a description, drops a line. Thirty seconds, same day.
Match. Each line is tied to a Clio matter. Most resolve by client name; the rest get a rule or a question.
Check. The connector lists the time entries already on that matter for that date. Lines that exist are skipped.
Post. One connector call per remaining line. The entry is on the matter, at the matter's rate, same day.
A desk from above: laptop, phone, notebook
Month end used to be when this happened. With the routine it is the last thirty seconds of every day.

What a Clio time entry needs

Clio calls a time entry an activity of type TimeEntry. The connector's log_time_entry tool takes the same fields the Clio screen asks for, which is why Claude can fill it from a sentence like "0.4 hours, call with the adjuster on the Smith matter, 6 October".

FieldWhere Claude gets itNote
MatterMatched from the client or case named in the sweepRequired. The one field that needs a rule.
DateThe day of the sweep, or the calendar event's dateRequired.
HoursCalendar duration, or the sweep's estimateDecimal hours. Round to the firm's increment in the routine.
DescriptionThe sweep's line, rewritten in the firm's billing styleThis is the text the client reads on the invoice.
BillableDefault yes; non-billable or no-charge when the line says soClio flags, passed through.
Activity description / rateOptional. The firm's UTBMS or custom codesIf passed, Clio bills at that code's rate.
UserThe login the connector runs under, or an explicit user idOn a single-machine install, that is the lawyer.

"What I primarily need is for Claude to be able to plug that work directly into Clio rather than me having to pull a spreadsheet into Clio at the end of each month." The lawyer's own words, and the whole brief.

The no-duplicate rule

Nobody wants to explain a double-billed call. The rule is read before write, and it costs one extra call per matter per day.

Case 1

Same line, second run

The routine runs twice in a day, or the lawyer re-runs it after fixing a description. The connector lists the matter's entries for that date; a line with the same hours and the same description is already there, so it is skipped.

Case 2

Same work, two sources

A hearing appears in the calendar and in an email thread. The sweep lists it twice. The routine merges by matter, date and overlapping time before it posts anything. This is prompt logic, set once.

Case 3

Edited in Clio, then re-posted

The lawyer changes 0.4 to 0.5 in Clio. Tomorrow's run sees 0.5 on the matter and a 0.4 line in the sweep. The rule compares description first, hours second, and treats a matching description as the same entry.

If a firm wants the rule enforced rather than followed, the check moves inside the connector: a log_time_entry call that matches an existing entry on matter, date, hours and description is refused and reported back. That is a small extension per firm, and it protects against a user who types "post it again" in a hurry.

Matter matching is where the work is

The sweep says "Smith". Clio has Smith, Smith v. Jones, and a closed Smith estate matter from 2024. Every time-capture tool on the market has this problem; the dedicated ones solve it with learned matching, and so can a routine, with rules you can read.

One client, one open matter
Resolve automatically. Search matters by client, status open. Most lines end here.
One client, several open matters
Use the source. A calendar event belongs to the matter it was booked under; an email belongs to the matter named in its subject or thread. If neither, ask once in the review step.
Client not in Clio yet
Do not post. Flag it. New contacts are created by a person, time is posted after.
Work with no client, admin or marketing
Post to the firm's non-billable administrative matter, or skip, per the firm's rule.

Already have Claude listing your day's work? The install of the connector on your machine is free and takes one call. Posting the first day's entries to Clio while you watch is how we start every firm.

Book the install call

The one hard stop A line whose client is not in Clio yet never gets posted. The routine flags it, a person creates the contact, the time is posted after. Letting the assistant create contacts to make a time entry fit is how duplicate clients start.

Passive timekeeping tools, and what you already pay for

Clio's App Directory lists a whole category for this: Billables.ai, Mira Timekeeping AI, WiseTime, MagicTime, Chrometa, and PointOne among them. They run in the background across your applications, build narratives in your billing style, and send approved entries to Clio. Billables.ai, for one, says it captures 10 to 30 percent more billable time; we have not measured that and cannot vouch for the number, but the category is real and the firms that bill by the tenth with strict guidelines use it.

Dedicated passive toolClaude you already use + a free connector
What it watchesDesktop activity across apps, email, documents, meetingsWhatever Claude can read: calendar, email, files; the firm decides
NarrativesGenerated in your billing style, learns from editsWritten by Claude under a firm skill you can read and change
Where entries landReviewed in the tool, exported to ClioReviewed in the chat, posted to Clio by the connector
Matter matchingLearned, inside the productRules you wrote, inside the routine
Phone calls and textsOnly if your phone system is integratedOnly once they are in Clio (see below)
CostPer-user subscriptionYour existing Claude seat; connector is open source
Who owns the rulesThe vendorThe firm

Neither is wrong. A ten-lawyer litigation shop with insurer billing guidelines probably wants the dedicated tool. A three-lawyer firm whose partner already built the sweep himself wants the last mile, and wants to own it.

What stays outside the sweep

The same lawyer named the gap himself: phone calls and text messages with clients, on his cell phone. No sweep of calendar, email and files sees those, and no app can read an iPhone's call log or Messages. They have to arrive in Clio another way first, and then the same routine can turn them into entries. We wrote that up separately: how to log phone calls and text messages in Clio.

Frequently Asked Questions

Can Claude create time entries in Clio?

Yes, through a connector. Our free open-source Clio connector exposes a log_time_entry tool that creates a billable or non-billable entry on a matter with a date, hours, description, optional activity description and user. Claude fills the fields from your day's work and calls it once per entry. Nothing is deleted by the connector, ever.

How do I stop Claude from posting the same time entry twice?

Make it read before it writes. The connector lists the time entries already on a matter for a date range; the daily routine checks that list and posts only lines that are not there. A stricter version is a check inside the connector that refuses an entry matching the same matter, date, hours and description, which we add per firm.

What does a Clio time entry need?

A matter, a date, a quantity in hours, a description, and whether it is billable. Clio bills it at the matter's rate or at an activity description's rate if you pass one, and attributes it to the user whose login the connector runs under unless you set another user id.

How does Claude know which matter a piece of work belongs to?

By matching. The sweep output names a client or a case; the connector searches matters by client name and status. One client with one open matter resolves itself. One client with several matters needs a rule (the matter whose calendar had the event, the matter named in the email subject) or a question back to you. That matching is where most of the setup effort goes.

Is this better than a passive timekeeping tool like Billables.ai or WiseTime?

Different trade. Those tools watch desktop activity across applications, generate narratives in your billing style and push approved entries to Clio; they are built for that and cost a subscription per user. The Claude route uses the assistant you already pay for and a free connector, captures what Claude can see (calendar, email, files), and you own the rules. Firms with high volume and strict billing guidelines often want the dedicated tool; a small firm that already lives in Claude usually wants the last mile.

Does this work in the Claude browser app?

A connector running on your laptop is visible to Claude Desktop, not to the browser or to Cowork's scheduled tasks. If your daily sweep runs in the browser, the connector has to be a remote one, hosted or in your own cloud, which is the firm-wide setup rather than the single-machine install.

NEWSLETTER

No spam. We use this list for product and connector upgrade announcements, new research findings, and not much else. Unsubscribe anytime.

Petar Jovanović

[ WRITTEN BY ]

Petar Jovanović

Co-Founder & Technical Lead

Co-Founder and Technical Lead at Oktopeak. Builds regulated software for legal and healthcare teams, and leads the rescues of codebases other vendors left half-finished.

[ LEGAL TECH ]

Related Articles

[ GET STARTED ]

Ready to build?

30-minute call. No pitch deck. Just an honest conversation about your project.

Check if we're a fit