Skip to main content
AI/MLjeremylongshore

fathom-core-workflow-b

'Sync Fathom meeting data to CRM and build automated follow-up workflows.

Stars
2,267
Source
jeremylongshore/claude-code-plugins-plus-skills
Updated
2026-05-31
Slug
jeremylongshore--claude-code-plugins-plus-skills--fathom-core-workflow-b
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/jeremylongshore/claude-code-plugins-plus-skills/HEAD/plugins/saas-packs/fathom-pack/skills/fathom-core-workflow-b/SKILL.md -o .claude/skills/fathom-core-workflow-b.md

Drops the SKILL.md into .claude/skills/fathom-core-workflow-b.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

Fathom Core Workflow: CRM Sync & Follow-Up

Overview

Automate post-meeting workflows: sync meeting notes to CRM opportunities, send follow-up emails with action items, and maintain a meeting history database.

Instructions

Meeting-to-CRM Sync

def sync_meeting_to_crm(meeting: dict, crm_client):
    summary = meeting.get("summary", "")
    action_items = meeting.get("action_items", [])
    participants = meeting.get("participants", [])

    # Find matching CRM contact/opportunity by participant email
    for email in participants:
        contact = crm_client.find_contact(email=email)
        if contact:
            crm_client.log_activity(
                contact_id=contact["id"],
                type="meeting",
                subject=meeting["title"],
                body=f"Summary: {summary}\n\nAction Items:\n" +
                     "\n".join(f"- {a['text']}" for a in action_items),
                date=meeting["created_at"],
            )

Automated Follow-Up Email

def generate_followup_email(meeting: dict) -> str:
    actions = meeting.get("action_items", [])
    action_list = "\n".join(f"- {a['text']}" for a in actions)

    return f"""Hi team,

Thanks for the meeting: {meeting['title']}

Summary:
{meeting.get('summary', 'No summary available')}

Action Items:
{action_list if action_list else '- None recorded'}

Best regards"""

Meeting History Database

CREATE TABLE fathom_meetings (
    id VARCHAR PRIMARY KEY,
    title VARCHAR NOT NULL,
    created_at TIMESTAMP NOT NULL,
    duration_seconds INTEGER,
    summary TEXT,
    participant_count INTEGER,
    action_item_count INTEGER,
    synced_to_crm BOOLEAN DEFAULT FALSE,
    synced_at TIMESTAMP
);

Resources

Next Steps

For error troubleshooting, see fathom-common-errors.