By KYN AI Advisory Team — AI implementation specialists, Singapore
A meeting notes agent reads a transcript or typed notes and returns a list of action items, each with an owner, a due date and the sentence it came from. The setup is a fixed output format, a list of valid attendees and a rule that a person confirms the list before it reaches anyone's task board. The checks that matter most are for invented owners, invented dates and missed items. This article covers the setup and the test plan.
What should the agent produce?
One table, not prose. Each row has five fields.
| Field | Rule | |---|---| | Action | One verb phrase, under 20 words | | Owner | Must match a name in the attendee list, or "unassigned" | | Due date | Only if stated in the meeting; otherwise blank | | Source line | The exact sentence from the notes | | Status | "Proposed" until a person confirms |
Two rules do most of the work. An owner not named in the meeting stays "unassigned". A date not stated stays blank. The agent never fills a gap with a plausible guess, because a plausible guess looks the same as a fact on a task board.
How do you set it up?
- Capture. Decide where notes come from: a transcript from your meeting tool, a typed summary, or a voice memo transcribed first. Use a source your team already has the right to record. Tell attendees when a meeting is recorded.
- Attendee list. Pass the invite list with the notes. The agent may only assign to people on it.
- Extraction prompt. Ask for decisions and actions as separate lists. Define an action as "a commitment by a named person to do something". Say that questions, ideas and opinions are not actions.
- Fixed format. Require output in the table above. Reject output that does not parse.
- Review step. The meeting organiser sees the proposed list with source lines and confirms, edits or deletes each row.
- Write. Confirmed rows are written to your task tool. Unconfirmed rows are not.
- Log. Store the notes, the proposed list, the confirmed list and who confirmed.
Step 5 is not optional. It is a two-minute check that stops a wrong assignment from reaching a colleague.
What goes wrong, and how do you catch it?
| Failure | What it looks like | Check | |---|---|---| | Invented owner | "Sam to send the quote" when Sam never said so | Owner must match the source line | | Invented date | "By Friday" when no date was said | Date must appear in the source line | | Missed action | A commitment is not listed | Compare against a human list | | Merged actions | Two tasks become one | Count verbs in the source | | Wrong person | Two people share a first name | Use full names from the invite | | Opinion as action | "We should look at pricing" becomes a task | Require a named person and a verb |
Run the first three as automatic checks. For owner and date, the check is a text match: does the name or date appear in the source line? If not, the row is flagged.
How do you test it?
Use ten real past meetings.
- Have a person write the action list from each meeting without the agent.
- Run the agent on the same notes.
- Compare. Count missed actions, invented owners, invented dates and extra rows.
- Review every difference. Some will be mistakes by the agent. Some will show the person's list was incomplete.
Report the numbers by failure type. The invented owner and invented date counts should be zero. If they are not, tighten the rule before adding features. A missed action is a smaller risk, because the organiser still sees the list and can add it.
How should owners be handled when the notes are vague?
Vague notes are the usual cause of wrong tasks. "We'll follow up with the supplier" has no owner.
- The agent lists it as "unassigned" with the source line.
- The review screen asks the organiser to choose an owner from the attendee list.
- If the organiser skips it, the item is not written to the task tool, and it appears in the next meeting's carry-over list.
This keeps the task board clean and puts the burden of naming an owner on the meeting, which is where it belongs.
What are the privacy and security limits?
Meeting notes often hold salary talks, customer details and legal matters.
- Store notes in your own cloud account, not in a tool the whole company can search by default.
- Limit who can see each meeting's notes to its attendees.
- Give the agent its own restricted account with write access to the proposed-actions table only.
- Notes can contain text aimed at the model, such as a pasted email with instructions. Treat the notes as data. See prompt injection in business AI agents.
- Under Singapore's PDPA, personal data in recordings remains your responsibility. Keep retention short and documented.
What does it cost?
One meeting is one or two model calls on a few thousand words. In KYN's live systems, narrow text tasks cost cents or fractions of a cent each, for example about S$0.01 to sort a reply. Meeting length changes the figure. The larger cost is the review habit, which is minutes per meeting.
What does a worked example look like?
The example is illustrative. A short sales meeting produces these notes:
Reviewed the Q4 pipeline. Dewi will send the revised quote to the logistics client by Thursday. We should look at pricing for bulk orders. Hadi to check stock for the January order. Next meeting 5 November.
The agent returns:
| Action | Owner | Due | Source line | Status | |---|---|---|---|---| | Send the revised quote to the logistics client | Dewi | Thursday | "Dewi will send the revised quote to the logistics client by Thursday" | Proposed | | Check stock for the January order | Hadi | Blank | "Hadi to check stock for the January order" | Proposed | | Look at pricing for bulk orders | Unassigned | Blank | "We should look at pricing for bulk orders" | Proposed, flagged |
The third row has no named person and no date, so it is flagged. The organiser either names an owner or removes it. The word "Thursday" is converted to a calendar date using the meeting date, and the converted date is shown so the organiser can check it. That conversion is done in code, not by the model.
How should the review screen work?
Keep it fast. A review that takes more than two minutes will be skipped.
- Show the proposed rows with the source sentence beside each.
- Make owner a dropdown limited to the attendee list.
- Highlight flagged rows at the top.
- Provide three buttons per row: confirm, edit, delete.
- Provide one button to confirm all unflagged rows.
Record the time between sending the list and confirmation. If confirmations lag by days, people forget what was said, and the list loses value. A reminder to the organiser at the end of the day helps.
How do you handle recurring meetings?
A weekly meeting repeats topics. Carry forward open actions from the last meeting and show them at the top of the next list, with status. The agent does not decide whether an action is done. It lists the open items, and the organiser marks each as done, moved or dropped. Over a month this builds a record of commitments and completion that no one had to compile by hand.
Where KYN fits
KYN builds this as part of the operations system, in a cloud account in your name. Agents use their own restricted accounts, every action is logged with the actor, and nothing is assigned to a person until a named person confirms. The first 14 days are a review of your stack and interviews with your team. A full build ships in under 90 days. See security and integrations.
Frequently asked questions
Can the agent join meetings and take notes itself?
That depends on the meeting tool and on consent from attendees. The extraction step works on any transcript or typed notes, so you can add a recorder later without changing the rest.
How accurate are action items from a transcript?
It varies with audio quality, accents and how clearly people state commitments. Measure it on your own ten meetings. Do not rely on a vendor figure.
Does the agent send the list to attendees?
Only after the organiser confirms. Sending carries the organiser's name, so it waits for a person.
Checked 30 October 2026.
Curious whether Marketing agents fits your business? Talk to KYN on WhatsApp — no forms, just a conversation.