
Search, manage, and review your Fathom meetings and recordings. Use the @fathom AI extension to ask questions about your meetings, or trigger other AI tasks, for example:
summarize my last meeting in @fathom and create tasks in @todoist
To use this extension, you'll need a Fathom API key:
Recordings are large — typically 250–650 MB for a 30–60 minute meeting — and Fathom needs about half a minute to prepare one before the transfer can start.
Because of that, downloads run in a background process that keeps going after you dismiss Raycast. Start a download, press Escape, and it continues; reopen Search Meetings to see the progress. If a transfer is interrupted it resumes from where it stopped rather than starting over, and canceling leaves no half-written file behind.
Files land in the Export Directory set in extension preferences (~/Downloads by default), named after the meeting and its date.
Two things worth knowing:
This extension communicates directly with the Fathom API using your API key. All data is fetched securely from Fathom's servers and cached locally for performance. No data is collected or shared with third parties.
This extension is an independent project and is not affiliated with, endorsed by, or in any way officially connected to Fathom Video, Inc. All trademarks and copyrights related to Fathom are the property of their respective owners.
Search Fathom meetings
Search Fathom team members
@chrismessina/raycast-downloader to 0.2.1, and brace-expansion to 5.0.12 to fix high-severity denial-of-service advisories.getAllCachedMeetings now uses LocalStorage.allItems() for a single bulk read on launch instead of N individual readsfetchRemainingPages and loadMoreMeetings each have their own abort token, preventing them from accidentally cancelling each othersearch-meetings error view into getErrorDisplay() helper and ErrorEmptyView componentfathom-typescript SDK dependency for better controlcacheManager.ts with pagination state and staleness trackingpageSize: Corrected from 50 to 20 to match Raycast's documented intent (placeholder skeleton count, not data batch size)hasMore initial state: Initialized synchronously from cacheManager.hasMore() so Raycast sees the correct value on first render, preventing the pagination trigger from being suppressed@raycast/api to 1.104.6CachedMeetingData → Meeting mapping into a single toMeeting helper in useCachedMeetingshasMoreMeetings state and isLoadingMoreRef from search-meetings.tsx (already handled in the hook and cacheManager)calendarInvitees parameter from SDK call with explanatory comment about HTTP fallbackget-meeting-details tool to paginate through all meetings when searching by titleKeyboard.Shortcut.Common.Refresh for Raycast consistencyfathom-typescript dependency from 0.0.30 to 0.0.36listMeetings