n8n-nodes-youcanbookme
v2.4.9
Published
n8n community node for YouCanBookMe — full API capabilities including profiles, bookings, team members, appointment types, and automatic webhook creation.
Maintainers
Readme
n8n-nodes-youcanbookme
An n8n community node package for YouCanBookMe — the online scheduling tool. This package provides a full-featured action node and an automatic-webhook trigger node.
Installation
n8n.cloud / n8n hosted
- Go to Settings → Community Nodes in your n8n instance.
- Search for
n8n-nodes-youcanbookmeand install.
Self-hosted n8n (from zip)
cd ~/.n8n/nodes
npm install /path/to/n8n-nodes-youcanbookme
# Restart n8nCredentials
Create a YouCanBookMe API credential with:
| Field | Where to find it | |---|---| | Account ID | Your YCBM account ID (visible in account settings / URL) | | API Key | Settings → API → Generate Key |
Nodes
YouCanBookMe (Action Node)
Perform any operation against the YouCanBookMe REST API.
| Resource | Operations | |---|---| | Booking | Create, Get, Get Many, Update, Delete | | Profile | Create, Get, Get Many, Update, Delete | | Team Member | Add, Get Many, Update, Delete | | Appointment Type | Create, Get Many, Update, Delete | | Location | Add, Get Many, Update, Delete | | Permission | Invite, Send Invitation Email | | Other | Make a Custom API Call |
Booking — Get Many (filters)
- Filter by profile, date range (
after/before), status (active/cancelled), and free-text search. - Toggle Return All to paginate automatically.
Profile — Create / Update
Pass the full profile object as JSON. All YouCanBookMe profile settings (questions, actions, availability, etc.) are accessible.
Custom API Call
Use Other → Make an API Call to hit any endpoint not explicitly modelled, e.g.:
GET /v1/{accountId}/availableAccounts— list connected calendars for team membersGET /v1/profiles/{profileId}?fields=questions— fetch booking form questions
YouCanBookMe Trigger (Webhook Trigger)
Automatically registers a webhook on the chosen YouCanBookMe profile when the workflow is activated, and removes it when the workflow is deactivated. No manual webhook setup required.
Supported Events
| Event | Description |
|---|---|
| BOOKING_CREATED | New booking confirmed |
| BOOKING_CANCELLED_BY_BOOKER | Booker cancels |
| BOOKING_CANCELLED_BY_OWNER | Owner cancels |
| BOOKING_RESCHEDULED_BY_BOOKER | Booker reschedules |
| BOOKING_RESCHEDULED_BY_OWNER | Owner reschedules |
| BOOKING_STARTS | At booking start time (supports offset in minutes) |
| BOOKING_ENDS | At booking end time (supports offset in minutes) |
| NO_SHOW | Booking marked as no-show |
Webhook Payload Template
The default template uses YouCanBookMe shorthand variables:
{
"bookingId": "{REF}",
"startsAt": "{START-ISO}",
"endsAt": "{END-ISO}",
"timeZone": "{TIMEZONE}",
"firstName": "{FNAME}",
"lastName": "{LNAME}",
"email": "{EMAIL}",
"title": "{BOOKING-TITLE}",
"profileId": "{BOOKING-PAGE-ID}",
"cancelled": "{CANCELLED}",
"ref": "{REF}"
}You can customise this to include any YCBM shorthand variable. See the YCBM shorthand glossary for the full list.
How Webhooks Work
YouCanBookMe does not have a dedicated webhooks API endpoint. Instead, webhooks are modelled as actions within a profile's actions array. Each action has a type: "WEBHOOK", an anchor (the event), and a to URL.
When you activate a workflow containing the YouCanBookMe Trigger node:
- The node fetches the current
actionsarray from the profile viaGET /v1/profiles/{profileId}. - It appends a new
WEBHOOKaction pointing to the n8n webhook URL. - It saves the action ID in the workflow's static data.
When you deactivate the workflow:
- The node fetches the current
actionsarray. - It removes the action matching the stored ID.
- It PATCHes the profile back without the webhook.
Publishing to npm
npm config set //registry.npmjs.org/:_authToken "npm_YOUR_TOKEN"
npm publish --access publicThe npm token must have "Allow this token to bypass 2FA" enabled, or publication will fail interactively.
License
MIT
