Instantly notify a rep in Slack when a high-intent lead books a demo using Make

low complexityCost: $10-29/mo

Prerequisites

Prerequisites
  • Make account (Free plan works for this scenario)
  • HubSpot connection configured in Make via OAuth
  • Slack connection configured in Make
  • A HubSpot form used for demo bookings
  • A mapping of HubSpot owner IDs to Slack user IDs

Why Make?

Make is the most affordable paid option for demo alerts — $10.59/mo for 10,000 credits. The form-specific trigger means you don't need to filter by form ID manually, and the switch() function handles owner-to-Slack mapping without a Code module. The visual builder makes the routing logic transparent.

The trade-off vs. n8n is that Make's free plan caps at 1,000 credits/month (~300 demo bookings), while self-hosted n8n is unlimited. For teams processing under 300 demos/month, Make's free plan works.

How it works

  • Watch Form Submissions fires when someone submits your demo booking form
  • Get a Contact fetches the full CRM record with enrichment data
  • Set Variable with switch() maps the HubSpot owner ID to a Slack user ID
  • Slack Create a Message sends a Block Kit DM to the assigned rep

Step 1: Add a Watch Form Submissions trigger

Create a new scenario. Add a HubSpot CRM -> Watch Form Submissions module:

  • Connection: Your HubSpot OAuth connection
  • Form: Select your demo booking form
  • Limit: 10 (per poll cycle)

This module fires when new submissions arrive for the specified form.

Instant vs. scheduled

Set the scenario schedule to Immediately for the fastest response. Make will check for new submissions as frequently as your plan allows.

Step 2: Get the contact details

Add a HubSpot CRM -> Get a Contact module:

  • Contact ID: Use the contact ID from the form submission
  • Properties: firstname, lastname, email, jobtitle, company, numberofemployees, industry, hubspot_owner_id, hs_analytics_source

Step 3: Map owner to Slack user ID

Add a Tools -> Set Variable module to look up the Slack user ID:

  • Variable name: slackUserId
  • Value:
{{switch(2.hubspot_owner_id;
  "12345678"; "U01AAAA";
  "23456789"; "U02BBBB";
  "34567890"; "U03CCCC";
  "45678901"; "U04DDDD";
  "C_FALLBACK_CHANNEL")}}

The last value is the fallback -- if the owner isn't in the map, post to a channel instead of DM'ing.

Switch vs. lookup table

Make's switch() function works for a small team. For larger teams, use a Data Store or Google Sheet as a lookup table -- it's easier to update without editing the scenario.

Step 4: Send a Slack DM with Block Kit

Add a Slack -> Create a Message module:

  • Connection: Your Slack connection
  • Channel ID: {{slackUserId}}
  • Blocks:
[
  {
    "type": "header",
    "text": { "type": "plain_text", "text": "🔥 Demo Booked!" }
  },
  {
    "type": "section",
    "fields": [
      { "type": "mrkdwn", "text": "*Name:*\n{{2.firstname}} {{2.lastname}}" },
      { "type": "mrkdwn", "text": "*Title:*\n{{2.jobtitle}}" },
      { "type": "mrkdwn", "text": "*Company:*\n{{2.company}} ({{2.numberofemployees}} employees)" },
      { "type": "mrkdwn", "text": "*Industry:*\n{{2.industry}}" },
      { "type": "mrkdwn", "text": "*Source:*\n{{2.hs_analytics_source}}" }
    ]
  },
  {
    "type": "actions",
    "elements": [
      {
        "type": "button",
        "text": { "type": "plain_text", "text": "View Contact" },
        "url": "https://app.hubspot.com/contacts/YOUR_PORTAL_ID/contact/{{2.id}}",
        "style": "primary"
      }
    ]
  }
]

Step 5: Schedule and activate

  • Set the scenario schedule to Immediately
  • Toggle the scenario to Active

Troubleshooting

Common questions

How does Make compare to Zapier for this use case?

Make is cheaper ($10.59/mo vs $29.99/mo for Zapier Professional) and its switch() function handles owner mapping without a Code step. Zapier's advantage is slightly simpler setup and form-specific triggers. Both poll for new submissions — neither is truly real-time.

Can I use a Data Store instead of switch() for the owner mapping?

Yes. For teams with 10+ reps, a Make Data Store is easier to maintain — you update the mapping in the Data Store instead of editing the scenario. Add a Data Store: Search Records module before the Slack step to look up the Slack user ID by HubSpot owner ID.

What happens if two demo bookings arrive at the same time?

Make processes them sequentially in the same execution cycle. Each booking generates its own Slack alert. The scenario handles multiple submissions per poll cycle automatically via the Watch module's built-in iteration.

Cost

  • Free plan: 1,000 credits/month. Each demo booking uses ~3 credits (trigger + get contact + Slack). Handles ~300 demo bookings/month on free.
  • Core plan: $10.59/mo for 10,000 credits if you need more volume.

Looking to scale your AI operations?

We build and optimize automation systems for mid-market businesses. Let's discuss the right approach for your team.