Calendly with Astro
A booking link is easy. The useful setup carries context into the meeting: who booked, where they came from, what they wanted and what should happen if they cancel or reschedule.
Calendly at a glance
- What I do
- Embed Calendly in Astro with prefilled details, campaign attribution, CRM updates and a widget that does not slow every visitor down.
- Typical setup
- Adds 1–3 days
- How it is bought
- Part of a migration scope, or a Continuous development request once the site is yours
- Category
- Forms and scheduling
Setup
How I set up Calendly
I choose a booking link or an embed based on the page. An embed keeps scheduling on-site, and either setup needs deliberate handling of the booking details and the attribution behind them.
I keep the widget off the critical path where I can. A button or a light placeholder loads first, and Calendly loads when somebody wants to book.
I connect bookings, cancellations and reschedules to the CRM and notification workflows you need, and verify that completed bookings are recorded correctly in analytics.
How the handoff works
- 01
Click
The visitor opens the booking
- 02
Context
Page, campaign and known fields prefilled
Key handoff
- 03
Booked
The event created in Calendly
- 04
CRM
A record, with the source attached
- 05
Changes
Cancel and reschedule handled the same way
Why this is the key handoff
The booking is the easy half. What decides whether the meeting is useful is the context that arrives with it: who booked, what they came from, and what the CRM is supposed to do when they cancel. A link on a button does none of that.
Included
What gets connected
-
Inline, popup or routing-form embeds on Astro pages
-
Prefilled name, email and custom answers where available
-
UTM parameters passed into Calendly
-
Webhooks or downstream automation for booked and canceled events
-
CRM updates and conversion tracking
Before you add it
What to watch out for
- 01
Track completed bookings, not just booking-page visits
The embed is an iframe, so page views, scroll and click tracking stop at its boundary. A completed booking is measured through Calendly's booking events or webhooks.
- 02
Changes to booking questions can break prefilled answers
Custom answers are prefilled by position rather than by name, so adding, removing or reordering a question can send an answer to the wrong field or to none at all. The booking still works, which is why I test the mappings again after the questions change.
- 03
Campaign attribution needs an end-to-end check
The embed can pick campaign parameters up from the page it sits on, and that is not the same as them arriving on the record. I verify that they reach the booking and the connected CRM, including when somebody lands on one page and schedules from another.
More tools
Keep exploring
-
Typeform
Embed Typeform in Astro with hidden fields, attribution, completion handling and downstream delivery to the tools that need the answers.
Adds 1–2 days
-
Google Analytics
GA4 and Tag Manager set up on an Astro site with clean events, consent behavior and performance-conscious loading.
Adds 2–4 days
-
Salesforce
Site forms that create the right Salesforce records, preserve attribution and fail visibly when Salesforce rejects a submission.
Adds 3–5 days
Let me plan your next step.
I can scope a migration. Send a brief and I will reply by email with next steps.