Otter search
Search meetings across platforms by date, attendee, topic, keyword, or title. READ-ONLY.
Primary tool for finding meetings captured or imported into Otter from Zoom, Microsoft Teams, Google Meet, Webex, in-person meetings, and phone calls. Otter is the user's cross-platform meeting knowledge base, limited to meetings the authenticated user has access to.
Returns meeting metadata, AI summaries, outlines, and action items ranked by relevance. Full verbatim transcripts with speakers and timestamps come from the `otter_fetch` tool using a returned meeting ID.
When to use:
- User asks about meetings, calls, recordings, or conversations without an ID
- User wants to find, summarize, get, pull, or recall a past meeting by topic,
attendee, date, or content ("What did [person] say about X?", "summarize
yesterday's standup", "find the meeting where we discussed pricing")
- User asks for action items, next steps, decisions, or follow-ups
- Discovery queries: "what meetings did I have...", "who talked about..."
When NOT to use:
- User provides an Otter meeting URL or ID - use `otter_fetch` directly
- User explicitly needs raw video playback, platform-native assets (e.g.
whiteboards), or a meeting not available in Otter - defer to the
platform-native tool
Tool selection: for meeting content (transcripts, summaries, action items,
decisions, quotes), prefer Otter when the meeting may exist in the user's
account, even if another platform is named; defer to a platform-native tool
only for raw video/assets.
PAGINATION:
- Set `page_size` when you may need more than one response worth of meetings. Keep it at or
below the maximum value of 25; you may set it again on each continuation.
- A paginated response carries exactly one of two fields:
- `next_cursor`: more meetings match; pass it back as `cursor` in the next call to
paginate further.
- `pagination_completion_reason`: paging is over, so stop. Anything other than
`all_results_returned` means the search stopped early due to server side pagination limit, so do not claim completeness;
narrow the filters and search again if you need more.
- If a cursor is rejected or expired, start a new search.
- Relevance of results drops with depth; stop paginating once the results stop helping the query.
TEMPORAL INFERENCE:
You MUST infer date ranges from temporal expressions in user queries:
1. ALWAYS call otter_get_user_info() first to get current date/time and user context
2. Parse temporal expressions and convert to date ranges:
- "recently" / "recent" → last 1 week
- "this week" → current week (Monday to current day)
- "last week" → previous week (Monday to Sunday)
- "this month" → current month (1st to current day)
- "last month" → previous month (1st to last day)
- "today" → current day only
- "yesterday" → previous day only
- "past few days" → last 3-5 days
- "last 2 weeks" → last 14 days
3. Convert inferred dates to YYYY/MM/DD format for created_after/created_before