← Back to all apps
F

Fellow.ai

Communicationby Fellow.ai

Access your meeting knowledge instantly. Fellow connects Claude to your meeting ecosystem, letting you search transcripts, pull key insights from summaries, and track action items with natural-language queries.

20ChatGPT Tools
5Claude Tools
Fellow.aiDeveloper
CommunicationCategory

Use Cases

communication

Available Tools

Apply agenda template

apply_agenda_template
Full Description

Put a saved agenda template's content into one meeting's agenda. This replaces that agenda's current contents and affects only that one note — it does not change the template, and it does not change what future meetings in the series look like (use set_default_agenda_template for that). Identify the agenda by note_id or meeting_id, and the template by template_id from search_agenda_templates.

Parameters (1 required, 2 optional)
Required
template_idinteger

ID of the agenda template to apply.

Optional
meeting_idstring

Calendar event guid whose agenda the template should be applied to.

Default: null
note_idstring

ID of the agenda to apply the template to. Provide this or meeting_id.

Default: null

Create agenda template

create_agenda_template
Full Description

Create a new saved agenda template from Fellow Markdown. Agenda templates are the named templates in the Fellow template library that a user picks from when starting a meeting note; this does not create an AI note/recap template, and it does not change any existing agenda. Creates a personal template unless the user explicitly asks for a workspace-wide one. Read fellow://docs/fellow-markdown-syntax before composing the markdown content.

How to write a good agenda template. A template is the reusable skeleton of a meeting, not a filled-in agenda. Anything that is only true of one occurrence of the meeting belongs in that meeting's agenda instead, so keep it out of the template.

  • Sections are headings, and the heading carries the guidance. Give the section a short name (one to

three words) and put the question it answers on the same heading block after <br>, for example

Blockers<br>What is in the way right now?. Most sections in Fellow's built-in templates carry

that second line and about half phrase it as a question; it is what tells whoever runs the meeting what to put there.

  • Leave the placeholders empty. Under each section put ONE empty talking point (- ( )) and nothing

else, so there is a spot to type into. Do not pre-write talking points about a particular project, person, week, or number.

  • Do not write out action items. When a meeting always ends with next steps, the convention is a

closing

Action Items section holding one empty - [ ]. The tasks themselves get captured live

in the agenda while the meeting happens.

  • No assignees, due dates, mentions, or calendar dates anywhere in a template. The same template is

reused every time the meeting runs, so nothing in it can point at one person or one occurrence.

  • Keep it short. Four to six sections is normal and a finished template runs about a dozen blocks. A

template that reads like a completed agenda has too much in it.

  • The one exception is a standing question list: questions asked word for word every time the

template is used, such as an onboarding interview or a recurring checklist. Those can be written out as talking points, because the wording does not change between occurrences.

A typical template looks like this in full:

# Wins<br>What went well since we last met?

- ( )



# Blockers<br>What is in the way right now?

- ( )



# Action Items<br>What came out of this meeting?

- [ ]
Parameters (2 required, 3 optional)
Required
contentstring

The template body, as Fellow Markdown.

titlestring

Title of the new agenda template.

Optional
summarystring

Short description of what the template is for.

tagsarray

Labels for the template. The tags Meetings, 1-on-1s, Private, Priorities also decide which kinds of note it is offered for; defaults to Meetings when omitted.

Default: null
visibilitystring

USER (default) creates a personal template. Use WORKSPACE only when the user explicitly asks to share it with the whole workspace.

Default: null

Delete agenda template

delete_agenda_template
Full Description

Permanently delete a saved agenda template. This cannot be undone: the template is removed from the library, and every series that used it as their default template is left with none, so new notes there start blank until another template is set. Confirm with the user before calling this, and say how many series will be affected if you know. Agendas the template was already applied to keep their content. Only the template's own owner (or a workspace admin, for a workspace template) can delete it, and Fellow's built-in templates cannot be deleted. Takes a template_id from search_agenda_templates, never a note or meeting: deleting 'the template this meeting uses' would remove a template other series may also point at.

Parameters (1 required)
Required
template_idinteger

ID of the agenda template to delete.

Display meetings

display_meetings
Full Description

Display meeting search results in an interactive visual widget optimized for browsing and selection.

