Meeting notes to CRM
From a client review transcript to field-by-field CRM updates, follow-up tasks and compliance flags, with every change traced to a line in the call. Shown on a made-up household.
Reviewed by the editor
- For
- Wealth · RIAs · FO
- Run time
30 to 60 min→ 15 min- Tested on
- Rivera household (made-up data)
- Spend
- Existing AI seats
01Build a change table, not the CRM update1 min 32 s · Claude Code CLI, no files or web
Feed the transcript, the current CRM record and your firm's note and field rules. Ask for one row per possible change, with the current value, the proposed value, the exact words from the call with a timestamp, and the rule that applies. Ask for a "Gaps" list. The advisor approves this table, so the CRM can only change in ways the advisor has seen.
PromptYou are a client service associate at a registered investment adviser. Below are a client review meeting transcript (F1), the household's current CRM record (F2) and the firm's CRM note and field rules (F3). All of it is example data. Task: build a CHANGE TABLE, not the CRM update yet. 1. One row per thing the meeting could change in the CRM: a field update, a new task, a meeting-note item, a compliance flag, or something that must NOT be recorded. 2. Columns: ID (C1, C2...), CRM field or item, Current value in F2 (with as_of), Proposed value, Evidence (the exact words from F1 with the timestamp), Rule (the F3 rule number that applies, if any), Action (update / no change / task / note only / compliance flag / do not record). 3. Copy values exactly as said. If a client corrected themselves, use the correction and quote both. Mark client estimates as estimates. 4. Follow F3 strictly: no field change for undecided plans or for risk tolerance without a signed questionnaire, no account numbers, no health details, no invented due dates. 5. Under "Gaps", list anything the advisor would need to confirm before syncing (for example a value that should be checked against a statement). Never fill a gap from memory. Output Markdown only. INPUTS: [paste F1, F2 and F3]
It produced 32 rows and 16 gaps. It used Sam's corrected cash figure, left the retirement age and risk fields alone, and kept the account number and the medical procedure out. It also noticed that the stored transcript still holds the account number. One slip: it called Dana the "primary" beneficiary, a word Sam never used.
02Draft the update from the table only28 s · A fresh session, no files or web
A new session turns the approved table into field updates, tasks with owners and due dates, a short meeting note and any compliance flags, with a [C#] tag on every line. Tell it not to add anything that isn't in the table and to keep vague due dates as they were said.
PromptUsing ONLY the approved change table below, draft the CRM update for the Rivera household (example data) after the Oct 27, 2026 review. Output four parts: 1. Field updates: a table with Field, Before, After, [C#]. Only rows whose Action is "update". Keep the as_of date and the word "estimate" where the table has it. 2. Tasks: one line each with Owner, Task, Due date exactly as in the table, [C#]. If a due date was vague, keep the client's or advisor's words and add "(set date)". 3. Meeting note: about 150 words, factual, no adjectives about the clients, no account numbers, no health details beyond what the table allows. End every sentence with its [C#]. 4. Compliance review flags: quote each flagged statement with its timestamp and say why it is flagged [C#]. Do not add anything that is not in the table. CHANGE TABLE: [paste the approved change table]
Every field value matched the table and no date was invented. But it carried the "primary" beneficiary over from the table, ran the note to 181 words against the firm's 150, and dropped the point about the stored transcript.
03Compliance check1 min 8 s · A second model, read-only
A second reviewer checks every field, task, note sentence and flag against the transcript and the old record, and looks for overwrites, privacy problems and missing dates as well as wrong values. Use a different model from the drafter if you can.
PromptYou are the compliance and operations reviewer at an RIA, checking a draft CRM update before it syncs. Below are the draft (with [C#] tags), the change table and the original inputs: the transcript (F1), the CRM record before the meeting (F2) and the firm's field rules (F3). For EVERY field, task, note sentence and flag in the draft, output a row in a Markdown table: | # | Item (short) | Cited | Value in draft | What F1/F2 actually say | Verdict | Verdicts: MATCH, MISMATCH, UNSUPPORTED (not said in the meeting), OVERWRITE (replaces a field F3 says must not change), PRIVACY (account number, health detail or other data F3 bars), MISSING DATE, TONE (stronger or softer than what was said). Then list anything from the meeting the draft left out that the CRM should have. Be strict. Then list each fix with exact corrected wording.
It rated 42 items. It found no overwrites and no privacy problems, caught the unsupported "primary", the long note and the dropped departure month, and listed missing context. It also marked all five vague due dates as missing, even though the firm's rules say to keep them as said.
04Tie out every field to the call yourselfNon-negotiableabout 10 min · The transcript, the old record and your firm's rules
Check each changed field against the transcript, not the AI's table. Confirm the fields that must not change didn't. Search the update for account numbers and health details. Then read it as the advisor's supervisor: does every commitment have an owner, and can every blocked field actually move? This is the step you can't skip, because the AI steps only checked each other.
All 22 items tied out. We fixed three, and added a client task to sign the risk questionnaire, which neither AI step had, plus a note that the stored transcript still holds the account number.
05Approve and syncabout 2 min · The advisor, then your CRM
Keep the change table and checking notes with the meeting record. The advisor approves the update and sets the open due dates; compliance reviews the flags. Only then does it sync to the CRM, through your meeting assistant's integration or by hand.
Sample output
The CRM update after checking, unedited apart from the fixes listed below. Everything in it is example data about a made-up household. Each chip links to the input file it came from.
Rivera household: CRM update after the October 27 review
EXAMPLE DATA. Made-up clients at a made-up advisory firm. Review held October 27, 2026. $ in USD.
Field updates
| Field | Before | After |
|---|---|---|
| sam_employer | Example Medical Devices Inc. F2 | Harbor Example Health, started September 14; left Example Medical Devices in September (client stated) F1 |
| sam_base_salary | $160,000 F2 | $185,000 (client stated) F1 |
| dana_income | $95,000 (2025 estimate) F2 | 2025: about $90,000. 2026: maybe $75,000. Both client estimates F1 |
| primary_email | dana.rivera@example.com F2 | dana.rivera.studio@example.com; the old address still works F1 |
| emergency_cash | $80,000 F2 | About $60,000, client estimate, after the August roof F1 |
| monthly_spending | $8,000 F2 | About $8,500, client estimate, includes a car payment that runs through 2029 F1 |
| held_away_assets | None recorded F2 | Example Medical Devices 401(k), about $212,000, client stated F1F3 |
| leo_529_balance | $41,000 at Dec 31, 2025 F2 | About $48,000, client estimate, checked the week before the meeting F1 |
| health_notes | None F2 | Client health update, may affect plan, details with advisor. About six weeks of paid leave expected from January F1F3 |
| estate_documents | None on file F2 | Wills dated 2008, client stated; copies not on file F1 |
| last_review / next_review | Apr 15, 2026 / Oct 27, 2026 F2 | Oct 27, 2026 / Dec 3, 2026, 2:00 PM F1 |
| Not changed | target_retirement_age, risk_tolerance, investment_objective, beneficiaries F2 | Discussed but not decided, or waiting for a signed form F1F3 |
Tasks
- Jordan Lane: send the risk questionnaire to Sam and Dana. Due "this week" (advisor to set a date) F1
- Sam and Dana Rivera: complete and sign the new risk questionnaire. Due date not stated (advisor to set one) F1F3
- Dana Rivera: send the 2026 year-to-date P&L for the tax projection. Due Nov 6, 2026 F1
- Jordan Lane: send an introduction to an estate attorney. Due "next week" (advisor to set a date) F1
- Jordan Lane: model retirement at 62 and at 65. Due Nov 13, 2026 F1
- Sam Rivera: send the new 401(k) statement and the beneficiary confirmation page. Due before the Dec 3 review (advisor to set a date) F1
- Jordan Lane: compare options for the old 401(k): stay in the plan, roll it to the new plan, or roll it to an IRA. Due at the Dec 3 review F1
Meeting note
Annual review by video call, Oct 27, 2026, 2:00 to 2:41 PM, with Sam and Dana Rivera. The clients consented to transcription; transcript only, no recording kept F1.
Sam started at Harbor Example Health on September 14 and contributes 10% to its 401(k), which has a 4% match; the balance was not stated. His old 401(k) is still at Example Medical Devices. Options will be compared at the next meeting; the advisor made no recommendation F1. Sam said he named Dana as beneficiary on the new plan and thinks the children are contingent; he will send the confirmation F1.
Dana is still freelancing and expects lower 2026 income after two clients cut budgets F1. Retirement age was discussed, not decided: Sam is considering 62, Dana is thinking 65 F1. Dana said she would be more comfortable with less in stocks; Sam is fine where they are. Both will redo the risk questionnaire before anything changes F1F3. Leo starts college in fall 2027 F1.
Compliance review flags
- [00:10:20] Advisor: "Honestly, with what you have you'll be fine retiring at 62." It predicts an outcome before the modeling is done, so it goes to compliance review under rule 7 F1F3.
Left out on purpose
The old 401(k) account number Sam read aloud. It is still in the stored transcript, so check your notetaker's retention settings as well as the note F1F3.
The medical procedure. Only the plan-relevant fact, about six weeks of paid leave, is recorded F1F3.
Birth years from the CRM record stay out of the note and the tasks F2F3.
The example inputs
EXAMPLE DATA. Fictional transcript. Annual client review, Rivera household (made-up clients), with advisor Jordan Lane of Example Wealth Partners (a made-up RIA). Video call, Oct 27, 2026, 2:00 to 2:41 PM. Clients consented to transcription at the start of the call. Transcript only, no recording kept. [00:00:40] Jordan: Thanks for making time. Same agenda as usual: what changed, cash and spending, retirement, the kids, and anything on your minds. [00:01:10] Sam: Big one first. I left Example Medical Devices in September. I started at Harbor Example Health on September 14. Base salary is 185,000, up from 160 at the old place. [00:01:42] Jordan: Congratulations. Does the new plan have a 401(k) match? [00:01:50] Sam: Yes, 4 percent match. I'm putting in 10 percent. And the old 401(k) is still sitting at Example Medical Devices. It's about 212,000. The account number is 88-2041-7736 if you need it. [00:02:15] Jordan: Thanks, I'll get the details from the statement instead, no need to read numbers out. We'll compare options for the old 401(k), staying put, rolling it to the new plan, or an IRA, at the next meeting. I'm not recommending anything today. [00:02:40] Sam: Makes sense. I named Dana as the beneficiary on the new 401(k), and I think the kids as contingent. I'd have to check. [00:03:05] Jordan: Can you send me the confirmation page when you find it? [00:03:09] Sam: Sure. [00:04:20] Dana: My side is quieter. Still freelancing. Last year was about 90,000, not the 95 you have. This year will be lower, maybe 75. Two clients cut budgets. [00:04:48] Jordan: Got it. Can you send me your year-to-date P&L by November 6? It helps with the tax projection. [00:04:55] Dana: Yes. [00:05:30] Dana: Also, new email for anything official: dana.rivera.studio@example.com. The old one still works but I check it less. [00:07:10] Jordan: Cash. Last time we had about 80,000 in savings. [00:07:16] Sam: About 80, yes. Actually no, it's closer to 60 now. We paid for the roof in August. [00:07:25] Dana: 60 is right. [00:07:40] Jordan: And monthly spending, still around 8,000? [00:07:46] Dana: More like 8,500 with the new car payment. That runs through 2029. [00:10:05] Sam: Retirement. I've been thinking about 62 instead of 65. [00:10:12] Dana: We haven't decided that. I'm still thinking 65 for me. [00:10:20] Jordan: Honestly, with what you have you'll be fine retiring at 62. But let's model both, 62 and 65, and look at it properly. I'll have that to you by November 13. [00:14:30] Dana: After what the market did in March, I'd honestly be more comfortable with less in stocks. [00:14:40] Sam: I'm fine where we are. [00:14:48] Jordan: That's worth taking seriously. Before we change anything, let's each redo the risk questionnaire. I'll send it this week. [00:18:02] Sam: One more thing. I have knee surgery scheduled in January. I'll be out about six weeks, paid leave. [00:18:15] Jordan: Thanks for telling me. I hope it goes well. [00:21:40] Dana: Leo starts college in fall 2027. The 529 is about 48,000 now, I looked last week. [00:21:55] Jordan: Good, that's up from the 41 on the year-end statement. Maya is doing fine? [00:22:02] Dana: Maya's a junior now. Still on our health plan. [00:26:30] Jordan: Estate documents. Your wills are from before Leo was born, right? [00:26:36] Sam: 2008, yes. [00:26:40] Jordan: I'd like to introduce you to an estate attorney. I'll send an intro next week. [00:38:10] Jordan: Next review. First week of December? [00:38:16] Dana: December 3 at 2 works. [00:38:20] Jordan: December 3 at 2 PM it is. Before then: I send the questionnaires this week and the 62 versus 65 model by November 13. Sam sends the new 401(k) statement and the beneficiary confirmation. Dana sends the P&L by November 6. [00:40:50] Jordan: Thanks, both of you.
# EXAMPLE DATA. Fictional CRM export, Rivera household, Example Wealth Partners (made-up RIA). Exported Oct 27, 2026, before the meeting. $ in USD. field,value,as_of household_name,Rivera Household,2019-06-01 primary_contact,Dana Rivera,2019-06-01 primary_email,dana.rivera@example.com,2019-06-01 secondary_contact,Sam Rivera,2019-06-01 secondary_email,sam.rivera@example.com,2019-06-01 sam_employer,Example Medical Devices Inc.,2021-02-10 sam_base_salary,160000,2026-04-15 dana_employment,Self-employed graphic designer,2019-06-01 dana_income,95000 (2025 estimate),2026-04-15 dependents,"Maya (born 2006), Leo (born 2009)",2019-06-01 target_retirement_age,"Sam 65, Dana 65",2023-04-20 risk_tolerance,Moderate (questionnaire signed 2025-03-12),2025-03-12 investment_objective,Growth and income,2025-03-12 emergency_cash,80000,2026-04-15 monthly_spending,8000,2026-04-15 leo_529_balance,41000,2025-12-31 held_away_assets,None recorded,2026-04-15 beneficiaries,"Sam IRA: primary Dana. Dana IRA: primary Sam.",2023-04-20 estate_documents,None on file,2019-06-01 health_notes,None,2019-06-01 last_review,2026-04-15,2026-04-15 next_review,2026-10-27,2026-04-15 open_tasks,None,2026-10-27
EXAMPLE DATA. Fictional CRM note and field rules for Example Wealth Partners (a made-up RIA). Version 3, Jan 2026.
1. Only record what a client said or a document shows. Write client estimates as estimates ("client estimate, about $X") and keep the as_of date.
2. Plans the clients have not decided are "Discussed", not field changes. Do not overwrite a field with a plan.
3. risk_tolerance and investment_objective change only after a newly signed risk questionnaire. If a client raises a change, log it in the meeting note and open a task. Do not edit the field.
4. Never write account numbers, Social Security numbers, passwords or dates of birth into notes or tasks. Refer to accounts by name only.
5. Health: do not record diagnoses, procedures or treatment. If it affects the plan, record "Client health update, may affect plan, details with advisor" and any plan-relevant fact (for example time off work).
6. Every task needs an owner and a due date. If the due date was vague ("next week"), write it as said and flag it for the advisor to set a date. Do not invent dates.
7. Advisor statements that predict outcomes or sound like a recommendation ("you'll be fine", "you should roll it over") go in a Compliance review flag, quoted with the timestamp.
8. Held-away assets: record the account name, approximate value, and source (client stated or statement).
9. The meeting note is factual, about 150 words, and is part of the books and records. No adjectives about the client.
Checking table
Every field, task and flag in the update, tied out against the transcript and the old record, not against the AI’s change table. Of 22 items: 17 verified, 3 corrected or rephrased, and 2 added because the draft left out something the advisor needs.
| Item | Where we checked | Result | Note |
|---|---|---|---|
| sam_employer: Harbor Example Health from September 14 | F1 00:01:10; F2 | Corrected | Codex noticed the draft dropped that Sam left Example Medical Devices in September. We added it. The year isn't said; it's 2026 from context. |
| sam_base_salary $185,000, was $160,000 | F1 00:01:10; F2 | Verified | Client stated. Firms that verify income against a pay stub should keep the as_of date and the label. |
| held_away_assets: old 401(k) about $212,000 | F1 00:01:50; F3 rule 8 | Verified | Name, approximate value and source, as rule 8 asks. Check it against the plan statement before the options meeting. |
| dana_income: 2025 about $90,000, 2026 maybe $75,000 | F1 00:04:20; F2 | Verified | Dana corrected last year's figure from the CRM's $95,000. Both stay labeled as client estimates. |
| primary_email changed | F1 00:05:30; F2 | Verified | Spelling checked against the transcript. The old address stays on file because Dana said it still works. |
| emergency_cash about $60,000 | F1 00:07:16 to 00:07:25; F2 | Verified | Sam said 80 first, then corrected himself to 60, and Dana confirmed. Both AI steps used the correction. |
| monthly_spending about $8,500 | F1 00:07:46; F2 | Verified | Includes the car payment, which runs through 2029. |
| leo_529_balance about $48,000 | F1 00:21:40; F2 | Verified | Up from $41,000 on the year-end statement. A client estimate until the next statement arrives. |
| health_notes: approved wording plus six weeks of paid leave | F1 00:18:02; F3 rule 5 | Verified | We searched every AI output for the procedure. Neither AI step recorded it. |
| estate_documents: wills dated 2008 | F1 00:26:36; F2 | Verified | Client stated; copies not on file. |
| last_review Oct 27; next_review Dec 3 at 2:00 PM | F1 header and 00:38:16 to 00:38:20 | Verified | Time zone and format weren't said. Your calendar invite settles both. |
| target_retirement_age not changed | F1 00:10:05 to 00:10:12; F3 rule 2 | Verified | Sam is considering 62 and Dana said they haven't decided, so the field stays at 65 and 65. |
| risk_tolerance and investment_objective not changed | F1 00:14:30 to 00:14:48; F3 rule 3 | Verified | Dana raised a change, but the field waits for a newly signed questionnaire. |
| Beneficiary on the new 401(k) | F1 00:02:40 | Corrected | The change table called Dana the "primary" beneficiary and the draft kept it. Sam only said "the beneficiary" and was unsure about the contingents. Codex caught it. |
| beneficiaries field not changed | F1 00:02:40; F2 | Verified | It waits for the confirmation page. |
| Tasks due Nov 6 and Nov 13 | F1 00:04:48, 00:10:20, 00:38:20 | Verified | |
| Vague due dates: "this week", "next week", "before then" | F1; F3 rule 6 | Verified | Kept as said and flagged for the advisor. Neither AI step invented a date. Codex marked all five as missing dates, which is what rule 6 asks for. |
| Clients sign the new risk questionnaire | F1 00:14:48; F3 rule 3 | Added | Both AI steps gave only the advisor a task, to send the questionnaire. The risk field can't change until it comes back signed, so we added a task for the clients. |
| Account number not recorded | F1 00:01:50; F3 rule 4 | Verified | We searched every AI output for the number. It appears only in the transcript. |
| Stored transcript still holds the account number | F1 00:01:50; F3 rule 4 | Added | The step 1 table raised this as a gap and the draft dropped it. We put it back as a note, because the transcript is a record too. |
| Compliance flag: "you'll be fine retiring at 62" | F1 00:10:20; F3 rule 7 | Verified verbatim | Quote and timestamp match. |
| Meeting note | F1; F3 rule 9 | Corrected | The draft note ran 181 words against the firm's 150, and left out why Dana's income is falling. We trimmed it and added the two clients who cut budgets. |
Left out on purpose: a task to pull the old 401(k) statement and a task to collect copies of the wills. Both are sensible, but nobody agreed to them in the meeting, so they sit in the gaps list for the advisor instead of becoming commitments.
Common failure modes, and how to catch them
Plans written as decisions
"Thinking about 62" becomes a new target retirement age, and the plan changes without anyone deciding.
Check: List every field the meeting touched but shouldn't change, and confirm each still holds the old value.
In our run: the retirement age, risk tolerance and objective all stayed put.
The first number wins
Clients correct themselves mid-sentence, and the first figure is the one that gets recorded.
Check: Search the transcript for "actually" and "no," and check each corrected figure.
In our run: Sam said 80 then 60 for cash. Both AI steps used 60.
Words the client didn't say
"The beneficiary" becomes "primary beneficiary"; "I think" becomes a fact.
Check: Compare every field and note line to the quoted words, not to the summary.
In our run: the change table added "primary" and the draft kept it. The second model caught it.
Sensitive data in the record
Account numbers read aloud and health details end up in notes that many people can see.
Check: Search the update for digit strings and medical words before it syncs, and check what your notetaker keeps.
In our run: neither was in the update, but the stored transcript still held the account number.
Invented due dates
"Next week" quietly becomes a specific day nobody agreed to.
Check: Every task needs a due date as said, or a flag for the advisor to set one.
In our run: no dates were invented. Five vague ones went to the advisor.
Tasks that can't close
The advisor gets a task to send a form, but nobody owns sending it back, so the blocked field never moves.
Check: For each field that waits on something, find the task that unblocks it.
In our run: we added a client task to sign the risk questionnaire.
Who it’s for
- RIAs and wealth managers: the notes and CRM updates after a client review, where one missed correction or a plan written as a decision ends up in the books and records.
- Family offices: the same pattern for family meetings: swap the CRM fields for your household or entity records, and keep the rules on what never goes in the notes.
- Deal teams: it works for a founder or management call too. Swap the field rules for your deal stages and the household record for the company record in a CRM like Affinity, Attio, 4Degrees or DealCloud.
The workflow replaces the first pass at the notes, not the advisor’s review or your compliance team. Use only tools your firm has approved for client data, and check what your notetaker stores. We used made-up data so we could publish every input.
Rewatch or reread the call, write the note, update each field, then set up the follow-up tasks by hand.
About 3 minutes of AI time and about 12 minutes of tying out and approving, on a 41-minute call. A longer meeting or a firm with more fields takes longer, and most of the time should still go to the check.
The tools
We ran the change table and the draft with the Claude Code CLI and the check with the Codex CLI, each in a fresh session, on existing subscriptions, with no web access, no API keys and no paid data. Using two different models means the check isn’t the drafter grading its own work. Other meeting notes tools in our directory that produce the transcript for step 1: Granola, Fireflies, Otter.
Advisor tools already write to the CRM for you. Zocks says it turns meetings into notes and CRM updates and never records calls (Zocks), and it is now available to LPL Financial’s more than 32,000 advisors (Business Wire, Oct 20, 2026). Jump automates CRM updates, makes recording optional and says advisors can review its outputs (Jump); it is adding Claude skills that turn conversations into next steps (InvestmentNews, Oct 27, 2026). And Claude for Financial Advisors is now available through Schwab Advisor Center (Charles Schwab, Oct 28, 2026). Whichever tool writes the update, steps 3 and 4 still apply.
Make it yours
- Paste your firm’s real note and field rules into step 1. The AI follows written rules much better than unwritten habits.
- Keep the change table with the meeting record. If a field is ever questioned, it shows the exact words behind it.
- Before each sync, search the update for digit strings and medical words, and check your notetaker’s transcript retention as well as the note.
One email a week. Free.
Illustrative workflow, not investment advice or compliance advice. Example Wealth Partners, the Rivera household and every person, account and number on this page are made up. Nothing here describes a real firm or real clients.
Spot an error? Submit a correction