How to Find a Meeting and Read What Was Discussed
Tiro’s note-discovery surface is a 3-tier progression: start lightweight withlist_notes, deepen to search_notes when you need document content, and only reach for get_note_transcript when verbatim spoken words are required. Most user questions stop at tier 1 or tier 2.
Step-by-step
List candidate notes (cheapest)
list_notes with an optional query.keyword and filter to narrow the result. Returns metadata only (~50 tokens per note).filter.folderId to scope to a specific folder, or omit query.keyword entirely to browse a folder by date.Read documents for matched notes
search_notes with a required keyword. The response carries each matched note’s primary documents (one-pager, custom) inline, HTML-stripped and capped at 5KB per document.Fetch a single AI summary (optional)
get_note with include: ["summary"].Load the full transcript (last resort)
get_note_transcript. Returns timestamped paragraphs and a markdown-friendly transcription string (~3,000–5,000 tokens per hour of meeting).Token Usage
Frequently Asked Questions
When do I use list_notes vs search_notes?
When do I use list_notes vs search_notes?
list_notes when you need to know which notes exist — by folder, by date, or by keyword presence. Returns metadata only.Use search_notes when you need to understand the context behind a topic — its decisions, action items, or conclusions. Returns matched notes with their documents inline. Keyword is required.What if list_notes returns no results?
What if list_notes returns no results?
- Drop or shorten the
query.keyword. - Widen the
filter.createdAtFrom/createdAtTorange or remove it. - Verify the note is “Completed” in your Tiro Dashboard — incomplete notes are excluded automatically.
Should I prefer search_notes documents or get_note_transcript?
Should I prefer search_notes documents or get_note_transcript?
search_notes. Curated documents are typically 10× more compact than the raw transcript and capture the team’s decisions, action items, and conclusions in their intended structure. Use get_note_transcript only when you need verbatim spoken words for a direct quote.What date format do createdAtFrom / createdAtTo accept?
What date format do createdAtFrom / createdAtTo accept?
2026-04-01T00:00:00Z. Date-only formats like 2026-04-01 are not accepted. The range is half-open [from, to).Can I use a workspace-scoped API key for keyword search?
Can I use a workspace-scoped API key for keyword search?
list_notes and search_notes works for both user-scoped and workspace-scoped API keys. Omit workspaceGuid to search across all workspaces you can access — a workspace-scoped key automatically searches its own workspace; pass an explicit workspaceGuid (from list_workspaces) to target a specific workspace.How to Generate Structured Documents from Meeting Notes
AI agents can extract action items, decisions, and key takeaways from any meeting using Tiro’s template-based document system. Each document is structured into sections defined by a template.Step-by-step
Browse available templates
list_document_templates to see what document types are available.id, title, and description.Find the target meeting
list_notes to locate the meeting by keyword (or folder, or date range).Retrieve the documents
get_note with include: ["documents"] to fetch all generated documents for the note in one call.Frequently Asked Questions
How do I know which template to use?
How do I know which template to use?
list_document_templates first. Each template includes a description field explaining its purpose. Use get_document_template with a specific templateId to see the full section structure before requesting documents.What if no document exists yet for a note?
What if no document exists yet for a note?
get_note(include: ["documents"]) returns an empty array. Documents must be generated from the Tiro app first — the MCP server provides read access to existing documents. Ask the note owner to generate the document in Tiro.Tips for AI Agent Developers
Token Optimization
- Always start with
list_notes(~50 tokens per note); deepen tosearch_notes(~1,500 tokens per note) only when document content is needed; reach forget_note_transcriptonly when verbatim quoting is required. - Use
pagination.sizeto bound results:list_notesdefaults to20(max100);search_notesdefaults to10(max30— smaller because each result includes documents). - Prefer
MARKDOWNformat on summaries and documents — more structured and easier for LLMs to parse.
Error Handling
401and403responses includeaction_urlanddocs_urlfields — surface these to you for self-service resolution429responses include aRetry-Afterheader — respect it before retrying- See Troubleshooting for a full error reference