This tool renders meeting search results in a rich, interactive widget interface that enables users to:

  • Visually scan and browse meeting results with rich formatting
  • See meeting metadata, participants, and summaries at a glance
  • Select and interact with individual meetings
  • Navigate through collections of meetings efficiently

Use this tool when the user wants to SEE, BROWSE, or IDENTIFY meetings visually. The widget format is ideal for scenarios where the user needs to visually explore a collection of meetings rather than extract specific information or generate synthesized content.

Example use cases:

  • "What meetings did I have with John?"
  • "Show me my meetings from last week"
  • "Which meetings mention 'HIPPAA'?"
  • "Display meetings where Sarah was present"
  • "List all meetings about the budget"

The widget provides an enhanced visual experience for meeting discovery and selection, making it easier for users to find and identify the meetings they're looking for.

IMPORTANT: This tool is only supported by ChatGPT (OpenAI) clients. Other MCP clients do not support interactive widgets and will not be able to render the visual output.

Parameters (0 required, 16 optional)
Optional
channel_idinteger

The ID of the channel to filter the meetings by. This is used to limit the search to a subset of all possible meetings the user has access to. Optional.

Default: null
from_datestring

The start date of the range to get meetings from (inclusive). ISO 8601 date string format. Used to filter meetings by start date. Optional but its use it's highly recommended.

Default: null
has_external_participantsboolean

Whether to filter meetings that have external participants. Optional.

Default: null
has_summaryboolean

Whether to filter meetings that have a summary or not. If you are trying to answer a question that depends on meeting content, most of the time you will want to use this since most meetings without summary are not useful. If you don't get the results you expect, you can try again without this parameter but using 'note'. Optional.

Default: null
notestring

A search query to match against meeting notes content. Used to search in meeting notes content. Optional but recommended.

Default: null
note_idinteger

The ID of the note to filter the meetings by. Optional.

Default: null
note_summarystring

A semantic search query to search within meeting note summaries. This should be used specifically for searching past meetings with generated summaries. For best results, include the core of the user's question or prompt here rather than just keywords, as the semantic search works better with full context. If the question include things covered by other parameter like attendees, meeting title, etc, rephrase the question to NOT include those. Ideally this should be used in conjunction with the keyword based search of 'note' since some notes may have the relevant information but have no summaries. If no results are found with 'note_summary' or 'has_external_participants', use 'note'. Optional but recommended.

Default: null
notestream_idinteger

The ID of the note stream to filter the meetings by. Optional.

Default: null
participant_email_domainsarray

List of email domains to filter meetings by participant domains (AND match). Must be provided as an array/list, for example: ['company.com', 'partner.com']. Optional.

Default: null
participant_emailsarray

List of email addresses to filter meetings by participants (AND match). Must be provided as an array/list, for example: ['user1@company.com', 'user2@company.com']. Optional.

Default: null
participant_full_namesarray

List of full names to filter meetings by participants (AND match). Must be provided as an array/list, for example: ['John Smith', 'Jane Doe']. Optional.

Default: null
titlestring

A simple keyword based search query to match against meeting titles. Used to search in meeting titles across all sources. Optional.

Default: null
to_datestring

The end date of the range to get meetings from (inclusive). ISO 8601 date string format. Used to filter meetings by end date. If it's obvious that the thing we are looking for is in the past, do set this field to the current date. Optional but its use it's highly recommended.

Default: null
transcriptstring

A search query to match against meeting transcripts. Used to perform semantic search in meeting transcripts quotes. This does not include the speaker. Optional.

Default: null
transcript_speakerstring

The speaker to filter the transcripts by. It could be someone who is mentioning somebody or something. Use this parameter to filter transcripts by a specific speaker's name. This is particularly useful when searching for statements or mentions made by a particular person. Optional.

Default: null
user_has_calendar_eventboolean

Restricts results to meetings the user was an invited attendee of on their own calendar. Set this to True only when the user wants a list of their meetings and their attendance is the point: 'my meetings last week', 'meetings I attended', 'what was I in on Monday', 'my calls'. Leave it unset when the user is looking for one particular meeting, even if they sound like they were part of it, and unset when they name a title, a date, or who was there. Meetings shared with the user through a channel or a direct share are not on their calendar, so this filter hides meetings they can read. Optional.

