Skip to main content
A voice agent that automatically calls the leads who just filled in a form and helps them book an appointment with your team. The template is designed for cases where you want to reach out to a lead quickly after they’ve left their details on your website, an ad, or any other form. The agent handles contacting the lead, checking your team’s availability, and creating the appointment in Google Calendar. After the call, you can automate updating the lead in HubSpot and sending emails. You can adapt the template to your use case: change the name, the instructions, the hours, the appointment length, the tools, or the workflows as needed.

What it does

It calls whoever just filled in your contact form — from an ad or from the website — and its only goal is to leave a 15-minute appointment booked with your team. It doesn’t sell, doesn’t provide support, and doesn’t explain the product: it finds a slot, confirms it, and ends the call. It’s a single prompt agent in English, with a casual, direct tone using short sentences. It introduces itself as an AI agent from the very first sentence.
The full template is four workflows, but the agent only handles two of them as tools. The other two wrap the call: one originates it and the other collects the outcome once it’s over.

How the call goes

  1. It introduces itself and asks permission. It says it’s an AI, mentions the lead just got in touch, and asks if they have thirty seconds. If the lead sounds annoyed, it says goodbye without pushing.
  2. It asks when suits them. One question per turn, two sentences max. It waits for the lead to name a window or a time.
  3. It checks the schedule. It gives a heads-up with a “give me one second” and calls check_availability. It gets back the free slots in local time.
  4. It offers two options. It only proposes appointments that fit entirely inside a schedule slot. If the time the lead asked for doesn’t fit, it offers the two closest alternatives. If the day is fully booked, the agent asks for another date and checks again.
  5. It asks for explicit confirmation. It repeats the day and time out loud and waits for a yes before touching the calendar. If the lead corrects something, it calls check_availability again with the new details.
  6. It creates the appointment. It calls create_appointment, which re-checks the slot before creating the event. Then it says goodbye and ends the call.
Once the call ends, the Post-call lead management (HubSpot) workflow fires on its own: it detects whether a person answered, whether an appointment was closed, updates the contact in HubSpot, and sends the matching email.

What you need

Getting started

1

Create the agent

In Agents, click Create Agent, select the “Lead management (HubSpot)” template, and click Use template.
2

Fill in the two variables

<<agent_name>> appears twice: in the Identity block and in the greeting of step 1 of the Task Instructions. Change it in both.
3

Adjust the hours and the duration

In the prompt, edit the Call hours block with your team’s real hours. That’s where the agent takes the opening and closing time it passes to check_availability from: if it doesn’t match, neither will the slots it offers.The appointment length ships fixed at 15 minutes and appears in three places in the prompt: in the hours block itself, in the check_availability instructions — next to the example of how late you can offer within a slot — and in the create_appointment ones. Change it in all three.
4

Set up the two tools

Create the Check availability (Google Calendar) and Create appointment (Google Calendar) workflows from the Workflow section under Tools. Both have to point at the same calendar: otherwise the agent offers slots from one schedule and books the appointment in another.This is how you create a workflow without leaving the agent:The names must match exactly — check_availability and create_appointment — because the prompt calls them literally. The “(from template)” suffix added when a workflow is created from a template can be removed by hand once you open it.Both workflows ship with the time zone set to Europe/Madrid. If you operate in a different one, check it before moving on: it’s three fields in Check availability (Google Calendar) and two in Create appointment (Google Calendar).
5

Set up the workflow that originates the call

This agent doesn’t take calls: it makes them. Create the Outbound call trigger (Webhook) workflow from the workflow templates, point your form at its webhook URL, and select this agent there.
6

Set up the follow-up workflow

Add Post-call lead management (HubSpot) as a post-call workflow from the agent’s Workflow section. Without it, the agent still books the appointment, but nothing gets recorded in your CRM and no email is sent. The workflow’s own page also has a few recommendations for taking lead management to the next level.That workflow needs the lead’s email in the mail dynamic variable, which is defined in the outbound-call workflow. Check the corresponding step before considering this done.
7

Turn on the hang-up tool

The prompt ends the call with “and hang up,” but the template ships with no call tools enabled. Turn on Hang Up if you want that step to actually work; otherwise the call stays open until the lead hangs up or it times out from inactivity.
8

Publish the workflows

Each workflow has to be published. If you skip this step, the agent won’t be able to use them.
9

Test and publish

Make a test call booking a real appointment, check it shows up in the calendar at the right time, and publish the agent. To make the test call, you have to click Test.

Example conversation

Before publishing

Keep in mind the following points when setting up your template:
  • Hanging up the call: turn on the Hang Up call tool so the “and hang up” in the closing actually does something; the template ships with none enabled, so without this step the call stays open until the lead hangs up or it times out from inactivity.
  • Marking someone as “do not contact”: if you need a lead flagged this way, you’ll have to add it yourself to the post-call workflow. The prompt notes it at the end of the specific-situations section, but on its own there’s no tool or workflow that applies it.
  • Transferring to a person: add the transfer tool or handle it in the follow-up workflow if you want this to actually happen. By default, when asked to speak to a real person, the agent says it’ll note it down and that the team will follow up, but nothing else happens.
  • Retrying unanswered calls: if you want a retry when the lead doesn’t pick up, you’ll need to build that separately. Each form submission triggers a single call.
  • Canceling or rescheduling appointments: if you need this, you’ll have to add it; the template doesn’t include it.
  • Handling several languages: switch the language selector to Multilingual so the agent detects each lead’s language and replies in that same language. By default it only speaks English, even if the lead switches language.

Next Steps

Outbound call trigger (Webhook)

The workflow that originates the call.

Post-call lead management (HubSpot)

The workflow that collects the outcome.

Check availability

The workflow that queries the free slots.

How to write prompts

If you want to modify the template’s prompt.