AI for SalesIntermediate25 minutesSalesLead qualificationHubSpotSlack

Qualify inbound demo requests with AI and create HubSpot deals only for in target leads

Every "book a demo" request kicks off Aura. She asks the right qualifying questions, decides if the lead is in target, and only then creates a HubSpot deal and pings the AE in Slack. Wrong fit leads get a polite close. Zero SDR time wasted on the in target ones either, because Aura already pre qualified them.

The problem

Inbound demo forms generate noise. Students, competitors doing recon, agencies pitching their services, individual operators with no budget, and out of ICP companies all land in the same bucket as your real prospects. Most "book a demo" requests aren't ready to buy, but every one of them lands on a human SDR who has to do the qualifying themselves. That is the single most expensive hour of the day to waste.

The outcome

Inbound lead submits the demo form. Aura opens a conversation, asks the qualifying questions (team size, current tool, use case, urgency), and produces a structured verdict. If the lead is in target, Aura creates a HubSpot deal with the conversation summary pre populated and pings the assigned AE in Slack. If the lead is not in target, Aura sends a polite "we don't think we're the right fit yet" message with a link to the free trial or self serve plan. The SDR queue only sees qualified, contextualized leads.

Tools you'll use
AuraFlowAI MissionREST API blockHubSpot API

The Flow you'll build

This is the exact Flow as it appears in the Customerly editor. Drag it around, then follow the steps below to build it.

Step by step

  1. 1

    Create a Flow triggered by a new demo form submission

    Flow

    In Customerly, go to AI Studio → Flows → New Flow. Name it Demo qualification. Set the trigger to Customer Activity on Page and select the client event your site fires when the demo form is submitted (for example demo_requested). If demo requests come in through the Messenger instead, use New Conversation Started and narrow the audience to visitors on your demo page.

    The Flow runs the second the lead submits. There's no SDR triage in between.

    textFlow name
    Demo qualification
    
  2. 2

    Add an AI Mission that runs the qualifying conversation with the lead

    AI Mission

    Add an AI Mission step. Unlike a static "fill this form" qualifier, the Mission talks to the lead in chat, asks the right questions in order, handles follow ups, and produces a structured qualification verdict. This is the step BRUM used to convert 18.5% of qualified chats into paying customers.

    Paste the prompt below. Aura will run the conversation and emit a JSON verdict the rest of the Flow branches on.

    promptAI Mission prompt
    You are an SDR for Customerly, an AI customer service platform for SaaS teams.
    
    Your job is to qualify this inbound demo request through a short conversation. Be warm, conversational, and brief. Don't sound like a form.
    
    Ask, in this order, only the questions you don't already know the answer to from the form submission:
    
    1. What is the size of your customer support team today?
    2. What tool are you using for customer support right now?
    3. What is the main thing you want AI to help with (resolution, qualification, routing, knowledge base, other)?
    4. What is the timeline (this quarter, next quarter, just exploring)?
    
    Stop asking the moment you have a complete picture. Don't push past four questions.
    
    Then decide if the lead is IN TARGET for Customerly. The ICP is:
    
    - SaaS company (B2B or B2C SaaS)
    - 5+ person support, sales, or success team OR clear plans to scale support within 6 months
    - Currently using Intercom, Zendesk, Help Scout, Front, HubSpot Service, or has no tool yet
    - Has a real timeline (this quarter or next quarter)
    
    NOT in target:
    
    - Students, individual operators with no team
    - Direct competitors (Intercom, Zendesk, Decagon, Ada, Forethought employees)
    - Agencies pitching their services
    - "Just exploring" with no timeline AND no team size
    
    Output exactly this JSON and nothing else:
    
    {
      "verdict": "in_target | not_in_target",
      "team_size": "<answer to question 1>",
      "current_tool": "<answer to question 2>",
      "primary_use_case": "<answer to question 3>",
      "timeline": "<answer to question 4>",
      "summary": "<two sentence brief for the AE: who they are, what they need, why now>",
      "reason_not_in_target": "<one sentence, only if verdict is not_in_target>"
    }
    
  3. 3

    Branch on the verdict and stop wrong fit leads here

    Flow

    Add a Conditional step right after the Mission. Read verdict:

    • in_target → continue to the HubSpot + AE notification steps below.
    • not_in_target → skip to the polite close step further down. No deal created. No human time burned.
    textConditional rule
    {{mission.output.verdict}} == "in_target"
    
  4. 4

    Create a HubSpot deal pre populated with the qualification context

    REST API block

    Add a REST API step on the in_target branch. Create a HubSpot deal so the AE walks into the meeting with the qualification summary already in the CRM, not living in a separate chat log.

    You'll need:

    • A HubSpot private app token with crm.objects.deals.write and crm.objects.contacts.write scopes
    • The owner ID of the AE assigned to inbound demos (or use a round robin Mission to pick the right one)
    • The pipeline ID and dealstage ID for your inbound new business pipeline
    httpHTTP method + endpoint
    POST https://api.hubapi.com/crm/v3/objects/deals
    
    httpRequest headers
    Authorization: Bearer pat-eu1-XXXXXXXXX
    Content-Type: application/json
    
    jsonRequest body
    {
      "properties": {
        "dealname": "Demo: {{company.name}} ({{contact.email}})",
        "pipeline": "default",
        "dealstage": "presentationscheduled",
        "hubspot_owner_id": "12345678",
        "amount": "0",
        "description": "{{mission.output.summary}}\n\nTeam size: {{mission.output.team_size}}\nCurrent tool: {{mission.output.current_tool}}\nUse case: {{mission.output.primary_use_case}}\nTimeline: {{mission.output.timeline}}\n\nConversation: {{conversation._url}}",
        "lead_source": "Customerly demo form"
      },
      "associations": [
        {
          "to": { "id": "{{contact.hubspot_contact_id}}" },
          "types": [{ "associationCategory": "HUBSPOT_DEFINED", "associationTypeId": 3 }]
        }
      ]
    }
    
  5. 5

    Ping the AE in Slack with the qualification summary

    REST API block

    Add a second REST API step on the in_target branch. Slack alert to the AE with the conversation summary and a direct link to take over the chat. The AE jumps in with the lead's context already in hand.

    httpHTTP method + endpoint
    POST https://hooks.slack.com/services/T0000/B0000/XXXXXXXXX
    
    jsonRequest body
    {
      "text": "Qualified demo: {{company.name}}",
      "blocks": [
        { "type": "header", "text": { "type": "plain_text", "text": "Qualified inbound: {{company.name}}" } },
        { "type": "section", "text": { "type": "mrkdwn", "text": "{{mission.output.summary}}" } },
        { "type": "section", "fields": [
            { "type": "mrkdwn", "text": "*Team size*\n{{mission.output.team_size}}" },
            { "type": "mrkdwn", "text": "*Current tool*\n{{mission.output.current_tool}}" },
            { "type": "mrkdwn", "text": "*Use case*\n{{mission.output.primary_use_case}}" },
            { "type": "mrkdwn", "text": "*Timeline*\n{{mission.output.timeline}}" }
          ]
        },
        { "type": "actions", "elements": [
            { "type": "button", "text": { "type": "plain_text", "text": "Take over the chat" }, "url": "{{conversation._url}}" }
          ]
        }
      ]
    }
    
  6. 6

    Politely close the conversation for not in target leads

    Aura

    On the not_in_target branch, add an Aura reply step (or a static Send Message step if you want exact wording). Aura politely tells the lead this isn't the right fit and offers a self serve path. No SDR time spent. No lead ghosted.

    textSend Message template (not_in_target branch)
    Thanks so much for the interest in Customerly! Based on what you shared, we don't think we're the right fit for your team right now ({{mission.output.reason_not_in_target}}).
    
    If you'd like to explore on your own, our free trial is open and self serve here: https://app.customerly.io/signup
    
    And we'll be here whenever the timing is right.
    