Default: null

Edit agenda

edit_agenda
Full Description

Apply one targeted edit to an existing Fellow agenda using its markdown representation, without rewriting the whole agenda. Modes:

  • append: Add content at the end of the agenda.
  • prepend: Add content at the beginning of the agenda. Append and prepend add whole blocks:

the content starts its own block, so do not add a leading or trailing newline to separate it from the neighbouring block. A leading or trailing blank line renders as an empty paragraph, so include one only when you deliberately want an empty paragraph there.

  • find_replace: Replace the sole occurrence of find with content. Copy find exactly from the

agenda body returned by read_agenda; it may be part of a line or span several lines. When it starts at the beginning of an indented line, include the leading spaces, or the edit shifts that item's indentation. Content replaces exactly that text, so keep the line breaks and blank lines between the lines you copied, indent each new line of content to the level it should sit at, and add no blank line at the start or end: one blank line separates blocks, and a second one beside it renders as an empty paragraph. To delete a whole item or block, pass empty content ("") and put its full line or lines in find with the line break after them (before them, for the agenda's last line). If the block has a blank line on both sides, include one of those blank lines too. Deleting only the text would leave an empty item behind.

Call read_agenda first. Use find_replace to change or delete existing content, including positional or structural edits such as "the first item": copy those lines into find. If that text appears more than once, extend find with a neighbouring line until it is unique, and repeat that line, and the line break or blank line between them, unchanged in content. Pass the base_version from the read_agenda call you copied find from: find is then matched against that version, and the edit is applied on top of any changes made since. Read fellow://docs/fellow-markdown-syntax before writing new Fellow Markdown content.

Parameters (1 required, 5 optional)
Required
modestring

The kind of edit to apply: 'append' adds content at the end of the agenda; 'prepend' adds content at the beginning of the agenda; 'find_replace' replaces the sole occurrence of `find` with content. Use it for every change to existing content, including positional or structural edits.

Options:appendprependfind_replace
Optional
base_versioninteger

Version returned by read_agenda. Pass it for find_replace when the find text came from read_agenda.

Default: null
contentstring

Markdown content. The text to add for append/prepend, or the replacement for `find` in find_replace (an empty string deletes the `find` text).

Default: null
findstring

find_replace only: existing text, copied exactly from the read_agenda body, to replace with content. It may span several lines and must occur exactly once.

Default: null
meeting_idstring

Calendar event guid whose agenda should be edited. Provide this or note_id.

Default: null
note_idstring

ID of the agenda to edit. Provide this or meeting_id.

Default: null

Edit agenda template

edit_agenda_template
Full Description

Update a saved agenda template. content replaces the whole template body, so call get_agenda_template first and send back the full text with your changes applied; title, summary, tags and visibility are changed only when supplied. Editing a template does not change any agenda it was previously applied to. Fellow's built-in (GLOBAL) templates cannot be edited. When you add a section to an existing template, match the shape of the sections already in it rather than imposing a new one. Read fellow://docs/fellow-markdown-syntax before composing the markdown content.

How to write a good agenda template. A template is the reusable skeleton of a meeting, not a filled-in agenda. Anything that is only true of one occurrence of the meeting belongs in that meeting's agenda instead, so keep it out of the template.

  • Sections are headings, and the heading carries the guidance. Give the section a short name (one to

three words) and put the question it answers on the same heading block after <br>, for example

Blockers<br>What is in the way right now?. Most sections in Fellow's built-in templates carry

that second line and about half phrase it as a question; it is what tells whoever runs the meeting what to put there.

  • Leave the placeholders empty. Under each section put ONE empty talking point (- ( )) and nothing

else, so there is a spot to type into. Do not pre-write talking points about a particular project, person, week, or number.

  • Do not write out action items. When a meeting always ends with next steps, the convention is a

closing

Action Items section holding one empty - [ ]. The tasks themselves get captured live

in the agenda while the meeting happens.

  • No assignees, due dates, mentions, or calendar dates anywhere in a template. The same template is

reused every time the meeting runs, so nothing in it can point at one person or one occurrence.

  • Keep it short. Four to six sections is normal and a finished template runs about a dozen blocks. A

