n8n-nodes-calendly 2.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/README.md +111 -0
  2. package/dist/credentials/CalendlyApi.credentials.d.ts +10 -0
  3. package/dist/credentials/CalendlyApi.credentials.d.ts.map +1 -0
  4. package/dist/credentials/CalendlyApi.credentials.js +37 -0
  5. package/dist/credentials/CalendlyApi.credentials.js.map +1 -0
  6. package/dist/nodes/Calendly/Calendly.node.d.ts +6 -0
  7. package/dist/nodes/Calendly/Calendly.node.d.ts.map +1 -0
  8. package/dist/nodes/Calendly/Calendly.node.js +561 -0
  9. package/dist/nodes/Calendly/Calendly.node.js.map +1 -0
  10. package/dist/nodes/Calendly/GenericFunctions.d.ts +19 -0
  11. package/dist/nodes/Calendly/GenericFunctions.d.ts.map +1 -0
  12. package/dist/nodes/Calendly/GenericFunctions.js +64 -0
  13. package/dist/nodes/Calendly/GenericFunctions.js.map +1 -0
  14. package/dist/nodes/Calendly/calendly.svg +10 -0
  15. package/dist/nodes/Calendly/descriptions/ActivityLogDescription.d.ts +4 -0
  16. package/dist/nodes/Calendly/descriptions/ActivityLogDescription.d.ts.map +1 -0
  17. package/dist/nodes/Calendly/descriptions/ActivityLogDescription.js +124 -0
  18. package/dist/nodes/Calendly/descriptions/ActivityLogDescription.js.map +1 -0
  19. package/dist/nodes/Calendly/descriptions/CustomApiCallDescription.d.ts +4 -0
  20. package/dist/nodes/Calendly/descriptions/CustomApiCallDescription.d.ts.map +1 -0
  21. package/dist/nodes/Calendly/descriptions/CustomApiCallDescription.js +127 -0
  22. package/dist/nodes/Calendly/descriptions/CustomApiCallDescription.js.map +1 -0
  23. package/dist/nodes/Calendly/descriptions/DataComplianceDescription.d.ts +4 -0
  24. package/dist/nodes/Calendly/descriptions/DataComplianceDescription.d.ts.map +1 -0
  25. package/dist/nodes/Calendly/descriptions/DataComplianceDescription.js +34 -0
  26. package/dist/nodes/Calendly/descriptions/DataComplianceDescription.js.map +1 -0
  27. package/dist/nodes/Calendly/descriptions/EventTypeDescription.d.ts +4 -0
  28. package/dist/nodes/Calendly/descriptions/EventTypeDescription.d.ts.map +1 -0
  29. package/dist/nodes/Calendly/descriptions/EventTypeDescription.js +167 -0
  30. package/dist/nodes/Calendly/descriptions/EventTypeDescription.js.map +1 -0
  31. package/dist/nodes/Calendly/descriptions/GroupDescription.d.ts +4 -0
  32. package/dist/nodes/Calendly/descriptions/GroupDescription.d.ts.map +1 -0
  33. package/dist/nodes/Calendly/descriptions/GroupDescription.js +98 -0
  34. package/dist/nodes/Calendly/descriptions/GroupDescription.js.map +1 -0
  35. package/dist/nodes/Calendly/descriptions/InviteeDescription.d.ts +4 -0
  36. package/dist/nodes/Calendly/descriptions/InviteeDescription.d.ts.map +1 -0
  37. package/dist/nodes/Calendly/descriptions/InviteeDescription.js +216 -0
  38. package/dist/nodes/Calendly/descriptions/InviteeDescription.js.map +1 -0
  39. package/dist/nodes/Calendly/descriptions/OrganizationDescription.d.ts +4 -0
  40. package/dist/nodes/Calendly/descriptions/OrganizationDescription.d.ts.map +1 -0
  41. package/dist/nodes/Calendly/descriptions/OrganizationDescription.js +145 -0
  42. package/dist/nodes/Calendly/descriptions/OrganizationDescription.js.map +1 -0
  43. package/dist/nodes/Calendly/descriptions/RoutingFormDescription.d.ts +4 -0
  44. package/dist/nodes/Calendly/descriptions/RoutingFormDescription.d.ts.map +1 -0
  45. package/dist/nodes/Calendly/descriptions/RoutingFormDescription.js +127 -0
  46. package/dist/nodes/Calendly/descriptions/RoutingFormDescription.js.map +1 -0
  47. package/dist/nodes/Calendly/descriptions/ScheduledEventDescription.d.ts +4 -0
  48. package/dist/nodes/Calendly/descriptions/ScheduledEventDescription.d.ts.map +1 -0
  49. package/dist/nodes/Calendly/descriptions/ScheduledEventDescription.js +165 -0
  50. package/dist/nodes/Calendly/descriptions/ScheduledEventDescription.js.map +1 -0
  51. package/dist/nodes/Calendly/descriptions/SchedulingLinkDescription.d.ts +4 -0
  52. package/dist/nodes/Calendly/descriptions/SchedulingLinkDescription.d.ts.map +1 -0
  53. package/dist/nodes/Calendly/descriptions/SchedulingLinkDescription.js +55 -0
  54. package/dist/nodes/Calendly/descriptions/SchedulingLinkDescription.js.map +1 -0
  55. package/dist/nodes/Calendly/descriptions/UserDescription.d.ts +4 -0
  56. package/dist/nodes/Calendly/descriptions/UserDescription.d.ts.map +1 -0
  57. package/dist/nodes/Calendly/descriptions/UserDescription.js +119 -0
  58. package/dist/nodes/Calendly/descriptions/UserDescription.js.map +1 -0
  59. package/dist/nodes/Calendly/descriptions/WebhookSubscriptionDescription.d.ts +4 -0
  60. package/dist/nodes/Calendly/descriptions/WebhookSubscriptionDescription.d.ts.map +1 -0
  61. package/dist/nodes/Calendly/descriptions/WebhookSubscriptionDescription.js +149 -0
  62. package/dist/nodes/Calendly/descriptions/WebhookSubscriptionDescription.js.map +1 -0
  63. package/dist/nodes/CalendlyTrigger/CalendlyTrigger.node.d.ts +13 -0
  64. package/dist/nodes/CalendlyTrigger/CalendlyTrigger.node.d.ts.map +1 -0
  65. package/dist/nodes/CalendlyTrigger/CalendlyTrigger.node.js +210 -0
  66. package/dist/nodes/CalendlyTrigger/CalendlyTrigger.node.js.map +1 -0
  67. package/dist/nodes/CalendlyTrigger/calendly.svg +10 -0
  68. package/dist/nodes/calendly.svg +10 -0
  69. package/package.json +63 -0
