Extract events from each source into one table, one event per row, with fixed columns: date, event in neutral words, a verbatim quote, the source file with a page or message locator, and who recorded it. Merge and sort the rows, then check every quote against its original. A row without a checked source stays out of the chronology.
An AI summary that reads well but cannot point to the page it came from is useless in a hearing and risky in a witness statement. So this method puts the quote and the locator first and the narrative last, works with any assistant, and treats children's details and allegations as sensitive from the first step.
The working chronology and the one you file
These are two different documents, and AI belongs only in the first. The working chronology is long. It holds every relevant event from every source, with issue tags, a note on reliability and flags where sources disagree. The chronology you file or exchange is a short, neutral extract that a lawyer selects from it, and many courts ask for one, so check with the supervising lawyer what this court expects. In the worked example below, a 100-row working chronology yields a 22-row filed version. Nobody should ask an assistant to decide which events matter to the case.
Columns that make every row checkable
| Column | What goes in | Why it exists |
|---|---|---|
| ID | C001, C002 and so on | Conflicts and gaps can point to a row |
| Date and time | 2026-03-14 18:42, year first | Sorts correctly and avoids day and month confusion |
| Event | One event, past tense, neutral: "B replied to the handover message" | One event per row makes contradictions visible |
| Who | A or B, or a role (school, court) | Shows who recorded or did it without names in the prompt |
| Source type | Message, statement, order, record, email | Different sources carry different weight |
| File and locator | Export file and timestamp; statement and paragraph; order and paragraph | The link to the evidence, so anyone can find it in a minute |
| Quote | The exact words, in quotation marks | Lets a search confirm the row |
| Issue tag | Children, money, housing, communication | Lets the lawyer filter for one argument |
| Conflicts with | IDs of rows that contradict this one | Turns disagreements into a list |
| Checked | Initials and date | No initials, no use outside the team |
Prepare the sources before the assistant sees them
Most chronology errors begin here, before any prompt. Six steps keep the evidence intact and the data minimal:
- Keep every original untouched in a read-only folder. Work on copies named by date and type, for example 2026-03-14_message-export_A-B.txt.
- For WhatsApp, use the chat's own Export chat option, which produces a ZIP file holding the chat as text, with or without media. Open the text file and compare the first and last message dates with the phone, so you know the export covers the whole period. WhatsApp's help page notes that view-once messages are not exported, so ask the client whether any matter to the case.
- For screenshots, put the date, time and sender in the file name whenever the image crops them. An assistant can read the text, but a row with no timestamp is unusable.
- For PDFs such as statements, orders and school reports, decide what "page" means (the printed number or the file's page) and write it at the top of the table. Orders and statements cite by paragraph number.
- Redact for the task: children's names become initials, parents become A and B, and addresses, account numbers and medical details the chronology does not need are removed.
- Choose the tool with care. Use a business plan that does not train on your content by default: ChatGPT Business and Claude Team each cost $20 a seat a month billed annually ($25 monthly) with a two-seat minimum. Free consumer accounts are the wrong place for family-case material. Read the engagement letter and your firm's AI-use policy first; the AI use policy clauses tutorial covers what the policy should say.
Upload limits shape the batches. Claude takes up to 20 files per chat at 500 MB each (project files are capped at 30 MB), paid ChatGPT plans allow up to 80 file uploads every three hours, and Gemini takes 10 files per prompt at 100 MB each. A year of messages, two statements and an order fit comfortably, but run one source type per prompt anyway, because the instructions differ for each.

The Complete Excel Course with AI Integration
From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.
By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner
Buy nowThe extraction prompt for messages
Messages are the largest and messiest source, so start there. The prompt forbids three habits that make a chronology unsafe: tidying quotes, characterising tone and merging events.
You are extracting events for a family-case chronology from a message export.
Return a table with one row per event: DATE_TIME (YYYY-MM-DD HH:MM), WHO (A or B), EVENT, QUOTE, LOCATOR.
- EVENT is one neutral sentence in the past tense with no adjectives.
- QUOTE is copied exactly from the export, including typos. Never correct, translate or tidy it.
- LOCATOR is the date, time and sender exactly as they appear in the export.
- One event per row. If a message contains two events, make two rows.
- Include only messages that record an event relevant to these issues: [handovers, the children's health and schooling, money, housing, arrangements].
- Ignore greetings and chatter.
- Never characterise a message (do not call it threatening, abusive, angry or kind). If a message needs human judgement, set EVENT to REVIEW and give the quote.
- If you cannot give an exact quote and locator, leave the row out and list the message under SKIPPED.
Date format in this export: [day first or month first, confirmed against a message dated after the 12th].
Export: [paste]
The two variants for the other sources change only the locator and the wording rule. Statements and orders usually arrive as PDFs, so run them in a separate prompt each.
| Source | Locator format | Wording rule for the event |
|---|---|---|
| Message export | Date, time and sender as printed | Neutral past tense; one event per message |
| Witness statement | Statement name and paragraph number | Keep it an assertion: "A states that B did not reply on 12 March" |
| Court order | Order date and paragraph number | Record each date, direction and finding as written; do not summarise the reasons |
| School or medical letter | Letter date and page | Record what the document says happened, not what it implies |
What a first run looks like, and the three faults to look for
This extract is illustrative. Four rows from a message export show the output format and, below the table, what the reviewer finds when the original is open alongside it.
| ID | Date and time | Who | Event | Quote | Locator |
|---|---|---|---|---|---|
| C014 | 2026-03-12 18:42 | B | B replied to A's message about the handover time | "Fine, 5pm at the scool gate" | 12/03/2026, 18:42, B |
| C015 | 2026-03-14 17:55 | A | A told B the child had been unwell | "She's been sick twice, keeping her home" | 14/03/2026, 17:55, A |
| C016 | 2026-03-14 18:10 | B | B asked to move the handover to Sunday | "Can we do Sunday instead?" | 14/03/2026, 18:10, B |
| C017 | 2026-03-14 19:30 | A | REVIEW | "That's the last time, you'll regret it" | 14/03/2026, 19:30, A |
The first fault is a quote that has been tidied. In the draft run, C014 came back as "Fine, 5pm at the school gate", with the sender's typo corrected. A search of the export for the corrected string finds nothing, which is exactly how the check catches it; the table above shows the quote as it should be, typo included. The second fault is a date read the wrong way round. A run that guessed day-first would have placed messages stamped 03/04/2026 on 3 April when the phone, set to month-first, meant 4 March, and the symptom is rows landing out of order against the surrounding thread. Fix it by stating the format in the prompt and confirming it against a message dated after the 12th.
The third fault is merging. An early run folded C015 and C016 into one row, "A and B discussed the child's illness and moved the handover", which hides who raised what and when. The one-event-per-row rule exists to prevent it. C017 shows the intended behaviour for a message that could be read several ways: the assistant gave no label, set the event to REVIEW and quoted the words, and the lawyer decides what, if anything, it means.
Statements: keep assertions as assertions
A witness statement mixes events, opinions and argument, so its extraction prompt has one job: record who asserts what, in which paragraph, without turning an assertion into a fact. A short extract looks like this (illustrative):
| ID | Date | Event as asserted | Locator |
|---|---|---|---|
| C031 | 2026-03-12 | A states that B did not reply to the handover message | A statement, para 14 |
| C032 | 2026-04-02 | B states that A refused to hand over the child at the school gate | B statement, para 9 |
| C033 | 2026-04-02 | A states that the child was unwell and was kept at home | A statement, para 17 |
The common fault is dropping "A states that". A first run wrote C031 as "B did not reply to the handover message", which turns a contested assertion into a finding and, as row C014 shows, into a wrong one. The rule that every event from a statement opens with the asserting party and "states that" costs nothing and prevents it. Cite paragraph numbers, not pages, for statements, because paragraph numbers survive reformatting.
Merging the tables, sorting, and flagging conflicts
Paste the outputs into one spreadsheet, sort by date and time, and ask the assistant to compare rows without deleting any. The instruction is: identify pairs of rows that describe the same event, list them by ID, and separately list pairs that contradict each other with a one-line description of the contradiction. A person then merges true duplicates by keeping the message row as the primary and adding the statement's locator as a second source, and keeps both rows where sources disagree.
A typical conflict (illustrative): paragraph 14 of A's statement says B "never replied" about the handover on 12 March, while row C014 shows a reply at 18:42. Mark each row in the other's "Conflicts with" column. The chronology now shows the disagreement as a fact about the evidence, and the lawyer decides how to use it. The assistant must not resolve it, and must not guess which source is right.
The gaps list: what the chronology cannot show yet
A chronology is also a map of what is missing. Ask the assistant to list four things and no more: periods longer than a length you set (say 14 days) that have no source inside windows the lawyer has marked as critical; documents mentioned in one source but absent from the file; orders that refer to schedules or attachments not in the bundle; and events recorded in only one source. A filled-in extract looks like this (illustrative):
| Gap | Why it matters | What to request | From |
|---|---|---|---|
| No messages from 20 April to 9 May | Both statements describe missed handovers in those weeks | Check the export period; ask for the missing months | Client |
| A's statement cites "the email of 3 June"; it is not in the file | A key event with no source | The email with its header | Client |
| The order of 2 March refers to a schedule not in the bundle | The order is incomplete as filed | The full order with the schedule | Court file |
| School letter records an absence on 14 March; nothing shows who collected the child | Sits beside C015 and C016 | The school's attendance record | School |
| A's statement puts a handover on the 9th; messages show the 10th | A date discrepancy between sources | Ask the client; check the diary | Client |
The list becomes the lawyer's to-do list for the client meeting. Each gap names what to ask for and who holds it, so nothing depends on anyone remembering what the chronology lacked.
Verify every row before it leaves the building
Verification is a search, not a read. For each row, search the source file for the quote string and confirm that the date, time, sender and locator match where it was found. A quote that does not turn up is either tidied, paraphrased or invented, and the row is corrected or removed. Every row that will appear in anything filed or exchanged gets this check from a person other than the one who ran the prompt. Rows that stay internal can be sampled, say one in four; if a sample finds a defect, check them all. Record initials and the date in the Checked column, because a row with no initials does not leave the team.
Before the table goes to anyone else, run five acceptance checks: every row has a quote and a locator, no event contains an adjective or a conclusion, dates run in sequence against the thread, every conflict is flagged from both sides, and every row has initials. A table that fails any one of them goes back for another pass.
Once the table is verified, the lawyer drafts from it and cites row IDs in the margin of a draft statement: "On 12 March B replied at 18:42 confirming the handover at 5pm [C014]. On 14 March B asked to move it to Sunday [C016]." The IDs make each sentence quick to check before the client signs and quick to find when the bundle is paginated. An assistant can help with a first draft only if it sees the verified rows and is told to use no event outside them, which is the same rule as the drafting routine in the tutorial on drafting a brief and cite-checking it.
One case end to end: 118 candidate rows become 100 checked ones
Take an illustrative case with four sources: a message export covering 14 months, a statement from each parent (43 numbered paragraphs for A, 31 for B), one interim order of 12 paragraphs and a two-page school email. The extraction runs, one source type per prompt, produced 118 candidate rows: 79 from messages, 27 from the statements, 9 from the order and 3 from the school email.
| Stage | Rows | What changed |
|---|---|---|
| Candidate rows from the four extraction runs | 118 | 79 messages, 27 statements, 9 order, 3 school email |
| After merging duplicates | 104 | 14 events appeared in a message and a statement; each became one row with two sources |
| After verification by search | 100 | 6 tidied quotes corrected, 3 dates fixed (the month and day mix-up), 4 rows deleted because no exact quote existed |
| Conflicts flagged | 7 pairs | Statement against message, or statement against statement |
| Gaps listed | 6 | Missing months, a missing email, an order schedule |
| Filed chronology | 22 | Selected by the lawyer from the 100 rows |
Time is the other half of the picture. Running and pasting the extractions took about 1.5 hours, verification at roughly 2.4 minutes a row took 4.0 hours, and the lawyer's review of conflicts, gaps and the selection took a further hour, so about 6.5 hours in total. The sums are illustrative and make no claim about a manual alternative. What they show is the shape: the assistant's part is the smaller one, and the checking is where the hours go, which is where they belong in a document that may end up in front of a court.
The filed chronology keeps three columns and drops the rest. An extract of what the lawyer's selection might look like (illustrative):
| Date | Event | Source |
|---|---|---|
| 2 March 2026 | Interim order made on arrangements for the child | Order, paragraphs 1 to 3 |
| 12 March 2026 | B replied to A's message about the handover time | Messages, 12/03/2026, 18:42 (C014) |
| 14 March 2026 | A told B the child had been unwell; B asked to move the handover to Sunday | Messages, 14/03/2026, 17:55 and 18:10 (C015, C016) |
| 14 March 2026 | School records an absence | School letter, page 1 |
The quotes, tags, reliability notes and conflict flags stay in the working version, ready if the other side or the court asks for the detail behind a row.
The four rows deleted at verification are worth a note. All four were the assistant's paraphrases of long back-and-forth exchanges, written as if they were single quotes. Each described something that really happened, yet none could be tied to one message, and a row with no exact source is the thing the chronology is meant never to contain. The rows came out, and the lawyer reads those four exchanges directly in the export instead.
Neutral wording, children and allegations
Assistants drift into a vocabulary of conclusions. Left alone, a summary will say that B "sent a series of threatening messages on 19 March". The neutral version is a count and the words themselves: "B sent three messages between 21:02 and 21:15", followed by three rows, each with its quote. Whether the messages are threatening is a question for the lawyer and the court. Keep the assistant to who, what, when and the exact words, and never ask it to judge credibility, motive or the likely outcome.
Children need extra care. Use initials in every prompt, keep health and schooling detail to what the issue requires, and where the case involves allegations about a child, hold that chronology in a separate file with restricted access. The financial disclosure tutorial applies the same caution to bank statements and valuations, and the intake side of the work is covered in the tutorial on turning intake notes into a case chronology.
Finally, remember what a text file is. An exported chat can be edited by anyone, so it is a convenient copy of the evidence and not authenticated evidence. Ask the supervising lawyer how the court expects messages to be produced, which might mean screenshots with device details or a forensic capture, and treat any screenshot supplied by the other side with suspicion until checked; the checklist for spotting AI-generated evidence lists what to look for. For a wider view of which tools suit family work, see what to pay for and what to skip in legal AI for family law.
Questions about AI chronologies in family cases
Can I rely on an AI summary of messages in court?
Not the summary. Rely on the exact messages it points to. Every row needs a verbatim quote and a locator that a person has checked against the original export, so the chronology works as an index to the evidence and never replaces it. A row that cannot be traced back stays out.
How should I handle children's names and sensitive records?
Replace children's names with initials, and strip addresses, account numbers and medical detail the chronology does not need before anything goes into an assistant. Use a business plan that does not train on your content by default, and keep sensitive material in a separate, restricted chronology if the case calls for it.
Should the AI describe messages as threatening or abusive?
No. Record what was said, when and by whom, in neutral words, and quote the message. Characterisation is for the lawyer and the court. Tell the assistant to avoid adjectives and to flag a message for human review instead of labelling it.
What if the WhatsApp export has dates that look wrong?
Dates in an export can be written day first or month first, so 03/04/2026 could mean 3 April or 4 March. Find a message dated after the 12th to confirm the order, and check the first and last dates against the phone so you know the export covers the whole period the case needs.
Is a chronology itself evidence?
Usually it is a working document, or a summary the court asks for, and not evidence in itself. The evidence is the underlying messages, statements and orders. Ask the supervising lawyer what the court expects, because the format and the status of a chronology differ between courts.
Further reads
- Family Law Client Intake: An AI Questionnaire and Urgency Triage — An intake questionnaire that feeds the first draft of the chronology.
- Family Law Client Communication With AI: Calm, Consistent Emails — Calm, consistent emails to clients while the chronology is built.
- Can AI Build a Medical Chronology for an Injury Case? — The same source-linked method applied to medical records.
- Family Law Document Automation: Gavel Workflows or Generative AI? — Document automation compared with generative AI for family work.
- AI Transcription for Lawyers: How to Test Accuracy on Poor-Quality Audio — Accuracy tests before relying on audio transcripts as a source.
- AI for Employment Lawyers: Policies, Grievance Bundles and Letters — Building a dated bundle from policies, emails and notes.
- Best AI for Family Law in Australia: Privacy, Court Rules and Cost — A family law shortlist with prices, what the Family Court's AI practice direction requires, and the privacy rules that keep client data out of free tiers.
- AI Discovery Review for Defence Firms: Index, Search and Cross-Check — Index discovery, map each statement to the disputed issues, build a contradiction table with page cites, then verify every cite by hand before filing.
- Best AI for Family Law UK: Form E Prep and Client Updates — A safe route to Form E bank statement summaries and calmer client updates: what to redact, which tools to use, what to check and what the SRA has said.
- Family Law Retainer Agreements: AI Drafts, Lawyer Sign-Off — A clause-by-clause walk through an AI-drafted family law retainer: scope, fees, AI-use disclosure, and the checks a lawyer must still make before it goes out.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: the ChatGPT Business and Claude Team pricing pages, the file-upload help pages for Claude, ChatGPT and Gemini, and WhatsApp's help page on exporting chat history. Checked 4 November 2026.