template that reads like a completed agenda has too much in it.

  • The one exception is a standing question list: questions asked word for word every time the

template is used, such as an onboarding interview or a recurring checklist. Those can be written out as talking points, because the wording does not change between occurrences.

A typical template looks like this in full:

# Wins<br>What went well since we last met?

- ( )



# Blockers<br>What is in the way right now?

- ( )



# Action Items<br>What came out of this meeting?

- [ ]
Parameters (1 required, 5 optional)
Required
template_idinteger

ID of the agenda template to edit.

Optional
contentstring

Replacement body as Fellow Markdown. Replaces the whole body. Omit to leave it untouched.

Default: null
summarystring

New summary. Omit to keep the current one.

Default: null
tagsarray

Replacement tag list. Omit to keep the current tags. The tags Meetings, 1-on-1s, Private, Priorities also decide which kinds of note the template is offered for.

Default: null
titlestring

New title. Omit to keep the current one.

Default: null
visibilitystring

New visibility. Omit to keep the current one; only change it when the user asks.

Default: null

Get action items

get_action_items
Full Description

Search action items. By default returns only action items assigned to the requesting user. Pass search to find items by their wording: it is a keyword search over the item text, the meetings the items were written in, and the meeting series name. Reach for it whenever the user quotes or names an item, giving it their own words. topic is the semantic alternative and searches the summaries of the meetings the items came from; the two can be combined. When meeting_ids are provided, defaults to returning ALL action items from those meetings (not just the ones assigned to the user) — pass only_mine=true to override this. Can also filter by date range, status, or assignee scope. Note that from_date and to_date filter on when an item was last updated, not on when its meeting took place. Every item comes back with the meeting it was written in and that meeting's start time. When the user quotes an action item and asks what it refers to, look it up here before you search for meetings. Then read any relative date in the item, such as "Monday's call", against the start time of the meeting the item belongs to rather than against today, since the item may have been written weeks ago. AI-detected items the user has not accepted yet are included and carry ai_suggested=true. Treat those as suggestions rather than things the user has committed to, and pass include_ai_suggested=false to leave them out. get_meeting_summary returns the same suggestions for a single meeting when you already have its id. If a quoted item is not found here at all, search_meetings matches action item text through its note parameter.

Parameters (0 required, 13 optional)
Optional
check_for_team_action_itemsboolean

Set this value to true if user wants to check for action items assigned to the user's team. Only works if user is a manager. Optional

Default: null
from_datestring

The start date of the range to get the action items from. Must be a valid ISO 8601 date string. Optional Field, if not provided, it will be ignored.

Default: null
include_ai_suggestedboolean

Whether to include AI-detected action items the user has not accepted yet. Defaults to true. Those items come back with ai_suggested=true so you can tell them from work the user has committed to. Optional

Default: null
is_overdueboolean

Set this value to true if user wants only overdue action items. Optional

Default: null
meeting_idsarray

List of meeting IDs to filter action items by. Must be provided as an array/list, for example: ['meeting_id_1', 'meeting_id_2']. When provided, only_mine defaults to false so ALL action items from those meetings are returned, not just the ones assigned to the requesting user. Optional.

Default: null
note_idstring

The ID of the note to filter action items by. Optional

Default: null
notestream_idstring

The ID of the notestream to filter action items by. Optional

Default: null
only_completed_action_itemsboolean

Set this value to true if user wants only completed/done action items. Optional

Default: null
only_mineboolean

Controls whose action items are returned. When true, returns only action items assigned to the requesting user. When false (and meeting_ids are provided), returns all action items from those meetings regardless of who they are assigned to. Defaults to false when meeting_ids are provided, true otherwise. Explicitly set to true to get only your own items even when filtering by meeting. Optional.

Default: null
only_ongoing_action_itemsboolean

Set this value to true, if user only wants to get ongoing action items. Optional

Default: null
searchstring

Keyword search over the text of the action items themselves, the meetings they were written in, and the name of the meeting series. Matches words rather than exact characters, so the user's own wording works whether or not it is an exact quote. Use it whenever the user quotes an item or names the work one refers to; it is the fastest way to go from a piece of text to the item and the meeting it belongs to. Optional

Default: null
to_datestring

The end date of the range to get the action items from. Must be a valid ISO 8601 date string. Optional Field, if not provided, it will be ignored.