package/README.md ADDED
@@ -0,0 +1,111 @@
1
+ # n8n-nodes-calendly
2
+
3
+ A comprehensive n8n community node package for the **Calendly API v2**, covering all available endpoints. This package goes far beyond the built-in n8n Calendly trigger node by providing full read/write access to every Calendly resource.
4
+
5
+ ## Features
6
+
7
+ This package provides two nodes:
8
+
9
+ - **Calendly** — Action node with 11 resources and 40+ operations
10
+ - **Calendly Trigger** — Webhook trigger node that auto-registers and auto-deregisters subscriptions
11
+
12
+ ### Resources and Operations
13
+
14
+ | Resource | Operations |
15
+ |---|---|
16
+ | **Scheduled Event** | Get, Get Many (with filters), Cancel |
17
+ | **Invitee** | Get, Get Many, Create (schedule a meeting), Mark No Show, Unmark No Show |
18
+ | **Event Type** | Get, Get Many, Get Available Times, Get Availability Schedules |
19
+ | **User** | Get Current, Get, List Org Memberships, Get Org Membership, Remove From Org |
20
+ | **Organization** | Get, List Invitations, Get Invitation, Invite User, Revoke Invitation |
21
+ | **Webhook Subscription** | Get, Get Many, Create, Delete |
22
+ | **Routing Form** | Get, Get Many, Get Submission, Get Many Submissions |
23
+ | **Scheduling Link** | Create Single-Use Link |
24
+ | **Group** | Get, Get Many, Get Relationship, List Relationships |
25
+ | **Activity Log** | Get Many (Enterprise only) |
26
+ | **Data Compliance** | Delete Invitee Data (GDPR/CCPA, Enterprise only) |
27
+
28
+ ### Trigger Events
29
+
30
+ - `invitee.created` — New meeting booked
31
+ - `invitee.canceled` — Meeting canceled
32
+ - `invitee_no_show.created` — Invitee marked as no-show
33
+ - `invitee_no_show.deleted` — No-show mark removed
34
+ - `routing_form_submission.created` — Routing form submitted
35
+
36
+ ## Installation
37
+
38
+ ### In n8n (self-hosted)
39
+
40
+ ```bash
41
+ # In your n8n installation directory
42
+ npm install n8n-nodes-calendly
43
+ ```
44
+
45
+ Or via the n8n UI: **Settings → Community Nodes → Install** → enter `n8n-nodes-calendly`.
46
+
47
+ ### For development / local testing
48
+
49
+ ```bash
50
+ # Clone the repo
51
+ git clone https://github.com/yourusername/n8n-nodes-calendly.git
52
+ cd n8n-nodes-calendly
53
+
54
+ # Install dependencies
55
+ pnpm install
56
+
57
+ # Build
58
+ pnpm run build
59
+
60
+ # Link to your local n8n
61
+ npm link
62
+ cd ~/.n8n/nodes # or your custom nodes directory
63
+ npm link n8n-nodes-calendly
64
+ ```
65
+
66
+ ## Authentication
67
+
68
+ This node uses a **Calendly Personal Access Token**.
69
+
70
+ 1. Go to [Calendly Integrations](https://calendly.com/integrations/api_webhooks)
71
+ 2. Click **API & Webhooks**
72
+ 3. Generate a Personal Access Token
73
+ 4. In n8n, create a new **Calendly API** credential and paste the token
74
+
75
+ ## Usage Notes
76
+
77
+ ### URIs vs UUIDs
78
+
79
+ Calendly API responses return full URIs like `https://api.calendly.com/users/AAAAAAAAAAAAAAAA`. This node accepts **both** full URIs and bare UUIDs in UUID fields — it automatically extracts the UUID from a full URI if one is provided.
80
+
81
+ ### Pagination
82
+
83
+ All "Get Many" operations support a **Return All** toggle. When enabled, the node automatically follows all pagination pages and returns every item. When disabled, you can set a **Limit** (up to 100 per page).
84
+
85
+ ### Scheduling Meetings (Create Invitee)
86
+
87
+ The new Calendly Scheduling API (released October 2025) allows you to book meetings programmatically. Use the **Invitee → Create** operation. You need:
88
+ - The event UUID (from an Event Type's available times)
89
+ - The invitee's name, email, and desired start time
90
+
91
+ ### Trigger Node
92
+
93
+ The Calendly Trigger node automatically:
94
+ - Creates a webhook subscription in Calendly when the workflow is activated
95
+ - Deletes the subscription when the workflow is deactivated
96
+ - Supports both organization-wide and user-scoped subscriptions
97
+
98
+ ## Development
99
+
100
+ ```bash
101
+ pnpm install # install dependencies
102
+ pnpm run build # compile TypeScript
103
+ pnpm run dev # watch mode
104
+ pnpm run typecheck # type check only
105
+ pnpm run lint # lint
106
+ pnpm run lint:fix # lint + auto-fix
107
+ ```
108
+
109
+ ## License
110
+
111
+ MIT
@@ -0,0 +1,10 @@
1
+ import { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class CalendlyApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ documentationUrl: string;
6
+ properties: INodeProperties[];
7
+ authenticate: IAuthenticateGeneric;
8
+ test: ICredentialTestRequest;
9
+ }
10
+ //# sourceMappingURL=CalendlyApi.credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CalendlyApi.credentials.d.ts","sourceRoot":"","sources":["../../credentials/CalendlyApi.credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,MAAM,cAAc,CAAC;AAEtB,qBAAa,WAAY,YAAW,eAAe;IAClD,IAAI,SAAiB;IACrB,WAAW,SAAkB;IAC7B,gBAAgB,SAAoD;IACpE,UAAU,EAAE,eAAe,EAAE,CAW3B;IAEF,YAAY,EAAE,oBAAoB,CAOhC;IAEF,IAAI,EAAE,sBAAsB,CAK1B;CACF"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CalendlyApi = void 0;
4
+ class CalendlyApi {
5
+ constructor() {
6
+ this.name = 'calendlyApi';
7
+ this.displayName = 'Calendly API';
8
+ this.documentationUrl = 'https://developer.calendly.com/getting-started';
9
+ this.properties = [
10
+ {
11
+ displayName: 'Personal Access Token',
12
+ name: 'apiKey',
13
+ type: 'string',
14
+ typeOptions: { password: true },
15
+ default: '',
16
+ required: true,
17
+ description: 'Your Calendly Personal Access Token. Generate one at https://calendly.com/integrations/api_webhooks',
18
+ },
19
+ ];
20
+ this.authenticate = {
21
+ type: 'generic',
22
+ properties: {
23
+ headers: {
24
+ Authorization: '=Bearer {{$credentials.apiKey}}',
25
+ },
26
+ },
27
+ };
28
+ this.test = {
29
+ request: {
30
+ baseURL: 'https://api.calendly.com',
31
+ url: '/users/me',
32
+ },
33
+ };
34
+ }
35
+ }
36
+ exports.CalendlyApi = CalendlyApi;
37
+ //# sourceMappingURL=CalendlyApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CalendlyApi.credentials.js","sourceRoot":"","sources":["../../credentials/CalendlyApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,WAAW;IAAxB;QACC,SAAI,GAAG,aAAa,CAAC;QACrB,gBAAW,GAAG,cAAc,CAAC;QAC7B,qBAAgB,GAAG,gDAAgD,CAAC;QACpE,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,uBAAuB;gBACpC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EACV,qGAAqG;aACtG;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,aAAa,EAAE,iCAAiC;iBAChD;aACD;SACD,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,0BAA0B;gBACnC,GAAG,EAAE,WAAW;aAChB;SACD,CAAC;IACH,CAAC;CAAA;AAhCD,kCAgCC"}
@@ -0,0 +1,6 @@
1
+ import { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class Calendly implements INodeType {
3
+ description: INodeTypeDescription;
4
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
5
+ }
6
+ //# sourceMappingURL=Calendly.node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Calendly.node.d.ts","sourceRoot":"","sources":["../../../nodes/Calendly/Calendly.node.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EAGpB,MAAM,cAAc,CAAC;AAqBtB,qBAAa,QAAS,YAAW,SAAS;IACzC,WAAW,EAAE,oBAAoB,CAkE/B;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CA+cvE"}