The example is made up. Calloway & Brandt LLP is a made-up litigation and business law firm, and every matter, client and person in the lesson is made up too. The practice needs no n8n, OpenAI or Google account, nothing is billed and no workflow is published. This is our own lesson, not an official n8n course, and it is not legal or billing advice.
What does the time entry agent do with my notes?
You paste notes the way you actually write them. In the lesson, an associate's notes for Oct 19 cover two matters, one task with no time and one with no clear matter. The agent returns four entries:
- Harlow Foods v. Brightway Logistics, 1.2: "Drafted responses to defendant's second set of interrogatories." Check: Ready.
- Harlow Foods v. Brightway Logistics, 0.4: "Call with client (D. Harlow) re: collection of shipping records." Check: Ready.
- Pemberton Estate, Hours not given: "Reviewed draft trust amendment." Check: add the time before this entry goes to billing.
- Unclear, 0.3: "Email to opposing counsel re: rescheduling the Kessler deposition." Check: confirm the matter, because the notes don't say which case it is.
Then you type "Yes, save those to the sheet" and it writes all four rows to the Daily Time Log spreadsheet. Two are ready to bill; two need you first. If you track billable hours, that short list is the point.
How is the agent built in n8n?
The lesson follows the same path you would take in your own n8n:
- Sign up and get a key. Start at n8n.io with Get started free. On platform.openai.com, add credit, then create a secret key and copy it.
- Add a chat trigger. Click Create workflow, then Add first step… and pick On chat message.
- Add the AI Agent. Click the + on the trigger, open AI and pick AI Agent.
- Give it its orders. Click + Add Option, choose System Message and paste the system prompt.
- Give it a model and memory. Add OpenAI Chat Model with your key, pick gpt-5-mini, then add Simple Memory.
- Give it the Sheets tool. Add Google Sheets Tool, sign in with Google, choose Append Row, pick the sheet and map each column.
- Test it. Click Open chat, paste your notes, read the entries, then ask it to save them.
The system prompt is where the firm's rules live. The n8n AI agent system message guide explains how to write one.
Try it free, step by step
Build an n8n AI Agent That Turns a Lawyer's Rough Notes into Time Entries. Build an AI agent in n8n for Calloway & Brandt LLP that turns a lawyer’s rough end-of-day notes into one time entry per task in Google Sheets, with the matter, the hours exactly as written, a… You do every step yourself in a practice copy of n8n, it checks your work as you go, and “Do it for me” finishes any step you get stuck on. Free, and nothing touches your real accounts.
Start the free lessonWhy does the agent refuse to fill in missing hours?
Because the system prompt says never to invent, estimate or round hours. A task with no time gets Hours not given and a check asking you to add it, instead of a guess that ends up on a client's invoice. The same goes for facts: the prompt says never to add facts, results or legal conclusions that are not in the notes.
A language model will happily fill a gap with something that sounds right. That is a hallucination, and on a bill it is a real problem. The prompt's rule, plus your read of every row, keeps it out.
Key takeaways
- One task, one entry: date, matter, hours, description and check.
- Hours are copied exactly as written. Missing time says Hours not given.
- A task with no clear matter is marked Unclear, so time isn't billed to the wrong client.
- Descriptions start with a past-tense verb and read like something a client can understand.
- Add your firm's billing rules to the prompt, and read every row before billing.
Frequently asked questions
- What columns does the Daily Time Log need?
Five, in row 1: Date in A1, Matter in B1, Hours in C1, Description in D1 and Check in E1. They match exactly what the system prompt tells the agent to return. In the Sheets tool, click the ✦ button next to each one under Values to Send so the model fills them in.
- How does the agent write descriptions?
One sentence, starting with a past-tense verb, like "Drafted..." or "Call with client re: ...". The prompt asks for a plain, brief, factual tone, like a billing description a client can read. A vague entry like "work on file, 1.2" is the kind of line that makes a client ask what they paid for.
- What happens when a task could belong to two matters?
The agent writes Unclear in Matter and says why in Check. In the lesson, the Kessler deposition email is flagged because the notes don't name its case.
- Does it know my firm's billing increment?
Only if you add it to the system prompt. The lesson's finish screen says to follow your firm's billing rules, such as the time increment you bill in and how descriptions must read.
- Can I put client information into it?
Check your firm's policy before you put client information into any outside tool. The prompt also says never to include Social Security numbers, account numbers or other personal identifiers.
- Why does the agent need memory?
Without memory, every message starts from nothing, and it wouldn't know which entries "save those" means. Simple Memory keeps the recent conversation in n8n; the defaults keep the last 5 messages.
- What does it cost to run?
You pay OpenAI for each request you send, not a flat monthly fee. New n8n accounts include free credits too: pick Gateway credits on the model step. Check n8n's and OpenAI's pricing pages for current plans.
- What do I need to build it for real?
An n8n account (the cloud trial or self-hosted), an OpenAI API key with a little credit, and a Google account for the sheet. The n8n docs cover each node.
- Are there other law firm lessons?
Yes. In the same course, summarize a client intake call or build an after-hours intake voice agent. For a wider view, read ChatGPT for law firms.
- What goes wrong most often?
Editing out the "never round" rule, pasting client identifiers, and wiring slips like the Sheets node left on reading rows. See n8n time entry agent mistakes.