FAQ

How is this different from a regular lead scoring rule?

Lead scoring rules need fields that the lead has already filled in. Aura asks the missing questions conversationally and gets answers a static form wouldn't. That's why BRUM's variant of this Flow converts 18.5% of qualified inbound chats into paying customers.

Will Aura close real leads as not in target by mistake?

Rarely, if the ICP definition in the prompt is correct. Set the prompt's "in target" rules tightly enough to reflect your real ICP. Run it shadow mode (don't actually close the conversation) for the first week and check the verdicts. Once you trust it, turn the not in target branch live.

Can I add a calendar booking link instead of just notifying the AE in Slack?

Yes. Add a Send Message step on the in_target branch with a Calendly or HubSpot Meetings link. Aura can post the link right after the qualification, so the lead books a slot while the conversation is still warm.

Can this work with Salesforce or Pipedrive instead of HubSpot?

Yes. Swap the deal creation REST API block's endpoint and body to the target CRM's create deal/opportunity API. The Mission prompt and Slack step don't change.

Where can I see a customer running a version of this in production?

BRUM, the digital driving school, uses an on demand variant of this Flow for instructor recruitment and franchise applications. Over six months their qualification flow handled 254 conversations and generated 47 paying customers, an 18.5% conversion rate from inbound chat to closed booking.

Ready to ship this recipe in your workspace?

Book a 1:1 demo and we'll build this Flow live in your Customerly account.