OSS-first docs

These docs teach the open system first: contracts, generated surfaces, runtimes, governance, and incremental adoption. Studio shows up as the operating layer on top, not as the source of truth.

meeting-recorder.fathom

Fathom External API for meetings, transcripts, and webhook events.

  • Type: integration (integration)
  • Version: 1.0.0
  • Owners: platform.integrations
  • Tags: meeting-recorder, fathom, transcripts
  • field.key.label
    meeting-recorder.fathom
    field.version.label
    1.0.0
    field.type.label
    integration (integration)
    field.title.label
    meeting-recorder.fathom
    field.description.label

    Fathom External API for meetings, transcripts, and webhook events.

  • Type: integration (integration)
  • Version: 1.0.0
  • Owners: platform.integrations
  • Tags: meeting-recorder, fathom, transcripts
  • field.tags.label
    meeting-recorder,fathom,transcripts
    field.owners.label
    platform.integrations
    field.stability.label

    Fathom External API for meetings, transcripts, and webhook events.

    Source Definition

    export const fathomIntegrationSpec = defineIntegration({
      meta: {
        key: 'meeting-recorder.fathom',
        version: '1.0.0',
        category: 'meeting-recorder',
        title: 'Fathom Meeting Recorder',
        description:
          'Fathom External API for meetings, transcripts, and webhook events.',
        domain: 'productivity',
        owners: ['platform.integrations'],
        tags: ['meeting-recorder', 'fathom', 'transcripts'],
        stability: StabilityEnum.Experimental,
      },
      supportedModes: ['byok'],
      capabilities: {
        provides: [
          { key: 'meeting-recorder.meetings.read', version: '1.0.0' },
          { key: 'meeting-recorder.transcripts.read', version: '1.0.0' },
          { key: 'meeting-recorder.webhooks', version: '1.0.0' },
        ],
      },
      configSchema: {
        schema: {
          type: 'object',
          properties: {
            baseUrl: {
              type: 'string',
              description:
                'Optional override for the Fathom API base URL. Defaults to https://api.fathom.ai/external/v1.',
            },
            webhookUrl: {
              type: 'string',
              description:
                'Webhook destination URL used when registering Fathom webhooks.',
            },
            includeTranscript: {
              type: 'boolean',
              description: 'Include transcript data in Fathom webhook payloads.',
            },
            includeSummary: {
              type: 'boolean',
              description: 'Include summary data in Fathom webhook payloads.',
            },
            includeActionItems: {
              type: 'boolean',
              description: 'Include action items in Fathom webhook payloads.',
            },
            includeCrmMatches: {
              type: 'boolean',
              description: 'Include CRM matches in Fathom webhook payloads.',
            },
            triggeredFor: {
              type: 'array',
              items: { type: 'string' },
              description:
                'Recording scopes to trigger webhooks for (e.g., my_recordings).',
            },
          },
        },
        example: {
          baseUrl: 'https://api.fathom.ai/external/v1',
          webhookUrl: 'https://example.com/webhooks/fathom',
          includeTranscript: true,
          includeSummary: true,
          includeActionItems: false,
          includeCrmMatches: false,
          triggeredFor: ['my_recordings'],
        },
      },
      secretSchema: {
        schema: {
          type: 'object',
          required: ['apiKey'],
          properties: {
            apiKey: {
              type: 'string',
              description: 'Fathom API key used in the X-Api-Key header.',
            },
            webhookSecret: {
              type: 'string',
              description:
                'Optional webhook secret used to verify Fathom webhook signatures.',
            },
          },
        },
        example: {
          apiKey: 'fathom-***',
          webhookSecret: 'whsec_***',
        },
      },
      healthCheck: {
        method: 'list',
        timeoutMs: 8000,
      },
      docsUrl: 'https://developers.fathom.ai/',
      constraints: {
        rateLimit: {
          rpm: 60,
        },
      },
      byokSetup: {
        setupInstructions:
          'Generate an API key in Fathom settings and optionally configure webhooks for meeting content readiness.',
      },
    });