Default: null
topicstring

Narrows the results by semantic search over the summaries of the meetings the items came from. Pass the user's own phrasing in full rather than keywords you extracted from it: a quoted action item matches well here, a two or three word paraphrase of it does not. Reach for this when the user describes the work in their own terms, and for search when their words are likely to be the ones written down. Optional

Default: null

Get agenda template

get_agenda_template
Full Description

Read one saved agenda template: its title, visibility, tags, summary, and its body as Fellow Markdown. Agenda templates are the named, reusable templates in the Fellow template library, not AI note/recap templates. Address the template by template_id (from search_agenda_templates) or, to read the template a series starts each of its notes from, by note_id, meeting_id, or stream_id. That template is an ordinary saved template the series points at, and other series may point at the same one. For syntax details about the returned markdown, read fellow://docs/fellow-markdown-syntax.

Parameters (0 required, 4 optional)
Optional
meeting_idstring

Calendar event guid of a meeting in the series whose template to read.

Default: null
note_idstring

ID of a note in the series whose template to read. Use instead of template_id.

Default: null
stream_idinteger

ID of the series (channel/stream) whose template to read.

Default: null
template_idinteger

ID of the agenda template to read, from search_agenda_templates.

Default: null

Get channel details

get_channel_details
Full Description

Get detailed information about a specific channel.

Returns channel information including:

  • Channel name, description, and type (public/private)
  • Member list (up to 20 members)
  • Member count
  • Creator information
  • Latest post/activity

Use list_channels first to find the channel_id if you don't know it.

Parameters (1 required)
Required
channel_idinteger

The ID of the channel to get details for. Use list_channels to find channel IDs.

Get meeting participants

get_meeting_participants
Full Description

Get all participants of a specific meeting, including both calendar event attendees and note users.

This will help identify who is both an attendee and a note user, as well as who is only one or the other. No other tool will return the participants or attendees of a meeting.

Parameters (0 required, 2 optional)
Optional
meeting_idstring

The ID of the meeting to get the participants for. Optional

Default: null
note_idstring

The ID of the note to get the participants for. Optional

Default: null

Get meeting summary

get_meeting_summary
Full Description

Get summaries of specific meetings.

Use this when summaries including key points, action items, decisions, etc. of specific meetings are needed to answer the user's query.

Action items come back as suggested_action_items: the AI-detected items for that meeting, matching what the meeting's recap page shows. Each one carries an "accepted" flag. Accepted items have been confirmed by a user and are real action items; unaccepted ones are still AI suggestions. Use get_action_items instead when you need a user's action items across meetings, due dates, or per-assignee completion status.

Parameters (0 required, 2 optional)
Optional
meeting_idsarray

List of meeting IDs to get summaries for. Must be provided as an array/list, for example: ['meeting_id_1', 'meeting_id_2']. Optional.

Default: null
note_idstring

The ID of the note to get the summary for. Optional

Default: null

Get meeting transcript

get_meeting_transcript
Full Description

Get the transcript of a specific meeting.

For meetings >= 15 minutes, consider specify start_time and end_time to retrieve only the relevant portion + some padding to be safe. Don't request the entire transcript unless:

  • The meeting is sufficiently short, OR
  • The user explicitly asks for the full transcript, OR
  • You need to search the entire meeting for a specific topic

If specifying start/end times, make sure to grab enough context to answer the user's question in full with no gaps. MINIMUM TIME RANGE: 300s (5 minutes) MAXIMUM TIME RANGE: 3600s (60 minutes)

Multi-part meetings: Some meetings have multiple recording parts (e.g., bot rejoined). Each part has its own timestamps starting at 0:00. Use recording_id from get_meeting_summary to target a specific part. Without recording_id, all parts are returned.

Examples:

  • User asks "what did John say about the budget?" → Request transcript around the timestamp where budget was likely discussed based on summary/context (e.g. 4 min before, 6 min after).
  • User asks "summarize the meeting" → While you _can_ request the full 60-minute transcript at once, it is recommended to request transcript in 15-30 minute chunks, summarize each, and combine.

