Automation with n8n & Make
The combination of LockMyCal and n8n (or Make or Zapier) lets you build a completely self-sufficient, private and scalable automation system without having to pay expensive monthly fees for commercial integration platforms.
1. Examples of automated scenarios
graph LR
LMC["LockMyCal Webhook"] --> N8N["n8n Automation Node"]
N8N --> Slack["Slack / Discord Alert"]
N8N --> CRM["CRM: Raynet / HubSpot / Pipedrive"]
N8N --> Invoice["Invoicing: Fakturoid / iDoklad"]
N8N --> SMS["SMS Reminder: Twilio"]
- Creating a contact and a deal in the CRM: After a booking is confirmed, the client is automatically created in the CRM and a business case is planned with the data from the booking (name, email, phone, company).
- Instant team notification: Sending a message with all the meeting details to a specific channel in Slack, Microsoft Teams or Telegram.
- Automatic invoicing: After capturing the
meeting.createdevent for a paid meeting, n8n generates an invoice or tax document in your accounting software and sends it to the client. - Pre-meeting SMS notifications: Scheduling an SMS message 2 hours before the start of the meeting to minimize no-shows.
2. Setting up the n8n Webhook node
- In n8n, create a new workflow and add the Webhook trigger node.
- Set:
- HTTP Method:
POST - Path:
lockmycal-booking - Response Code:
200
- HTTP Method:
- Copy the generated Test URL (for testing) or Production URL.
- In the LockMyCal dashboard, paste this address in Automation → Webhooks.
- Create a test booking to load the data structure into n8n.
3. Processing data in the n8n Code node
Access to the fields from the webhook is straightforward:
// Getting the basic information about the booking
const meeting = $json.data.meeting;
return {
meetingId: meeting.id,
meetingTitle: meeting.title,
startTime: meeting.start_time,
clientName: meeting.attendee.name,
clientEmail: meeting.attendee.email,
meetUrl: meeting.urls.meeting,
company: meeting.attendee.company || 'N/A'
};