Fireflies
Overview
Section titled “Overview”Fireflies.ai is an AI-powered meeting assistant that automatically records, transcribes, and summarizes voice conversations. It supports all major video conferencing platforms and lets you search transcripts by keyword and extract action items. With the SquadOS integration, your agents can access meeting transcripts, create audio clips, query content in natural language via AskFred, and manage team users.
- Official website: https://fireflies.ai
- Composio documentation: docs.composio.dev/toolkits/fireflies
Authentication
Section titled “Authentication”This tool uses an API key (API_KEY) to connect.
You will need the following fields:
| Field | Required | Description |
|---|---|---|
api_key | Yes | API key generated in the Fireflies.ai dashboard under Integrations → Fireflies API. |
How to get credentials
Section titled “How to get credentials”- Log in to your account at app.fireflies.ai.
- In the main menu, go to Integrations.
- Select Fireflies API from the list of available integrations.
- Copy the API key shown — this is the value to use in the
api_keyfield when connecting in SquadOS.
How to connect in SquadOS
Section titled “How to connect in SquadOS”- Go to Tools in the side menu (
/admin/tools). - Open the Available tab and search for
Fireflies. - Click the card to open the details modal and hit Connect.
- You’re taken to the secure connection page hosted by Composio, where you enter the credentials obtained above.
- Once done, you’re sent back to SquadOS with the account connected and the tool available to your agents. (Connection-flow details in Organization Tools.)
Available actions
Section titled “Available actions”Add to Live Meeting
Section titled “Add to Live Meeting”FIREFLIES_ADD_TO_LIVE
The AddToLive Action allows you to add the Fireflies.ai bot to an ongoing meeting. Note: This action requires a paid Fireflies plan to add bots to meetings.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
title | string | No | Title or name of the meeting, this will be used to identify the transcribed file. If title is not provided, a default title will be set automatically |
duration | integer | No | Meeting duration in minutes. Minimum of 15 and maximum of 120 minutes. Defaults to 60 minutes if param is not provided |
language | string | No | Language code for the meeting (max 5 characters). Defaults to ‘en’ (English). Common codes: en, en-US, en-GB, fr, de, es, zh, ja, pt, ar. For a complete list of language codes, please view Fireflies Language Codes documentation. |
attendees | array | No | Array of Attendees for expected meeting participants. |
meeting_link | string | Yes | A valid http URL for the meeting link, i.e. Google Meet, Zoom, etc |
meeting_password | string | No | Password for the meeting, if applicable. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution |
error | string | No | Error if any occurred during the execution of the action |
successful | boolean | Yes | Whether or not the action execution was successful or not |
Continue AskFred Thread
Section titled “Continue AskFred Thread”FIREFLIES_CONTINUE_ASK_FRED_THREAD
Tool to continue an existing AskFred conversation thread with follow-up questions. This action CANNOT create new threads - it only works with existing thread IDs. Use when you need to maintain context from previous exchanges and ask additional questions about meeting data in the same conversation. To start a new thread, use FIREFLIES_CREATE_ASK_FRED_THREAD instead.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Follow-up question or query to ask in the context of the existing thread. Maximum 2000 characters. |
thread_id | string | Yes | The ID of an existing AskFred thread obtained from a previous AskFred interaction (via FIREFLIES_CREATE_ASK_FRED_THREAD or FIREFLIES_GET_ASK_FRED_THREADS). Must be a real thread ID - placeholder values like ‘new’ or ‘latest’ are not valid. To start a new conversation, use FIREFLIES_CREATE_ASK_FRED_THREAD instead. |
format_mode | string | No | Response format mode. Use ‘markdown’ for rich formatting with structure, or ‘plaintext’ for simple text output. |
response_language | string | No | Language code for the response (e.g., ‘en’ for English, ‘es’ for Spanish). If not specified, defaults to English. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution |
error | string | No | Error if any occurred during the execution of the action |
successful | boolean | Yes | Whether or not the action execution was successful or not |
Create AskFred Thread
Section titled “Create AskFred Thread”FIREFLIES_CREATE_ASK_FRED_THREAD
Tool to start a new AskFred conversation thread with a question about meetings. Use when you need to query meeting transcripts using natural language, either for a specific meeting or across multiple meetings with filters. Supports time-based queries and participant-focused queries.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Your question or query about the meeting(s). Maximum 2000 characters. Examples: ‘What were the action items?’, ‘Who attended the meeting?’, ‘What were the main topics discussed?‘ |
filters | object | No | Filters to search across multiple meetings. |
format_mode | string | No | Response format - ‘markdown’ for rich formatting or ‘plaintext’ for plain text. |
transcript_id | string | No | ID of a specific transcript/meeting to query. If provided, filters parameter is ignored. Use this for single-meeting queries. Transcript IDs are alphanumeric strings (e.g., ‘01JYH3WSWW2DVA72GFPQXC6ST0’). Use FIREFLIES_GET_TRANSCRIPTS to retrieve valid transcript IDs from your account. |
response_language | string | No | Language code for response (e.g., ‘en’ for English, ‘es’ for Spanish, ‘fr’ for French). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution |
error | string | No | Error if any occurred during the execution of the action |
successful | boolean | Yes | Whether or not the action execution was successful or not |
Create Bite
Section titled “Create Bite”FIREFLIES_CREATE_BITE
Tool to create a bite (short video or audio clip) from a transcript segment. Use when you need to extract a specific portion of a meeting recording with defined start and end times.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
name | string | No | Name for the bite. Maximum 256 characters. |
summary | string | No | Summary for the bite. Maximum 500 characters. |
end_time | number | Yes | End time of the bite in seconds. Must be greater than start_time. |
privacies | array | No | Visibility settings for the bite. Array can contain ‘public’, ‘team’, or ‘participants’. |
media_type | string | No | Type of bite to create. Must be either ‘video’ or ‘audio’. If not specified, defaults to ‘video’. |
start_time | number | Yes | Start time of the bite in seconds. Must be non-negative and less than end_time. |
transcript_id | string | Yes | The ID of the transcript from which to create the bite. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution |
error | string | No | Error if any occurred during the execution of the action |
successful | boolean | Yes | Whether or not the action execution was successful or not |
Delete Transcript by ID
Section titled “Delete Transcript by ID”FIREFLIES_DELETE_TRANSCRIPT_BY_ID
Permanently delete a transcript from the Fireflies account by its unique ID. This is a destructive action that cannot be undone. The transcript, along with its associated audio/video files and summaries, will be permanently removed. Rate limited to 10 requests per minute across all user tiers. Verify the target transcript via FIREFLIES_GET_TRANSCRIPTS and obtain explicit user confirmation before calling this tool.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The unique ID of the transcript to delete. This is a required field. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution |
error | string | No | Error if any occurred during the execution of the action |
successful | boolean | Yes | Whether or not the action execution was successful or not |
Fetch AI App Outputs
Section titled “Fetch AI App Outputs”FIREFLIES_FETCH_AI_APP_OUTPUTS2
Tool to fetch AI App outputs for specific apps or transcripts. Use when you need to retrieve AI-generated results from Fireflies AI Apps for meetings.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
skip | integer | No | Number of records to skip over for pagination. |
limit | integer | No | Maximum number of apps outputs to fetch (default: 10, max: 10). |
app_id | string | No | Retrieves all outputs against a specific AI App. If not provided, returns outputs for all AI Apps. |
transcript_id | string | No | Retrieves all outputs against a specific meeting/transcript. If not provided, returns outputs for all meetings. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution |
error | string | No | Error if any occurred during the execution of the action |
successful | boolean | Yes | Whether or not the action execution was successful or not |
Get AskFred Thread
Section titled “Get AskFred Thread”FIREFLIES_GET_ASK_FRED_THREAD
Tool to get a specific AskFred conversation thread with full history. Use when retrieving a particular AskFred thread along with all its messages and conversation details.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The unique identifier of the AskFred thread to retrieve. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution |
error | string | No | Error if any occurred during the execution of the action |
successful | boolean | Yes | Whether or not the action execution was successful or not |
Get AskFred Threads
Section titled “Get AskFred Threads”FIREFLIES_GET_ASK_FRED_THREADS
Tool to retrieve a summary of all AskFred conversation threads for the current user. Use when you need to browse or list available AskFred conversations without fetching full message history.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
transcript_id | string | No | Filter threads to only those associated with a specific transcript ID. If not provided, returns all threads for the current user. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution |
error | string | No | Error if any occurred during the execution of the action |
successful | boolean | Yes | Whether or not the action execution was successful or not |
Get Bite by ID
Section titled “Get Bite by ID”FIREFLIES_GET_BITE_BY_ID
Fetches details for a specific bite by ID. Requires a Fireflies plan that supports Bites and appropriate API scope. If the bite is not found, use FIREFLIES_GET_TRANSCRIPT_BY_ID to retrieve full transcript context instead.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The ID of the bite to fetch. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution |
error | string | No | Error if any occurred during the execution of the action |
successful | boolean | Yes | Whether or not the action execution was successful or not |
Get Bites
Section titled “Get Bites”FIREFLIES_GET_BITES
Fetches a list of bites (highlights) against input arguments. Bites are generated asynchronously after transcript completion — only call this after FIREFLIES_GET_TRANSCRIPT_BY_ID reports status=completed. Empty results are possible for valid meetings; use FIREFLIES_GET_TRANSCRIPT_BY_ID for full transcript context when bites are unavailable.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
mine | boolean | No | Filter to include only the user’s own bites. At least one of mine, transcript_id, or my_team must be provided. |
skip | integer | No | Number of bites to skip. |
limit | integer | No | Maximum number of bites to fetch. |
my_team | boolean | No | Filter to include bites from the user’s team. At least one of mine, transcript_id, or my_team must be provided. |
transcript_id | string | No | The ID of the transcript to fetch bites for. At least one of mine, transcript_id, or my_team must be provided. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution |
error | string | No | Error if any occurred during the execution of the action |
successful | boolean | Yes | Whether or not the action execution was successful or not |
Get Transcript by ID
Section titled “Get Transcript by ID”FIREFLIES_GET_TRANSCRIPT_BY_ID
Fetches details for a specific Fireflies transcript ID. Requires a paid Fireflies plan. Response is nested at data.outputs.data.transcript; fields like sentences and attendees can be null — handle gracefully. transcript.summary.action_items may be a single newline-delimited string rather than an array — split by line breaks instead of iterating as an array. Limit concurrent calls to ~3 and apply exponential backoff on 429 responses, respecting Retry-After headers.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The unique identifier of the transcript to fetch. This is the Fireflies transcript ID returned when listing transcripts or from the transcript_url. Only call with IDs whose transcript status is ‘completed’; incomplete transcripts return partial or missing content. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution |
error | string | No | Error if any occurred during the execution of the action |
successful | boolean | Yes | Whether or not the action execution was successful or not |
Get Transcripts
Section titled “Get Transcripts”FIREFLIES_GET_TRANSCRIPTS
Fetches a list of transcripts against input filters. Metadata filters (title, host_email, organizers, participants) match transcript metadata only, not spoken content. Pagination via skip/limit may trigger HTTP 429 on rapid requests; use backoff between pages.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
skip | integer | No | Number of transcripts to skip. Use with limit for pagination; stop when returned count is less than limit. |
limit | integer | No | Maximum number of transcripts to fetch. Maximum allowed value is 50. |
title | string | No | Title of the meeting. Matches meeting metadata title only, not spoken content. |
to_date | string | No | End date for filtering transcripts. Must be in ISO 8601 datetime format with timezone (e.g., ‘2024-08-26T23:59:59Z’ or ‘2024-08-26T23:59:59+00:00’). Date-only formats are not accepted. |
user_id | string | No | The User ID to fetch the transcripts of. |
from_date | string | No | Start date for filtering transcripts. Must be in ISO 8601 datetime format with timezone (e.g., ‘2024-08-16T00:00:00Z’ or ‘2024-08-16T00:00:00+00:00’). Date-only formats are not accepted. Must be earlier than to_date. Filters are evaluated in UTC — convert local date ranges to UTC to avoid silently omitting meetings. |
host_email | string | No | Email address of the host of the meeting. Must be a plain email address without markup or ‘mailto:’ prefix. Example: ‘user@example.com’. |
organizers | array | No | List of organizer email addresses to filter transcripts by. |
participants | array | No | List of participant email addresses to filter transcripts by. |
include_summary | boolean | No | Whether to include AI-generated summary (action items, keywords, overview, notes, etc.) in response. Can significantly increase response size. summary.action_items may be a single formatted string rather than a list — split by newline rather than iterating as an array. |
organizer_email | string | No | DEPRECATED: Use ‘organizers’ instead. Email of the organizer of the meeting. |
include_analytics | boolean | No | Whether to include analytics data (sentiments, categories, speaker stats) in response. Requires Pro+ plan. If your plan doesn’t support this, the request may fail with a generic error. |
include_audio_url | boolean | No | Whether to include audio_url field in response. Requires Pro+ plan. If your plan doesn’t support this, the request may fail with a generic error. |
include_sentences | boolean | No | Whether to include sentences array (transcript text with speaker/timing info) in response. Can produce very large responses - a single transcript may contain hundreds of sentences. Each sentence object contains speaker_name, text, start_time, end_time fields. Some transcripts may return null or empty sentences array. |
include_video_url | boolean | No | Whether to include video_url field in response. Requires Business+ plan. If your plan doesn’t support this, the request may fail with a generic error. |
participant_email | string | No | DEPRECATED: Use ‘participants’ instead. Email of a participant in the meeting. |
include_apps_preview | boolean | No | Whether to include apps_preview (AI app outputs) in response. |
include_user_details | boolean | No | Whether to include detailed user information with nested user_groups and members. When False, only basic user fields (user_id, email, name) are returned. |
include_meeting_attendees | boolean | No | Whether to include detailed meeting_attendees array (display names, emails, phone numbers) in response. |
include_meeting_attendance | boolean | No | Whether to include meeting_attendance array (join/leave timestamps for participants) in response. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution |
error | string | No | Error if any occurred during the execution of the action |
successful | boolean | Yes | Whether or not the action execution was successful or not |
Get User by ID
Section titled “Get User by ID”FIREFLIES_GET_USER_BY_ID
The GetUser Action is designed to fetch details associated with a specific user id.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The User ID to the details of. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution |
error | string | No | Error if any occurred during the execution of the action |
successful | boolean | Yes | Whether or not the action execution was successful or not |
Get User Groups
Section titled “Get User Groups”FIREFLIES_GET_USER_GROUPS
Tool to fetch a list of all user groups within the team with information about user groups including their members. Use when you need to retrieve team user groups, optionally filtering to only groups the current user belongs to with the mine parameter.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
mine | boolean | No | Filters results to return only user groups the current user belongs to when set to true. Returns all team user groups when false or omitted. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution |
error | string | No | Error if any occurred during the execution of the action |
successful | boolean | Yes | Whether or not the action execution was successful or not |
Get Users
Section titled “Get Users”FIREFLIES_GET_USERS
Fetches a list of all users within the team, including their full email addresses. Use to resolve complete email addresses from user names before passing to tools that require exact email addresses (no partial addresses or domain-only values).
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution |
error | string | No | Error if any occurred during the execution of the action |
successful | boolean | Yes | Whether or not the action execution was successful or not |
Execute GraphQL Query
Section titled “Execute GraphQL Query”FIREFLIES_GRAPHQL_QUERY
Execute an authenticated, read-only Fireflies GraphQL operation (query) and return the full raw GraphQL response (data+errors) for reliable fallback and debugging. Use when higher-level tools fail due to schema mismatches or to access raw error details.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
query | string | Yes | GraphQL query document (read-only operations only). Must contain only ‘query’ operations. Mutations and subscriptions are not allowed. |
variables | object | No | GraphQL variables as a JSON object. Used to pass dynamic values to parameterized queries. |
operationName | string | No | Operation name to execute when multiple operations are present in the query document. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution |
error | string | No | Error if any occurred during the execution of the action |
successful | boolean | Yes | Whether or not the action execution was successful or not |
Set User Role
Section titled “Set User Role”FIREFLIES_SET_USER_ROLE
Tool to update a user’s role within a team. Use when you need to grant or revoke admin privileges. Only team administrators can execute this action. Teams must maintain at least one admin member at all times.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
role | string | Yes | Role assignment to set for the user. Valid options are ‘admin’ (grants administrative privileges) and ‘user’ (standard user permissions). |
user_id | string | Yes | Unique identifier of the target user whose role will be updated. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution |
error | string | No | Error if any occurred during the execution of the action |
successful | boolean | Yes | Whether or not the action execution was successful or not |
Update Meeting Channel
Section titled “Update Meeting Channel”FIREFLIES_UPDATE_MEETING_CHANNEL
Tool to batch update channel assignments for 1-5 meeting transcripts. Use when you need to assign meetings to a specific channel. Requires meeting owner or team admin privileges. All-or-nothing semantics: if any transcript fails validation, none are updated.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
channel_id | string | Yes | The channel identifier to assign to all specified transcripts. A meeting can only belong to one channel at a time. |
transcript_ids | array | Yes | Array of transcript IDs to assign to the channel. Must contain between 1 and 5 transcript IDs. All specified meetings must be owned by users in your team. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution |
error | string | No | Error if any occurred during the execution of the action |
successful | boolean | Yes | Whether or not the action execution was successful or not |
Update Meeting Privacy
Section titled “Update Meeting Privacy”FIREFLIES_UPDATE_MEETING_PRIVACY
Tool to update the privacy setting of a meeting transcript. Use when you need to change meeting access permissions. Only meeting owners and team admins can update privacy settings.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The transcript identifier to update privacy settings for. |
privacy | string | Yes | New privacy level setting. Available values: ‘link’ (anyone with link can access), ‘owner’ (only meeting owner), ‘participants’ (meeting participants only), ‘teammatesandparticipants’ (teammates and participants), ‘teammates’ (team members only). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution |
error | string | No | Error if any occurred during the execution of the action |
successful | boolean | Yes | Whether or not the action execution was successful or not |
Update Meeting Title
Section titled “Update Meeting Title”FIREFLIES_UPDATE_MEETING_TITLE
Tool to update the title of a meeting transcript. Use when you need to rename a meeting. Requires admin privileges and the meeting owner must be in your team.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The unique identifier of the meeting transcript to update. |
title | string | Yes | The new title to assign to the meeting transcript. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution |
error | string | No | Error if any occurred during the execution of the action |
successful | boolean | Yes | Whether or not the action execution was successful or not |
Upload Audio
Section titled “Upload Audio”FIREFLIES_UPLOAD_AUDIO
The UploadAudio Action allows you to upload audio files to Fireflies.ai for transcription. Transcription is asynchronous — after submission, results may take several minutes to become available; use transcript retrieval tools to poll for completion. Note: This action requires a paid Fireflies plan to upload and transcribe audio files.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
url | string | Yes | The url of media file to be transcribed. It MUST be a valid https string and publicly accessible to enable us download the audio / video file. Double check to see if the media file is downloadable and that the link is not a preview link before making the request. The media file must be either of these formats - mp3, mp4, wav, m4a, ogg |
title | string | No | Title or name of the meeting, this will be used to identify the transcribed file |
webhook | string | No | URL for the webhook that receives notifications when transcription completes |
attendees | array | No | An array of objects containing Attendee objects. This is relevant if you have active integrations like Salesforce, Hubspot etc. Fireflies uses the attendees value to push meeting notes to your active CRM integrations where notes are added to an existing contact or a new contact is created. Each object contains - displayName, email, phoneNumber, client_reference_id |
save_video | boolean | No | Specify whether the video should be saved or not. |
download_auth | object | No | Authentication details for accessing protected media files. |
custom_language | string | No | Specify a custom language code for your meeting, e.g. es for Spanish or de for German. For a complete list of language codes, please view Language Codes |
bypass_size_check | boolean | No | Set to true to bypass the 50kb minimum file size validation. Useful for processing smaller audio files. |
client_reference_id | string | No | The client reference id of the attendee |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution |
error | string | No | Error if any occurred during the execution of the action |
successful | boolean | Yes | Whether or not the action execution was successful or not |