Turn new Cal.com bookings into enriched Salesforce leads with a Slack brief

By General Input

When someone books on Cal.com, enrich them with Apollo, upsert a Salesforce lead with full firmographics, file a prep task on the rep, and DM the brief to Slack.

Integrations

  • Cal.com
  • Apollo
  • Salesforce
  • Slack

Type

Agentic Task

Categories

  • Sales
  • Operations

Whenever a new booking is created in Cal.com, run an agent that turns the invitee into a fully enriched Salesforce record and briefs the assigned rep in Slack. Trigger: poll Cal.com for new_booking events.

Step 1: Enrich the invitee with Apollo. Use Apollo People Enrichment with the invitee's email (and name + company domain as fallbacks) to pull their title, seniority, LinkedIn URL, and current employer. Then take the email domain and call Apollo Organization Enrichment to pull industry, employee count, estimated revenue, headquarters, technologies, and recent funding. If People Enrichment returns no match, skip enrichment cleanly: continue the run with only the data Cal.com provided and note that enrichment was unavailable. Do not fail the workflow.

Step 2: Upsert into Salesforce. Use Salesforce Create or Update Lead (Upsert), keyed on Email, to create or update the lead. Populate FirstName, LastName, Email, Company, Title, Industry, NumberOfEmployees, Website, LinkedIn URL (custom field if present), LeadSource = 'Cal.com Booking', and a Description that includes the meeting type and booking time. If a Salesforce contact already exists for this email, update that contact via Create or Update Contact (Upsert) instead of creating a duplicate lead.

Step 3: Create a Salesforce prep task. Use Salesforce Create Task assigned to the meeting host (look up the OwnerId by matching the Cal.com host email to a Salesforce User). Subject: 'Prep for Cal.com meeting with {{invitee name}} ({{company}})'. Set the ActivityDate to the day of the booking, Priority to Normal, Status to Not Started, and link WhoId to the upserted lead or contact. Put the one-line 'why this prospect matters' summary in the task Description, plus the meeting time and any notes the invitee provided when booking.

Step 4: DM the rep on Slack. Open a direct message conversation with the meeting host (resolve their Slack user from their email) and send a short message containing: invitee name, title, company, the booking time in the rep's local timezone, the meeting type, the LinkedIn URL, and a single-sentence 'why this prospect matters' summary you generate from the firmographic data (industry, size, recent funding, technologies). Keep it tight and skimmable, not a wall of text.

Behavior notes: be idempotent so the same booking does not create duplicate Salesforce records or duplicate Slack messages on retries. If the invitee email is missing or clearly personal (gmail, yahoo, outlook), still upsert the lead but skip Organization Enrichment and say so in the Slack DM. Never block the rest of the workflow on a single failed enrichment call.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredChat quality review board for LiveChat support leadsWin back no-show and cancelled appointments every morningLive Loop returns analytics with product-level drill-downNewsletter pre-flight and approval board for Mailjet sendsTurn a prospect spreadsheet into personalized sequence enrollmentsMailjet email delivery lookup console for support teamsCatch feature flags that never got switched on in productionA website visitor queue that remembers what you hide