Skip to main content
Glama

export_all_meetings

Export all meeting transcripts, summaries, and action items from Fathom.video to markdown files. Filter by date range and specify output directory for organized access to meeting data.

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 input schema and inline 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 handler function that executes the tool: fetches all meetings using Fathom client, formats each to Markdown, generates filenames, writes files to output directory, and returns list of exported files.
    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