npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

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.

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

  1. Go to Settings → Community Nodes in your n8n instance.
  2. Search for n8n-nodes-youcanbookme and install.

Self-hosted n8n (from zip)

cd ~/.n8n/nodes
npm install /path/to/n8n-nodes-youcanbookme
# Restart n8n

Credentials

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 members
  • GET /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:

  1. The node fetches the current actions array from the profile via GET /v1/profiles/{profileId}.
  2. It appends a new WEBHOOK action pointing to the n8n webhook URL.
  3. It saves the action ID in the workflow's static data.

When you deactivate the workflow:

  1. The node fetches the current actions array.
  2. It removes the action matching the stored ID.
  3. It PATCHes the profile back without the webhook.

Publishing to npm

npm config set //registry.npmjs.org/:_authToken "npm_YOUR_TOKEN"
npm publish --access public

The npm token must have "Allow this token to bypass 2FA" enabled, or publication will fail interactively.


License

MIT