Parameters:

  • meeting_id or note_id: Identifies the meeting
  • recording_id: Target a specific recording part (optional, use for multi-part meetings)
  • start_time: Start time in seconds from beginning of recording (optional but recommended)
  • end_time: End time in seconds from beginning of recording (optional but recommended)
Parameters (0 required, 5 optional)
Optional
end_timestring

End time from beginning of recording (seconds, MM:SS, or HH:MM:SS format). If specified, minimum time range of 300s (5 minutes) is required.

Default: null
meeting_idstring

The ID of the meeting to get the transcript for. Optional

Default: null
note_idstring

The ID of the note to get the transcript for. Optional

Default: null
recording_idinteger

The ID of a specific recording/part to get. Optional. Use this for multi-part meetings when you need a specific part's transcript.

Default: null
start_timestring

Start time from beginning of recording (seconds, MM:SS, or HH:MM:SS format). If specified, minimum time range of 300s (5 minutes) is required.

Default: null

List channels

list_channels
Full Description

List available channels in the workspace.

Use this tool to discover channels that can be used with the search_meetings tool's channel_id parameter. You can filter channels by name (partial match) or type (public/private).

When you need to filter meeting searches by a specific channel, use this tool to find the channel_id, which can then be passed to search_meetings.

Parameters (0 required, 2 optional)
Optional
namestring

Optional filter: channel name (case-insensitive partial match)

Default: null
typestring

Optional filter: channel type (public or private)

Default: null

Read agenda

read_agenda
Full Description

Read an agenda as Fellow Markdown, with its base version. For syntax details about the returned markdown, read fellow://docs/fellow-markdown-syntax.

Parameters (0 required, 2 optional)
Optional
meeting_idstring

Calendar event guid whose agenda should be read. Provide this or note_id.

Default: null
note_idstring

ID of the agenda to read. Provide this or meeting_id.

Default: null

Read resource

read_resource
Full Description

Fetch the contents of a Fellow MCP resource by its fellow:// URI. Other Fellow tool descriptions may reference resources by URI. If you have a built-in tool or mechanism for reading MCP resources, use that instead of this tool. Only use this tool if you have no other way to fetch an MCP resource.

Parameters (1 required)
Required
uristring

URI of the Fellow resource to read. Must start with fellow://.

Rename agenda

rename_agenda
Full Description

Rename a Fellow agenda by setting a new title. This only changes the title; it does not modify the agenda body. Identify the agenda by note_id or by meeting_id (its calendar event).

Parameters (1 required, 2 optional)
Required
titlestring

The new title for the agenda.

Optional
meeting_idstring

Calendar event guid whose agenda should be renamed. Provide this or note_id.

Default: null
note_idstring

ID of the agenda to rename. Provide this or meeting_id.

Default: null

Search agenda templates

search_agenda_templates
Full Description

Find saved agenda templates by title. These are the named, reusable templates in the Fellow template library that a user picks from when starting a meeting note, not AI note/recap templates. Matching is a plain case-insensitive title substring, not a semantic search. Covers the caller's own templates, their workspace's, and Fellow's built-ins. Returns id, title, visibility, tags and summary. To read the template a particular series uses, call get_agenda_template with that meeting's note_id / meeting_id instead.

Parameters (0 required, 2 optional)
Optional
limitinteger

Maximum number of templates to return (max 50).

Default: 20
querystring

Case-insensitive substring matched against template titles. Omit to list recent templates.

Default: null

Search meetings

search_meetings
Full Description

Search for meetings.

This tool searches across multiple data sources and combines the results: 1. Meeting Transcripts: Searches in the actual meeting recordings and their transcripts 2. Meeting Notes: Searches in the notes associated with meetings 3. Calendar Events: Searches in the calendar event titles and metadata 4. Database Events: Falls back to direct database queries when no specific search terms are provided

For the from_date and to_date fields, unless the query requires specific values, in general you should default to a recent time range of a two month or so. If nothing is found, you can try again with a wider range.

If the search result includes quotes with a start timestamp, whenever possible use that timestamp.

1. Meeting Transcripts:

  • title: Used for title matching. Optional.
  • transcript: Used for semantic search in transcript content. Optional.

