技能 编程开发 Fathom AI会议集成部署

Fathom AI会议集成部署

v20260423
fathom-deploy-integration
本技能提供了一套完整的Fathom AI会议集成部署方案。它使用Docker容器化技术,构建了一个服务来接收和处理Fathom API传输的会议转录、摘要和行动项等数据。方案内容涵盖了环境配置、健康检查以及滚动更新策略,确保了会议数据流的稳定性和持续同步性。
获取技能
89 次下载
概览

Fathom Deploy Integration

Overview

Deploy a containerized Fathom AI meeting integration service with Docker. This skill covers building a production image that connects to the Fathom API for processing meeting transcripts, summaries, and action items. Includes environment configuration for webhook handling, health checks that verify Fathom API connectivity and transcript retrieval, and rolling update strategies to maintain continuous meeting data processing without losing webhook events.

Docker Configuration

FROM node:20-slim AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY tsconfig.json ./
COPY src/ ./src/
RUN npm run build

FROM node:20-slim
RUN addgroup --system app && adduser --system --ingroup app app
WORKDIR /app
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/node_modules ./node_modules
COPY package*.json ./
USER app
EXPOSE 3000
HEALTHCHECK --interval=30s --timeout=5s --retries=3 \
  CMD curl -f http://localhost:3000/health || exit 1
CMD ["node", "dist/index.js"]

Environment Variables

export FATHOM_API_KEY="fthm_live_xxxxxxxxxxxx"
export FATHOM_BASE_URL="https://api.fathom.video/v1"
export FATHOM_WEBHOOK_SECRET="whsec_xxxxxxxxxxxx"
export LOG_LEVEL="info"
export PORT="3000"
export NODE_ENV="production"

Health Check Endpoint

import express from 'express';

const app = express();

app.get('/health', async (req, res) => {
  try {
    const response = await fetch(`${process.env.FATHOM_BASE_URL}/meetings`, {
      headers: { 'Authorization': `Bearer ${process.env.FATHOM_API_KEY}` },
    });
    if (!response.ok) throw new Error(`Fathom API returned ${response.status}`);
    res.json({ status: 'healthy', service: 'fathom-integration', timestamp: new Date().toISOString() });
  } catch (error) {
    res.status(503).json({ status: 'unhealthy', error: (error as Error).message });
  }
});

Deployment Steps

Step 1: Build

docker build -t fathom-integration:latest .

Step 2: Run

docker run -d --name fathom-integration \
  -p 3000:3000 \
  -e FATHOM_API_KEY -e FATHOM_BASE_URL -e FATHOM_WEBHOOK_SECRET \
  fathom-integration:latest

Step 3: Verify

curl -s http://localhost:3000/health | jq .

Step 4: Rolling Update

docker build -t fathom-integration:v2 . && \
docker stop fathom-integration && \
docker rm fathom-integration && \
docker run -d --name fathom-integration -p 3000:3000 \
  -e FATHOM_API_KEY -e FATHOM_BASE_URL -e FATHOM_WEBHOOK_SECRET \
  fathom-integration:v2

Error Handling

IssueCauseFix
401 UnauthorizedInvalid or expired API keyRegenerate key in Fathom developer settings
403 ForbiddenInsufficient API scopesRequest meetings and transcripts access
404 Not FoundMeeting ID does not existVerify meeting ID from webhook payload
429 Rate LimitedExceeding API rate limitsImplement backoff; batch transcript fetches
Webhook signature mismatchWrong FATHOM_WEBHOOK_SECRETRe-copy secret from Fathom webhook settings

Resources

Next Steps

See fathom-webhooks-events.

信息
分类 编程开发
名称 fathom-deploy-integration
版本 v20260423
大小 3.57KB
更新时间 2026-04-26
语言