LunaCal Integration
Connect LunaCal to Heffl to automatically create contacts and meeting tasks when someone books a meeting through your LunaCal scheduling page.LunaCal currently requires a manual webhook paste step in LunaCal. Heffl shows the webhook URL and setup instructions in a guided modal during connection.
Overview
LunaCal is a scheduling tool that lets clients and prospects book meetings with you. With this integration, Heffl automatically:- Creates contacts from new booking attendees (or matches existing ones)
- Creates meeting tasks linked to the right contact or deal
- Updates meetings when bookings are rescheduled
- Removes meetings when bookings are cancelled
Prerequisites
- A LunaCal account with at least one event type
- A Heffl account
Setup Instructions
Step 1: Connect LunaCal in Heffl
- In Heffl, go to Settings → Integrations
- Find LunaCal and click Connect
- A setup modal opens and shows a Connecting state while Heffl creates your integration
- When connected, the same modal shows your unique Webhook URL and setup instructions
- Copy the Webhook URL — you’ll need it in the next step
Step 2: Add the Webhook in LunaCal
You need to add the webhook URL to each LunaCal event type you want to sync with Heffl.- Log into LunaCal
- Open the event type you want to connect (e.g., “30 Min Meeting”)
- Go to the Advanced tab
- Click New Webhook
- Paste the Webhook URL you copied from Heffl
- Select the following events:
- Booking Created
- Booking Cancelled
- Booking Rescheduled
- Save the webhook
Repeat Step 2 for each LunaCal event type you want to sync. You can use the same webhook URL for all event types.
Step 3: Test the Connection
- In LunaCal’s webhook settings, click the Ping Test button
- You should see a successful response:
{ "ok": true, "status": 200, "message": "Webhook received" } - To fully test, create a test booking through your LunaCal scheduling page
- Check Heffl — a new contact and meeting task should appear
How It Works
New Bookings
When someone books a meeting through LunaCal:- Webhook received — LunaCal sends the booking details to Heffl
- Contact matching — Heffl searches for an existing contact by email
- Contact creation — If no match is found, a new contact is created automatically
- Deal detection — If the contact has an active deal, the meeting is linked to that deal
- Task created — A meeting task is created with the booking details (time, event name, location, form responses)
Rescheduled Bookings
When a booking is rescheduled:- The existing meeting task is updated with the new date and time
- No duplicate tasks are created
Cancelled Bookings
When a booking is cancelled:- The corresponding meeting task is deleted from Heffl
Contact & Deal Assignment
| Scenario | Where the task is created |
|---|---|
| New contact (no prior record) | Contact record |
| Existing contact with an active deal | Deal record |
| Existing contact, parent company has a deal | Parent company’s deal |
| Existing contact, no deal | Contact record |
Supported Events
| LunaCal Event | Heffl Action |
|---|---|
| Booking Created | Creates contact + meeting task |
| Booking Cancelled | Deletes the meeting task |
| Booking Rescheduled | Updates the meeting time |
Other LunaCal events (Booking Requested, Booking Rejected, Booking Payment Initiated, Booking Paid) are not processed by Heffl at this time.
Troubleshooting
Bookings not appearing in Heffl
Bookings not appearing in Heffl
Possible causes:
- Webhook URL not configured in LunaCal
- Wrong event types selected in the webhook settings
- Integration disconnected in Heffl
- Verify the webhook URL is correctly pasted in LunaCal’s Advanced tab
- Ensure Booking Created, Booking Cancelled, and Booking Rescheduled are selected
- Check that the LunaCal integration is connected in Settings → Integrations
- Use the Ping Test button in LunaCal to verify the webhook is reachable
Duplicate contacts being created
Duplicate contacts being created
Possible causes:
- The attendee is using a different email than what’s in Heffl
- Heffl matches contacts by email (case-insensitive). Ensure the email in LunaCal matches the contact’s email in Heffl
Cancelled bookings still showing in Heffl
Cancelled bookings still showing in Heffl
Possible causes:
- Booking Cancelled event not selected in LunaCal webhook settings
- Edit the webhook in LunaCal and ensure the Booking Cancelled event is selected
Disconnecting
To disconnect LunaCal:- Go to Settings → Integrations
- Find LunaCal and click the Disconnect button
FAQ
Can I use the same webhook URL for multiple event types?
Can I use the same webhook URL for multiple event types?
Yes. You can paste the same webhook URL into every LunaCal event type. All bookings will be synced to the same Heffl account.
Does this work for all team members?
Does this work for all team members?
The integration is connected per-user. Each team member who wants their LunaCal bookings synced should connect their own LunaCal integration in Heffl.
What data is sent to Heffl?
What data is sent to Heffl?
LunaCal sends: attendee name and email, event title, start/end time, location, and form responses. Heffl uses this to create the contact and meeting task.
Is the webhook secure?
Is the webhook secure?
Each integration gets a unique, randomly generated webhook URL that acts as an authentication token. Only requests sent to your specific URL will be processed.