Create a HubSpot CRM contact from each new Cal.com booking
Each time someone books a meeting with you through Cal.com, this workflow creates a contact in HubSpot CRM from the attendee details, so the people who book calls are in your CRM before the meeting starts.
Cal.com
HubSpot CRM2 steps Setup ~5 min Used on 3.5k sites Free to import

What this workflow does
A booking page brings in prospects, clients and partners, but Cal.com isn't where you track relationships. If HubSpot is your CRM, each person who books should be there too, with their name and email ready for follow-up. This workflow sends them across when they book.
The Cal.com trigger, Booking Created, fires when a booking is created. Rescheduled and cancelled bookings have their own triggers and don't start this workflow. FlowMattic receives the booking data, and the HubSpot CRM step, Create Contact, creates a contact from the attendee values you map.
Create Contact makes a new record each time and doesn't update one. Someone who books a second meeting is sent to HubSpot again. HubSpot may refuse an email it already has, and Task History shows the response on that step. Book a test meeting after import to see the fields Cal.com sends.
Consultant booking discovery calls
Everyone who books a discovery call through your Cal.com link lands in HubSpot, where you add notes after the call and track them as leads.
Sales team with round-robin booking
Prospects who book with any rep on the team get a HubSpot contact, so managers can see all new prospects in one CRM view.
Coach running free intro sessions
People who book a free intro session are saved to HubSpot, ready for the email follow-up you send from the CRM.
How this workflow runs
What happens at each step once the workflow is on, and what you need before you import it.
Cal.com Booking CreatedRuns when a booking is created in Cal.com. The attendee's details and the booking information are passed on to map into HubSpot.
HubSpot CRM Create ContactCreates a new contact in HubSpot CRM from the Cal.com attendee values you map, such as name and email. Connect your HubSpot account on import and check a test booking.
What you need
- FlowMatticCore
- Cal.com AccountAccount
- HubSpot CRM AccountAccount
After importing, map your own data. To keep the template universal, not every step is pre-filled. Open each step in the builder and connect your accounts and fields (channels, lists, sheets, recipients) before you switch the workflow on.
Make it yours
Changes worth making after you import it.
- Map the event type or booking time into a HubSpot contact property, so you can see what each contact first booked.
- Add a Filter after the trigger on the event type if only some Cal.com event types, such as sales calls, should create contacts.
- Add HubSpot's Create Deal action after Create Contact if a booking means a new opportunity in your pipeline.
Questions about this workflow
What if a Cal.com attendee is already a HubSpot contact?
The step only creates contacts. HubSpot may refuse a request for an email address it already holds, and Task History shows the response. The existing contact isn't changed.
Do rescheduled Cal.com bookings create another contact?
No. Rescheduling uses Cal.com's separate Booking Rescheduled trigger, which this workflow doesn't listen to. A brand-new booking by the same person does start a run.
Are other guests on the Cal.com booking added?
Only the values you map. Check a test booking to see how Cal.com sends attendees, and map the one you want as the HubSpot contact.
Does this work for team event types in Cal.com?
The trigger fires for bookings in the Cal.com account you connect. Run a test booking on a team event type to confirm it reaches FlowMattic.
More CRM & Contacts workflows
Other ready-to-import templates from the same category.






Import this workflow into your WordPress site
Download the JSON, import it from the Workflows screen and connect your accounts. Every run stays on your server, with no per-task fees.
30-day money-back guarantee Unlimited workflows and runs Self-hosted