Generate single-use personalized Calendly links with Google Sheets tracking & Slack alerts
This n8n template implements a Calendly Booking Link Generator that creates single-use, personalized booking links, logs them to Google Sheets, and optionally notifies a Slack channel Who's it for This template is des...
Template notes
This n8n template implements a Calendly Booking Link Generator that creates single-use, personalized booking links, logs them to Google Sheets, and optionally notifies a Slack channel
Who's it for
This template is designed for teams and businesses that send Calendly links proactively and want to generate trackable, single-use booking links on demand. It’s perfect for:
- Sales and SDR teams sending 1:1 outreach and needing unique booking links per prospect - Customer success and support teams who want prefilled, one-click rescheduling or follow-up links - Marketing and growth teams that want UTM-tagged booking links for campaigns - Ops/RevOps who need a central log of every generated link for tracking and reporting
How it works / What it does
This workflow turns a simple HTTP request into a fully configured single-use Calendly booking link:
1. Webhook Trigger (POST) - Receives JSON payload with recipient details: - name, email, optional eventtypeuri, optional utmsource 2. Configuration & Input Normalization - Set Configuration extracts and normalizes: - recipientname, recipientemail - requestedeventtype (can be empty) - utmsource (defaults to "n8n" if not provided) 3. Calendly API – User & Event Types - Get Current User calls GET /users/me using Calendly OAuth2 to get the current user URI - Extract User stores useruri and username - Get Event Types calls GET /eventtypes?user={useruri}&active=true to fetch active event types - Select Event Type: - Uses requestedeventtype if provided, otherwise selects the first active event type - Stores event type URI, name, and duration (minutes) 4. Create Calendly Single-Use Scheduling Link - Create Single-Use Link calls POST /schedulinglinks with: - owner: selected event type URI - ownertype: "EventType" - maxeventcount: 1 (single use) 5. Build Personalized Booking URL - Build Personalized Link: - Reads the base bookingurl from Calendly - Appends query parameters to prefill: - name (encoded) - email (encoded) - utmsource - Stores: - basebookingurl - personalizedbookingurl - recipientname, recipientemail - eventtypename, eventduration - linkcreatedat (ISO timestamp) 6. Optional Logging and Notifications - Log to Google Sheets (optional but preconfigured): - Appends each generated link to a “Generated Links” sheet - Columns: Recipient Name, Recipient Email, Event Type, Duration (min), Booking URL, Created At, Status - Notify via Slack (optional): - Posts a nicely formatted Slack message with: - recipient name & email - event name & duration - clickable booking link 7. API Response to Caller - Respond to Webhook returns a structured JSON response: - success - bookingurl (personalized) - baseurl - recipient object - event object (name + duration) - createdat - expires explanation ("Single-use or 90 days")
The result is an API-style service you can call from any system to generate trackable, single-use Calendly links.