Fathom

Learn how to use Fathom with Composio

Overview

SLUG: FATHOM

Description

AI meeting assistant that records, transcribes, and summarizes meetings

Authentication Details

client_id
stringRequired
client_secret
stringRequired
oauth_redirect_uri
stringDefaults to https://backend.composio.dev/api/v1/auth-apps/add
scopes
stringDefaults to public_api
generic_api_key
stringRequired

Connecting to Fathom

Create an auth config

Use the dashboard to create an auth config for the Fathom toolkit. This allows you to connect multiple Fathom accounts to Composio for agents to use.

1

Select App

Navigate to Fathom.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Fathom Auth Config”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using OAuth2

1from composio import Composio
2
3# Replace these with your actual values
4fathom_auth_config_id = "ac_YOUR_FATHOM_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/application
6
7composio = Composio()
8
9
10def authenticate_toolkit(user_id: str, auth_config_id: str):
11 connection_request = composio.connected_accounts.initiate(
12 user_id=user_id,
13 auth_config_id=auth_config_id,
14 )
15
16 print(
17 f"Visit this URL to authenticate Fathom: {connection_request.redirect_url}"
18 )
19
20 # This will wait for the auth flow to be completed
21 connection_request.wait_for_connection(timeout=15)
22 return connection_request.id
23
24
25connection_id = authenticate_toolkit(user_id, fathom_auth_config_id)
26
27# You can also verify the connection status using:
28connected_account = composio.connected_accounts.get(connection_id)
29print(f"Connected account: {connected_account}")

Using API Key

1from composio import Composio
2
3# Replace these with your actual values
4fathom_auth_config_id = "ac_YOUR_FATHOM_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/app
6
7composio = Composio()
8
9def authenticate_toolkit(user_id: str, auth_config_id: str):
10 # Replace this with a method to retrieve an API key from the user.
11 # Or supply your own.
12 user_api_key = input("[!] Enter API key")
13
14 connection_request = composio.connected_accounts.initiate(
15 user_id=user_id,
16 auth_config_id=auth_config_id,
17 config={"auth_scheme": "API_KEY", "val": {"generic_api_key": user_api_key}}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Fathom for user {user_id}")
22 print(f"Connection status: {connection_request.status}")
23
24 return connection_request.id
25
26
27connection_id = authenticate_toolkit(user_id, fathom_auth_config_id)
28
29# You can verify the connection using:
30connected_account = composio.connected_accounts.get(connection_id)
31print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Fathom toolkit’s playground

For code examples, see the Tool calling guide and Provider examples.

Tool List

Tool Name: Create webhook for meeting content

Description

Tool to create a webhook to receive new meeting content from Fathom. Use when you need to set up notifications for meeting recordings. At least one of transcript, CRM matches, summary, or action items must be included in the webhook payload.

Action Parameters

destination_url
stringRequired
include_action_items
boolean
include_crm_matches
boolean
include_summary
boolean
include_transcript
boolean
triggered_for
arrayRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Webhook

Description

Tool to delete an existing webhook by its ID. Use when you need to remove a webhook that is no longer needed.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Recording Summary

Description

Tool to retrieve the AI-generated summary for a specific recording. Use when you need to access the summary of a meeting recording. Supports both synchronous mode (returns summary directly) and asynchronous mode (delivers summary to webhook URL specified in destination_url parameter).

Action Parameters

destination_url
string
recording_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Recording Transcript

Description

Tool to retrieve the full transcript for a specific recording. Use when you need to access the complete meeting transcript with speaker information and timestamps. Can operate synchronously (returns transcript directly) or asynchronously (posts transcript to a destination URL).

Action Parameters

destination_url
string
recording_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Meetings

Description

Tool to retrieve a paginated list of meeting recordings for the authenticated user or organization. Use when you need to fetch meetings with optional filtering by dates, domains, meeting type, or recorder. Supports data enrichment via include_* parameters.

Action Parameters

calendar_invitees_domains
array
calendar_invitees_domains_type
string
created_after
string
created_before
string
cursor
string
include_action_items
boolean
include_crm_matches
boolean
include_summary
boolean
include_transcript
boolean
meeting_type
string
recorded_by
array
teams
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Team Members

Description

Tool to retrieve a paginated list of all team members in the organization. Use when you need to view team members, optionally filtered by team name or paginated using a cursor.

Action Parameters

cursor
string
team
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Teams

Description

Tool to retrieve a paginated list of all teams in the organization. Use when you need to get information about teams accessible through the API.

Action Parameters

cursor
string

Action Response

data
objectRequired
error
string
successful
booleanRequired