Skip to content
Try Free →

The demo_scheduler skill

Last updated: · 4 min read

What the skill does

The most common point where sales loses a hot lead is the gap between "I want a demo" and the demo actually being scheduled. Form submissions, back-and-forth emails, calendar conflicts. By the time a slot is booked, the lead has either ghosted or talked to a competitor.

demo_scheduler closes the gap. When a visitor says "I'd like a demo" or shows similar intent, the bot:

  1. Confirms intent.
  2. Asks 2 to 3 qualifying questions (optional; integrate with sdr_lead_qualifier).
  3. Pulls live Calendly availability for the relevant event type.
  4. Offers 3 suggested slots.
  5. Visitor picks one. Booking happens.
  6. Calendly sends confirmation emails to both parties.

Total time: 30 to 90 seconds depending on how many questions you've configured. The skill is on Growth and above. Requires the Calendly integration connected. Growth+

When the skill fires

Default trigger phrases:

  • "can I see a demo"
  • "I'd like to schedule a call"
  • "let's book a meeting"
  • "is there someone I can talk to"
  • "I want to see the product"

Customize the trigger list under AI Agents > Skills > demo_scheduler > Triggers. Add industry-specific phrases ("can we do a discovery call?", "let's connect").

The skill can also fire automatically when the visitor's intent score for sales conversation crosses a threshold. Tunable under Skills > demo_scheduler > Auto-trigger Threshold.

Multi-event-type routing

Different visitors want different demo types. Configure routing under Skills > demo_scheduler > Routing:

  • Default event type. What gets offered by default.
  • Routing rules. Conditions that route to specific event types.

Examples:

  • Visitor mentions "enterprise" or "100+ users" routes to a 45-minute "Enterprise Discovery" event.
  • Visitor mentions "self-serve" or "trial" routes to a 15-minute "Quick Demo".
  • Visitor is identity-verified as an existing customer routes to a "Customer Success" event.

Rules evaluate in order. First match wins. Default applies if no rule matches.

Slot presentation

The bot presents 3 suggested slots from Calendly's availability. Selection logic:

  • Closest available (highest priority).
  • Next available next-day slot.
  • Next available next-week slot.

The 3 slots cover "as soon as possible", "tomorrow-ish", "later this week" buckets. Visitors who can't make any of the 3 see a "show more times" option that opens a fuller picker.

Time zones auto-detect from the visitor's browser. Slots display in their local time, not yours.

What gets passed to Calendly

When the booking goes through, AskVault sends these fields to Calendly's invitee API:

  • Name (from collect_lead or identity verification).
  • Email (same).
  • Question/Note (a summary of the conversation so far, so the sales rep has context).
  • Custom question answers (mapped from BANT or any pre-demo question answers).

Your Calendly event type's custom questions get pre-filled where possible. If a question requires a specific format AskVault couldn't extract, it asks the visitor in chat first.

Cancellation and rescheduling

Visitors who later want to change their slot:

  • "Can I reschedule my Tuesday demo?" The bot finds the existing booking via the visitor's email and offers new slots.
  • "Cancel my demo." The bot confirms, then calls Calendly's cancellation API.

Both flows require Calendly's write_invitees scope. Verify under Integrations > Calendly > Scopes.

Limits

  • Plan availability. Growth and above.
  • Calendly API rate limits. 100 requests per minute. AskVault stays well under this.
  • End-to-end booking latency. 800 ms to 2 seconds. Customer sees the bot "typing" briefly before slots appear.

Common pitfalls

No slots offered. Your Calendly event has no availability in the next 7 days. Either extend availability, or extend the search window under Skills > demo_scheduler > Search Window.

Visitor picks a slot but booking fails. Calendly's "duplicate booking" protection kicked in (same email already has a future slot for this event). Bot offers to reschedule the existing instead.

Wrong event type offered. Routing rules misclassified. Test rules under Routing > Test Mode with sample visitor profiles.

Calendar invite has wrong details. Pre-fill questions weren't mapped correctly. Check Integrations > Calendly > Custom Question Mapping.

FAQ

Does this work with round-robin Calendly events?

Yes. If your event type is configured as round-robin (Calendly Teams or Enterprise), the booking rotates among your team. AskVault doesn't override Calendly's rotation logic.

Can the bot book multiple people for the same slot?

If your Calendly event allows group bookings (multiple invitees), yes. AskVault asks the visitor for additional invitee emails before booking.

What about Cal.com or other scheduling tools?

Calendly is the only first-party scheduling integration. For Cal.com, SavvyCal, or other tools, use the custom_webhook skill to call your scheduling API.

Does the bot offer slots in the visitor's time zone?

Yes. Auto-detected from the visitor's browser. Slots display in their local zone, not yours.

Can I skip the qualifying questions and book directly?

Yes. Disable the pre-demo questions under Skills > demo_scheduler > Pre-questions = none. The flow becomes: intent detected, slots offered, booking done. Fast but loses context.

Was this page helpful?