Meaning that you cannot search for transcripts without a query. For example, you can't search for quote from a speaker without a query.

  • transcript_speaker: Used to filter by speaker. Optional.
  • participant_emails: Used to filter by specific participants. Optional.
  • participant_email_domains: Used to filter by participant domains. Optional.
  • participant_full_names: Used to filter by specific participants. Optional.
  • has_external_participants: Used to filter external participants. Optional.
  • from_date: Used to filter by start date. Optional.
  • to_date: Used to filter by end date. Optional.

2. Past meeting summaries:

  • note_summary: Used for semantic search in meeting note summaries. Much more effective than using 'note' for finding relevant content in past meetings with summaries. Always use the user's full question/query for best results. Optional.
  • participant_emails: Used to filter by specific participants. Optional.
  • participant_email_domains: Used to filter by participant domains. Optional.
  • participant_full_names: Used to filter by specific participants. Optional.
  • has_external_participants: Used to filter external participants. Optional.
  • from_date: Used to filter by start date. Optional.
  • to_date: Used to filter by end date. Optional.

3. Meeting Notes:

  • title + note: Combined for full-text search. Optional.
  • participant_emails: Used to filter by specific participants. Optional.
  • participant_email_domains: Used to filter by participant domains. Optional.
  • participant_full_names: Used to filter by specific participants. Optional.
  • has_external_participants: Used to filter external participants. Optional.
  • from_date: Used to filter by start date. Optional.
  • to_date: Used to filter by end date. Optional.
  • has_summary: Used to filter notes that have a summary or not. Optional.
  • user_has_calendar_event: Used to filter notes corresponding or not to an event in user's calendar. Optional.

4. Calendar Events:

  • title: Used for title matching. Required.
  • from_date: Used to filter by start date. Optional.
  • to_date: Used to filter by end date. Optional.

5. Database Events:

  • Only used when no specific search terms are provided
  • Returns events within the date range without additional filtering
  • from_date: Used to filter by start date. Required.
  • to_date: Used to filter by end date. Required.

If the note_id is provided, the search will be performed on the note with the given ID. This means that using all other parameters except 'transcript' and 'transcript_speaker' irrelevant. There is no point in filtering by meeting title for example if a note_id is provided.

If the notestream_id or channel_id are provided this limits meetings a subset of all possible meetings the user has access to, but in this case using other parameters does make sense.

The information you require to answer the user's query might be found in any of these sources. The results from all sources are combined and returned in descending order of relevance.

