Turn new Acuity bookings into HubSpot leads with Slack alerts

By General Input

Every 15 minutes we sweep Acuity for freshly booked appointments and open a matching HubSpot contact and deal, then ping the sales channel in Slack.

Integrations

  • Acuity Scheduling
  • HubSpot
  • Slack

Type

Deterministic Code

Categories

  • Sales

Every 15 minutes on a cron schedule, sweep Acuity Scheduling for newly booked appointments and push each one into HubSpot as a tracked lead, then notify sales in Slack. This is a deterministic pipeline: same steps for every appointment, no drafting or judgement.

Step 1. Use the Acuity Scheduling List Appointments action with minDate set to the current time and a lastModified (or created) filter covering the last 15 minutes so we only pick up appointments booked in this window. Cron is the trigger because Acuity is not a first-class poll provider on this platform and does not have a supported webhook surface here.

Step 2. For each new appointment, call the HubSpot Search Contacts action to look up the client by email. If a contact exists, reuse the returned contact id. If no contact is found, call HubSpot Create Contact with the client name, email, phone number, and lifecycleStage set to lead.

Step 3. Call HubSpot Create Deal in the intake pipeline. Use the appointment type as the deal name, the appointment price as the amount, and store the appointment datetime on a custom deal property (default name: acuity_appointment_at). Associate the deal with the HubSpot contact from Step 2.

Step 4. Post to the sales channel with the Slack Send a Message action. Include the client name, the appointment type, the appointment time formatted in the account timezone, and a direct link to the new HubSpot deal (built from the deal id returned by Create Deal).

Configuration inputs the workflow should expose: the HubSpot intake pipeline id and stage id, the custom deal property name for the appointment datetime, the Slack channel id or name, and the display timezone. Skip appointments that are missing an email address, and log any HubSpot or Slack error without failing the whole sweep so a single bad row does not block the rest.

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