Cal.com logo

Turn callback requests into on-call bookings

Every callback request becomes a Support call booking, with the issue in the notes and a real slot instead of a queue position.

When this happens

New Submission on your "Request a callback" form

Do this

Create a booking on the "Support call" event type with the customer's email and issue summary in the booking notes

One-directional. A submission triggers the action — nothing is written back into your form.

Support queues hide how long a promise has been outstanding. Booking the callback instead of queuing it gives the customer a time, the agent a calendar entry, and the team one view of everything committed to today.

Support teams on a rota set this up when "we'll call you back" keeps slipping. The customer's own answer about when they can talk sets the start, and the reason they gave travels into the booking, so whoever is on call opens the invite already knowing what the call is about.

Setting it up

  1. 1

    Copy the Callback Request Form template and make the optional email question required — Cal.com needs an invitee email address, so an anonymous callback cannot be booked.

  2. 2

    Rework Best Time to Call so it returns a real date and time rather than a loose phrase; a dropdown of half-hour windows across your support hours keeps the answers mappable.

  3. 3

    In Cal.com, set the Support call event type's location to the attendee's phone number, so the agent dials from the invite instead of joining a video room.

  4. 4

    Assign that event type to the on-call rota — a team event type with round-robin assignment if the rota rotates daily.

  5. 5

    Build the Zap on formformform's New Submission trigger and point it at the callback form.

  6. 6

    In the Cal.com action, map Your Name to the attendee, the email answer to the attendee email, and Phone Number into the booking location.

  7. 7

    Send Reason for Call into the booking title and the free-text description question into the booking notes, so the entry is readable without opening the response.

  8. 8

    Submit a test callback for a slot inside your support hours, confirm it lands on the on-call calendar, then turn the Zap on.

What maps where

Using the Callback Request Form as the starting point. These are its real fields — swap in your own and the mapping works the same way.

Form fieldCal.com
Your NameAttendee name on the Support call booking
Email Address (optional)Attendee email — make this question required, as Cal.com sends its confirmation here
Phone NumberBooking location, so the agent dials straight from the calendar entry
Best Time to CallBooking start time
Reason for CallBooking title, after the event type name
What's This About?Booking description the on-call agent reads first

Variations worth knowing

Send urgent callbacks to a shorter event type

Filter on Reason for Call in Zapier. Anything flagged as an outage books a 15-minute urgent slot with a short minimum notice, everything else takes the standard Support call. One form, two Cal.com actions, no separate urgent form to maintain.

Only ask for a slot when the customer wants a phone call

Conditional logic can hide Best Time to Call unless the customer says they would rather talk than exchange emails. Add a Zapier filter that stops runs with an empty slot, and email-only requests stay in your responses without touching the calendar.

If something isn't arriving

Bookings fail for customers who left the email question blank.

Cal.com will not create a booking without an invitee email. Make the question required in the form rather than filtering blanks out in Zapier, so the customer learns at submit time instead of waiting for a call that was never scheduled.

Two agents end up holding the same callback.

That means the Zap ran twice, usually from a double-clicked submit button. Add a de-duplication or filter step keyed on the email address and slot, then delete the extra booking in Cal.com; the form response is untouched, since nothing is written back.

Frequently asked questions

Can a customer pick a slot the on-call agent has already filled?

Yes, because the form cannot read your Cal.com availability. Restrict the slot question to your support hours and let Cal.com reject genuine clashes, or turn on requires confirmation so the agent accepts each booking before it counts as final.

Does the ticket close when the callback is booked?

No. This flow only creates the Cal.com booking. If you track callbacks in a helpdesk as well, add a second Zapier action on the same trigger so one submission opens the ticket and schedules the call in a single run.

What if the customer replies to Cal.com's confirmation instead of the form?

That reply goes to whoever hosts the event type, and Cal.com owns the thread from there. The original submission is unchanged, so keep the form response as the record of what the customer first reported and when.

Related automations

Build the form first

The automation needs somewhere to fire from. Publish a form, connect it once, and every submission from then on runs this flow.

Start free