Daily Slack DM with prep briefs for every Calendly meeting

By General Input

Each weekday at 7am, get one Slack DM with a prep brief for every Calendly meeting on your calendar today, enriched with HubSpot deal and contact context.

Integrations

  • Calendly
  • HubSpot
  • Slack

Type

Agentic Task

Categories

  • Sales
  • Personal Productivity

Build me an agent workflow that runs every weekday at 7am America/New_York and sends me a single Slack DM with a prep brief for every external Calendly meeting on my calendar that day.

Trigger: cron, weekdays at 07:00 America/New_York.

Step 1 — Pull today's meetings. Use Calendly's List Scheduled Events for my user, filtered to events with min_start_time = today 00:00 in my timezone and max_start_time = today 23:59. Status = active. For each scheduled event, capture the start time, end time, event type name, location, and the event UUID.

Step 2 — Pull invitees. For each scheduled event, call Calendly's List Event Invitees and collect each invitee's email, name, timezone, and the questions_and_answers array (the intake form responses). If an invitee's email domain matches my company domain (I'll provide it as an input, e.g. acme.com), skip that meeting entirely — it's internal.

Step 3 — Enrich from HubSpot. For each remaining invitee email, call HubSpot's Get Contact with idProperty = email, requesting these properties: firstname, lastname, jobtitle, company, lifecyclestage, hs_lead_status, notes_last_contacted, hs_last_sales_activity_date, hubspot_owner_id. If Get Contact 404s, fall back to HubSpot's Search Contacts with a filter on email. Then call HubSpot's Search Deals with filters dealstage NOT IN closedwon/closedlost AND associations.contact = the contact id, requesting dealname, amount, dealstage, closedate, pipeline. If the contact isn't in HubSpot at all, mark the meeting as MISSING CRM CONTEXT.

Step 4 — Synthesize the brief. For each meeting, write a one-screen prep brief with: meeting time and event type; who's attending (name, title, company); CRM snapshot (lifecycle stage, last activity date, account owner); open deals (name, stage, amount, close date) or a note that there are none; the invitee's intake answers verbatim; three suggested talking points grounded in the CRM context and intake answers; and two open questions to ask. If the contact is missing in HubSpot, replace the CRM section with a clear 'No HubSpot record — enrich before the meeting' callout.

Step 5 — Deliver. Combine all briefs (sorted by meeting start time) into one Slack message and use Slack's Send a Message to DM it to me. Lead with a one-line header like 'Today's prep, 3 external meetings'. Use Slack mrkdwn formatting (bold names, bullet lists). If there are zero external meetings today, send a short DM confirming there's nothing to prep so I know the workflow ran.

Inputs to expose for me to configure: my company email domain (for the internal-meeting filter), my Slack user ID or DM target, and my timezone (default America/New_York). Use my connected Calendly, HubSpot, and Slack accounts.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredTurn Mailjet email clicks into ranked HubSpot follow-upsiMessage campaign console with pre-flight checks and delivery boardChat quality review board for LiveChat support leadsA searchable RFP answer library your bid team drafts fromSee which target accounts just started advertising on LinkedInAccount health board that puts product usage next to your CRMLook up a customer's full chat history mid conversationLusha prospecting workbench with credit-safe reveals