Opening Problem Statement
Meet Sarah, a busy consultant who schedules dozens of client meetings weekly using Calendly. Every time a new client books a session, Sarah manually copies their details into her Notion CRM. This tedious task takes at least 30 minutes daily, and she often makes errors like missing email addresses or misspelling names. Over weeks, these small mistakes add up, leading to communication issues and lost opportunities. Sarah dreamed of an effortless way to automatically update her Notion database when clients book meetings on Calendly.
What This Automation Does
This workflow bridges Calendly and Notion using n8n automation. When a new invitee books a meeting, it triggers the workflow to create a new page in a specific Notion database with the invitee’s details. Here’s what happens exactly:
- Automatically captures “invitee.created” events from Calendly.
- Extracts key invitee information like name and email from the event payload.
- Creates a new page entry in a designated Notion database configured for client tracking.
- Populates Notion properties such as Name (title), Email, and Status automatically.
- Eliminates manual data entry and reduces errors in client records.
- Saves Sarah approximately 30 minutes daily, allowing her to focus more on clients than admin.
Prerequisites ⚙️
- n8n account (self-hosted or cloud) 🔌
- Calendly account with API access and an active event type for scheduling 📆
- Notion account with a database set up for client info and API integration enabled 🔑
- API Credentials for both Calendly and Notion nodes to authenticate requests
Step-by-Step Guide
1. Connect Your Calendly Trigger Node
Navigate to the n8n editor and add the Calendly Trigger node. This node listens for when a new invitee schedules a meeting.
- Click + Add Node → Search for Calendly Trigger
- Set the trigger event to
invitee.createdto catch new invitees - Under credentials, add your Calendly API key
- Save and test the node by booking a test meeting on Calendly to verify the webhook fires
Common mistake: Forgetting to select the correct event type (invitee.created) will result in no trigger firing.
2. Configure the Notion Node to Add Database Pages
Add the Notion node to create new pages with invitee data.
- Click + Add Node → Search for Notion
- Select resource as
databasePage - Enter your Notion database ID where client info is stored
- Under properties, bind fields dynamically using expressions:
Name (title):{{$json["payload"]["invitee"]["name"]}}Email (email):{{$json["payload"]["invitee"]["email"]}}Status (select): Use your Notion select option’s ID as a static value- Add Notion API credentials
- Save and test by running the workflow with real Calendly data
Common mistake: Using incorrect expressions or missing the database ID will cause page creation errors.
Customizations ✏️
- Add More Invitee Properties: In the Notion node, add more property mappings from Calendly payload like phone numbers or event types by updating the
propertyValuesarray. - Change Status Select Dynamically: Replace the static selectValue with an expression based on invitee status from Calendly to track confirmed or canceled meetings.
- Send Notifications: Add a Slack or Email node after Notion to notify your team when new clients book meetings.
Troubleshooting 🔧
- Problem: “Webhook not firing when a new invitee schedules”
Cause: Calendly webhook not registered properly or incorrect event selected
Solution: Double-check Calendly Trigger node event settings and webhook registration in Calendly dashboard. - Problem: “Notion page not created or error 400”
Cause: Wrong database ID or malformed property expressions
Solution: Verify database ID format from Notion integration settings and test expressions in n8n expression editor.
Pre-Production Checklist ✅
- Verify Calendly API credentials and webhook registration
- Confirm Notion database ID and API token with proper permissions
- Run test scheduling events on Calendly to trigger the workflow
- Check newly created pages in Notion for accurate data
- Back up your Notion database before enabling continuous automation
Deployment Guide
Activate your workflow by switching the toggle to “Active” in n8n editor. Monitor runs via the executions panel for errors. For long-term reliability, consider setting up alerting for failures in n8n. Optionally self-host n8n using providers like Hostinger for full control.
Conclusion
By following this guide, you’ve built a powerful automation linking Calendly invitee events to your Notion CRM seamlessly. This cuts down admin time by at least 30 minutes daily and reduces human error in client record keeping. Next, you might explore adding reminder notifications or integrating Slack to enhance team awareness of new appointments. Keep automating to reclaim your time and boost your productivity!