Automatically Log Every Calendly Booking as a Notion Page for Consultants
When a new meeting is booked through Calendly, this workflow instantly creates a structured Notion page with the client details, meeting time, and event type. Consultants never have to manually copy booking information again.
- 1
Set up the Calendly Webhook Trigger
Add a
Calendly Triggernode to your canvas. Connect your Calendly account using an API key (found in Calendly under Account > Integrations > API & Webhooks). Set theEventsfield toinvitee.createdso the workflow fires only when someone books a meeting. Copy the webhook URL from this node and paste it into your Calendly webhook settings. - 2
Extract the Key Booking Fields
Add a
Setnode after the trigger. Create four fields: setclientNameto{{ $json.payload.invitee.name }},clientEmailto{{ $json.payload.invitee.email }},meetingTimeto{{ $json.payload.event.start_time }}, andeventTypeto{{ $json.payload.event_type.name }}. This cleans up the raw webhook data into simple variables for the next step. - 3
Create a Notion Database Page
Add a
Notionnode and set the operation toCreateaDatabase Page. Connect your Notion account via the built-in OAuth integration. SetDatabase IDto the ID of your bookings database in Notion (copy it from the database URL). Map the Notion page properties:Nameto{{ $json.clientName }},Emailto{{ $json.clientEmail }},Meeting Timeto{{ $json.meetingTime }}, andEvent Typeto{{ $json.eventType }}. Make sure your Notion database has matching property names and types (Text and Date).
Frequently asked questions
How do I find my Notion Database ID?
Open your Notion database in a browser. The URL will look like notion.so/yourworkspace/abc123def456. The long string of characters after the last slash and before any question mark is your Database ID. Copy and paste that into the Notion node's Database ID field.
Why does Calendly require a paid plan for webhooks?
Calendly restricts webhook access to their Standard plan and above because webhooks use their API infrastructure. As an alternative on the free plan, you can use Calendly's Zapier integration to forward events to an n8n webhook URL, though this adds an extra step.
Can I add extra fields like meeting notes or a preparation checklist to the Notion page?
Yes. In the Notion node you can add as many property mappings as you like. For static content like a checklist template, simply add a `Children` block in the Notion node parameters with your default text. You can also add another `Set` node before the Notion node to build any additional fields you need.