You should strongly prefer to use the parameters 'note_summary', 'note', and 'transcript' all at once when searching for meetings, as this will give you more comprehensive results. They are used to retrieve data from different sources and combining them will give you a more complete picture of the meetings. They are NOT used to find meetings that meet all filters at the same time. Only use a single parameter if you have a specific reason to limit your search to one particular data source (e.g., when looking for a specific speaker's comments in transcripts).

If you can't find relevant results after searching in using 'note_summary', 'note', and 'transcript', expand the time range to include more meetings.

As a last resort, if 'has_summary' was set to True and didn't return relevant results, before replying to the user mentioning no results do perform another search with 'has_summary' set to False.

It's very important for you to know that this will not return more than 20 results, even if more than 20 meetings match the query. Meaning that if the user asks for all upcoming meetings and you get 20 results, it doesn't mean that there are only 20 upcoming meetings, there could be more. Be proactive about explaining this to the user if you reach the limit of 20 results.

Each result includes the meeting's ID, ID of the previous meeting in the series if applicable, title, start time, end time, note, meeting link, and summary. Summaries may include generated action items and these are not the same as real action items that could be retrieved using the get_action_items tool.

Parameters (0 required, 16 optional)
Optional
channel_idinteger

The ID of the channel to filter the meetings by. This is used to limit the search to a subset of all possible meetings the user has access to. Optional.

Default: null
from_datestring

The start date of the range to get meetings from (inclusive). ISO 8601 date string format. Used to filter meetings by start date. Optional but its use it's highly recommended.

Default: null
has_external_participantsboolean

Whether to filter meetings that have external participants. Optional.

Default: null
has_summaryboolean

Whether to filter meetings that have a summary or not. If you are trying to answer a question that depends on meeting content, most of the time you will want to use this since most meetings without summary are not useful. If you don't get the results you expect, you can try again without this parameter but using 'note'. Optional.

Default: null
notestring

A search query to match against meeting notes content. Used to search in meeting notes content. Optional but recommended.

Default: null
note_idinteger

The ID of the note to filter the meetings by. Optional.

Default: null
note_summarystring

A semantic search query to search within meeting note summaries. This should be used specifically for searching past meetings with generated summaries. For best results, include the core of the user's question or prompt here rather than just keywords, as the semantic search works better with full context. If the question include things covered by other parameter like attendees, meeting title, etc, rephrase the question to NOT include those. Ideally this should be used in conjunction with the keyword based search of 'note' since some notes may have the relevant information but have no summaries. If no results are found with 'note_summary' or 'has_external_participants', use 'note'. Optional but recommended.

Default: null
notestream_idinteger

The ID of the note stream to filter the meetings by. Optional.

Default: null
participant_email_domainsarray

List of email domains to filter meetings by participant domains (AND match). Must be provided as an array/list, for example: ['company.com', 'partner.com']. Optional.

Default: null
participant_emailsarray

List of email addresses to filter meetings by participants (AND match). Must be provided as an array/list, for example: ['user1@company.com', 'user2@company.com']. Optional.

Default: null
participant_full_namesarray

List of full names to filter meetings by participants (AND match). Must be provided as an array/list, for example: ['John Smith', 'Jane Doe']. Optional.

Default: null
titlestring

A simple keyword based search query to match against meeting titles. Used to search in meeting titles across all sources. Optional.

Default: null
to_datestring

The end date of the range to get meetings from (inclusive). ISO 8601 date string format. Used to filter meetings by end date. If it's obvious that the thing we are looking for is in the past, do set this field to the current date. Optional but its use it's highly recommended.

Default: null
transcriptstring

A search query to match against meeting transcripts. Used to perform semantic search in meeting transcripts quotes. This does not include the speaker. Optional.

Default: null
transcript_speakerstring

The speaker to filter the transcripts by. It could be someone who is mentioning somebody or something. Use this parameter to filter transcripts by a specific speaker's name. This is particularly useful when searching for statements or mentions made by a particular person. Optional.

Default: null
user_has_calendar_eventboolean

Restricts results to meetings the user was an invited attendee of on their own calendar. Set this to True only when the user wants a list of their meetings and their attendance is the point: 'my meetings last week', 'meetings I attended', 'what was I in on Monday', 'my calls'. Leave it unset when the user is looking for one particular meeting, even if they sound like they were part of it, and unset when they name a title, a date, or who was there. Meetings shared with the user through a channel or a direct share are not on their calendar, so this filter hides meetings they can read. Optional.

Default: null

Set default agenda template

set_default_agenda_template
Full Description

Make a saved agenda template the default for a whole series, so every future note in that series starts from it. Existing agendas are left untouched. This has a wider blast radius than apply_agenda_template, which sets up one meeting only — prefer that one unless the user asks for the change to apply going forward. Identify the series by note_id, meeting_id, or stream_id.

Parameters (1 required, 3 optional)
Required
template_idinteger

ID of the agenda template to make the series default.

Optional
meeting_idstring

Calendar event guid of a meeting in the series.

Default: null
note_idstring

ID of a note in the series. Provide this, meeting_id, or stream_id.

Default: null
stream_idinteger

ID of the series (channel/stream) to set the default template on.

Default: null

Write agenda

write_agenda
Full Description

Write a Fellow agenda from markdown: overwrite an existing agenda's contents, or create the agenda for a calendar event if it does not exist yet. Preferred note format: when creating a note or writing into an empty agenda, structure it with top-level H1/H2 headings for sections, talking points (- ( )) for the discussion points under each section, and nested bullets (- ) for the supporting detail beneath each talking point. This default applies ONLY to an empty agenda. If the agenda already has material content, do NOT impose it: mirror the note's existing structure, reusing the same heading style (or absence of headings), the same bullet/talking-point markers, and the same section pattern already present. Read fellow://docs/fellow-markdown-syntax before composing the markdown content.

Parameters (1 required, 2 optional)
Required
contentstring

The full agenda contents to write, as markdown.

Optional
meeting_idstring

Calendar event guid whose agenda should be written, created if it does not exist yet.

Default: null
note_idstring

ID of the agenda to overwrite. Omit to target an agenda by meeting_id.

Default: null