Create a webinar follow-up that reflects attendance
Send different next steps to attendees, no-shows and highly engaged viewers without manual list work.
webinar-follow-up.md
Create a webinar follow-up that reflects attendance
Set up the tools below, then run the steps in order for the user.
Inputs
Ask the user for this before you start.
webinar_id: the webinar to work from
Set up
Zoom (tool:zoom/list-webinar-participants, tool:zoom/list-webinar-absentees)
Use the API.
- Base URL: https://api.zoom.us/v2
- List webinar participants:
GET /past_webinars/{webinarId}/participants - List webinar absentees:
GET /past_webinars/{webinarId}/absentees - Auth: OAuth; sign in when the agent asks
Brew (tool:brew/generate-email, tool:brew/send-email)
Use the first option your agent supports.
MCP (official, remote)
Add this server to your agent's MCP settings, then sign in when asked.
{ "mcpServers": { "brew": { "url": "https://brew.new/api/mcp" } } }
- Generate an email: call the MCP tool
create_email - Send an email: call the MCP tool
send_email
CLI (official)
Install the command, then confirm it runs.
brew install getbrew/tap/brew-cli
brew-cli --version
- Generate an email: run
brew-cli emails generate - Send an email: run
brew-cli emails send
Set $BREW_API_KEY in your environment first (get a key: https://brew.new/settings/api).
Create or update contacts (HubSpot, tool:hubspot/upsert-contacts)
Use the first option your agent supports.
MCP (official, remote)
Add this server to your agent's MCP settings, then sign in when asked.
{ "mcpServers": { "hubspot": { "url": "https://mcp.hubspot.com" } } }
Call the MCP tool manage_crm_objects.
API (official)
- Base URL: https://api.hubapi.com
- Endpoint:
POST /crm/objects/2026-09/contacts/batch/upsert - Auth: send the header
Authorization: Bearer $HUBSPOT_API_KEY
Make one read-only call to each tool to confirm access.
Steps
- List attendees with List webinar participants (Zoom). From
webinar_id, list who attended and add up each person's time across rejoins; 40 minutes or more makes them engaged. - List no-shows with List webinar absentees (Zoom). From
webinar_id, list the registrants who did not attend. - Write three emails with Generate an email (Brew). Draft one email per list: the recording for no-shows, the next step for attendees, a call offer for the engaged. Show the drafts to the user.
- Tag contacts with Create or update contacts (HubSpot). Set a contact property with the list each person landed in.
- Send with Send an email (Brew). Send each list its approved email.
Done when
- Every registrant is in exactly one list.
- Approved emails are sent and the property is set.
Rules
- Only use the tools listed above.
- Ask the user before anything that sends messages, costs money, or changes data.
- Never print API keys.
Built from these files in the repository
- workflows/webinar-follow-up.md
- companies/zoom/tools/list-webinar-participants.md
- companies/zoom/company.md
- companies/zoom/tools/list-webinar-absentees.md
- companies/brew/tools/generate-email.md
- companies/brew/company.md
- companies/hubspot/tools/upsert-contacts.md
- companies/hubspot/company.md
- companies/brew/tools/send-email.md
The layout and the rules come from lib/catalog/render-markdown.ts, the set-up wording from lib/catalog/render-access.ts.
