Skip to main content
Glama

export_all_meetings

Export all Fathom meeting transcripts, summaries, and action items to markdown files with optional date filtering for organized workspace storage.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
created_afterNoISO 8601 timestamp - only export meetings after this date
created_beforeNoISO 8601 timestamp - only export meetings before this date
output_dirNoDirectory to save files (defaults to workspace/transcripts)

Implementation Reference

  • src/index.ts:190-229 (registration)
    Registration of the 'export_all_meetings' tool using server.tool(), including inline schema and handler function.
    server.tool( 'export_all_meetings', { created_after: z.string().optional().describe('ISO 8601 timestamp - only export meetings after this date'), created_before: z.string().optional().describe('ISO 8601 timestamp - only export meetings before this date'), output_dir: z.string().optional().describe('Directory to save files (defaults to workspace/transcripts)'), }, async ({ created_after, created_before, output_dir }) => { const targetDir = output_dir || OUTPUT_DIR; console.error(`Exporting all meetings to ${targetDir}...`); const meetings = await fathom.getAllMeetings({ include_transcript: true, include_summary: true, include_action_items: true, include_crm_matches: true, created_after, created_before, }); await fs.mkdir(targetDir, { recursive: true }); const exported: string[] = []; for (const meeting of meetings) { const markdown = formatMeetingToMarkdown(meeting); const filename = generateTranscriptFilename(meeting); const filepath = path.join(targetDir, filename); await fs.writeFile(filepath, markdown, 'utf-8'); exported.push(filename); console.error(`Exported: ${filename}`); } return { content: [{ type: 'text', text: `Exported ${exported.length} meetings to ${targetDir}:\n${exported.map(f => `- ${f}`).join('\n')}`, }], }; } );
  • The core handler logic that fetches all meetings via FathomClient.getAllMeetings(), formats each to markdown using formatMeetingToMarkdown and generateTranscriptFilename, writes to files in output_dir (default: transcripts/), and returns a list of exported filenames.
    async ({ created_after, created_before, output_dir }) => { const targetDir = output_dir || OUTPUT_DIR; console.error(`Exporting all meetings to ${targetDir}...`); const meetings = await fathom.getAllMeetings({ include_transcript: true, include_summary: true, include_action_items: true, include_crm_matches: true, created_after, created_before, }); await fs.mkdir(targetDir, { recursive: true }); const exported: string[] = []; for (const meeting of meetings) { const markdown = formatMeetingToMarkdown(meeting); const filename = generateTranscriptFilename(meeting); const filepath = path.join(targetDir, filename); await fs.writeFile(filepath, markdown, 'utf-8'); exported.push(filename); console.error(`Exported: ${filename}`); } return { content: [{ type: 'text', text: `Exported ${exported.length} meetings to ${targetDir}:\n${exported.map(f => `- ${f}`).join('\n')}`, }], }; }
  • Zod input schema defining optional parameters for date filtering and output directory.
    { created_after: z.string().optional().describe('ISO 8601 timestamp - only export meetings after this date'), created_before: z.string().optional().describe('ISO 8601 timestamp - only export meetings before this date'), output_dir: z.string().optional().describe('Directory to save files (defaults to workspace/transcripts)'), },

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/matthewbergvinson/fathom-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server