diff --git a/components/cal_com/actions/create-booking/create-booking.mjs b/components/cal_com/actions/create-booking/create-booking.mjs index a3bb805f093d8..46ed2dc3bbe0b 100644 --- a/components/cal_com/actions/create-booking/create-booking.mjs +++ b/components/cal_com/actions/create-booking/create-booking.mjs @@ -1,11 +1,11 @@ -import calCom from "../../cal_com.app.mjs"; import { ConfigurationError } from "@pipedream/platform"; +import calCom from "../../cal_com.app.mjs"; export default { key: "cal_com-create-booking", name: "Create Booking", description: "Create a new booking. [See the documentation](https://developer.cal.com/api/api-reference/bookings#create-a-new-booking)", - version: "0.0.2", + version: "0.0.3", type: "action", props: { calCom, diff --git a/components/cal_com/actions/delete-booking/delete-booking.mjs b/components/cal_com/actions/delete-booking/delete-booking.mjs index 72aa44bbae1e0..e5d8389d6ba9c 100644 --- a/components/cal_com/actions/delete-booking/delete-booking.mjs +++ b/components/cal_com/actions/delete-booking/delete-booking.mjs @@ -4,7 +4,7 @@ export default { key: "cal_com-delete-booking", name: "Delete Booking", description: "Delete an existing booking by its ID. [See the documentation](https://developer.cal.com/api/api-reference/bookings)", - version: "0.0.2", + version: "0.0.3", type: "action", props: { calCom, diff --git a/components/cal_com/actions/get-bookable-slots/get-bookable-slots.mjs b/components/cal_com/actions/get-bookable-slots/get-bookable-slots.mjs new file mode 100644 index 0000000000000..3e085ef5022ad --- /dev/null +++ b/components/cal_com/actions/get-bookable-slots/get-bookable-slots.mjs @@ -0,0 +1,55 @@ +import app from "../../cal_com.app.mjs"; + +export default { + key: "cal_com-get-bookable-slots", + name: "Get Bookable Slots", + description: "Retrieves all bookable slots between a datetime range. [See the documentation](https://cal.com/docs/api-reference/v1/slots/get-all-bookable-slots-between-a-datetime-range#get-all-bookable-slots-between-a-datetime-range)", + version: "0.0.1", + type: "action", + props: { + app, + eventTypeId: { + propDefinition: [ + app, + "eventTypeId", + ], + }, + startTime: { + type: "string", + label: "Start Time", + description: "Start time of the slot lookup (ISO 8601 format), e.g. `2025-04-01T06:00:00Z`", + }, + endTime: { + type: "string", + label: "End Time", + description: "End time of the slot lookup (ISO 8601 format), e.g. `2025-04-01T06:00:00Z`", + }, + timeZone: { + propDefinition: [ + app, + "timeZone", + ], + optional: true, + }, + isTeamEvent: { + type: "boolean", + label: "Is Team Event", + description: "True if the event is a team event", + optional: true, + }, + }, + async run({ $ }) { + const { + app, + ...params + } = this; + + const response = await app.getBookableSlots({ + $, + params, + }); + + $.export("$summary", "Successfully retrieved bookable slots"); + return response; + }, +}; diff --git a/components/cal_com/actions/get-booking/get-booking.mjs b/components/cal_com/actions/get-booking/get-booking.mjs index 659cb8d928ae6..876f5df9f5f93 100644 --- a/components/cal_com/actions/get-booking/get-booking.mjs +++ b/components/cal_com/actions/get-booking/get-booking.mjs @@ -4,7 +4,7 @@ export default { key: "cal_com-get-booking", name: "Get Booking", description: "Retrieve a booking by its ID. [See the documentation](https://developer.cal.com/api/api-reference/bookings#find-a-booking)", - version: "0.0.2", + version: "0.0.3", type: "action", props: { calCom, diff --git a/components/cal_com/cal_com.app.mjs b/components/cal_com/cal_com.app.mjs index 57d78829dabf1..40cc395e0c778 100644 --- a/components/cal_com/cal_com.app.mjs +++ b/components/cal_com/cal_com.app.mjs @@ -157,5 +157,11 @@ export default { ...args, }); }, + async getBookableSlots(args = {}) { + return this._makeRequest({ + path: "slots", + ...args, + }); + }, }, }; diff --git a/components/cal_com/package.json b/components/cal_com/package.json index 3907d658ac4c6..f1c245ac856b1 100644 --- a/components/cal_com/package.json +++ b/components/cal_com/package.json @@ -1,6 +1,6 @@ { "name": "@pipedream/cal_com", - "version": "0.0.5", + "version": "0.0.6", "description": "Pipedream Cal.com Components", "main": "cal_com.app.mjs", "keywords": [ diff --git a/components/cal_com/sources/booking-cancelled/booking-cancelled.mjs b/components/cal_com/sources/booking-cancelled/booking-cancelled.mjs index 7e0f801170ecb..b74ca16820fc3 100644 --- a/components/cal_com/sources/booking-cancelled/booking-cancelled.mjs +++ b/components/cal_com/sources/booking-cancelled/booking-cancelled.mjs @@ -5,7 +5,7 @@ export default { key: "cal_com-booking-cancelled", name: "Booking Cancelled", description: "Emit new event when a booking is cancelled.", - version: "0.0.2", + version: "0.0.3", type: "source", dedupe: "unique", methods: { diff --git a/components/cal_com/sources/booking-created/booking-created.mjs b/components/cal_com/sources/booking-created/booking-created.mjs index 480422d512de8..ffbb75261b7bc 100644 --- a/components/cal_com/sources/booking-created/booking-created.mjs +++ b/components/cal_com/sources/booking-created/booking-created.mjs @@ -5,7 +5,7 @@ export default { key: "cal_com-booking-created", name: "New Booking Created", description: "Emit new event when a new booking is created.", - version: "0.0.2", + version: "0.0.3", type: "source", dedupe: "unique", methods: { diff --git a/components/cal_com/sources/booking-ended/booking-ended.mjs b/components/cal_com/sources/booking-ended/booking-ended.mjs index 984d98cdc708e..a4db37c19c365 100644 --- a/components/cal_com/sources/booking-ended/booking-ended.mjs +++ b/components/cal_com/sources/booking-ended/booking-ended.mjs @@ -5,7 +5,7 @@ export default { key: "cal_com-booking-ended", name: "Booking Ended", description: "Emit new event when a booking ends.", - version: "0.0.2", + version: "0.0.3", type: "source", dedupe: "unique", methods: { diff --git a/components/cal_com/sources/booking-rescheduled/booking-rescheduled.mjs b/components/cal_com/sources/booking-rescheduled/booking-rescheduled.mjs index 1f9b7727fb2ce..4530f558e4e5f 100644 --- a/components/cal_com/sources/booking-rescheduled/booking-rescheduled.mjs +++ b/components/cal_com/sources/booking-rescheduled/booking-rescheduled.mjs @@ -5,7 +5,7 @@ export default { key: "cal_com-booking-rescheduled", name: "Booking Rescheduled", description: "Emit new event when a booking is rescheduled.", - version: "0.0.2", + version: "0.0.3", type: "source", dedupe: "unique", methods: { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 407f9971584bb..a692a51d078a4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15839,7 +15839,7 @@ importers: version: 3.1.7 ts-jest: specifier: ^29.2.5 - version: 29.2.5(@babel/core@8.0.0-alpha.13)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@8.0.0-alpha.13))(jest@29.7.0(@types/node@20.17.30)(babel-plugin-macros@3.1.0))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@20.17.30)(babel-plugin-macros@3.1.0))(typescript@5.7.2) tsup: specifier: ^8.3.6 version: 8.3.6(@microsoft/api-extractor@7.47.12(@types/node@20.17.30))(jiti@1.21.6)(postcss@8.4.49)(tsx@4.19.4)(typescript@5.7.2)(yaml@2.6.1) @@ -15882,7 +15882,7 @@ importers: version: 3.1.0 jest: specifier: ^29.1.2 - version: 29.7.0(@types/node@20.17.30)(babel-plugin-macros@3.1.0) + version: 29.7.0(@types/node@20.17.6)(babel-plugin-macros@3.1.0) type-fest: specifier: ^4.15.0 version: 4.27.0 @@ -49803,7 +49803,7 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-jest@29.2.5(@babel/core@8.0.0-alpha.13)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@8.0.0-alpha.13))(jest@29.7.0(@types/node@20.17.30)(babel-plugin-macros@3.1.0))(typescript@5.7.2): + ts-jest@29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@20.17.30)(babel-plugin-macros@3.1.0))(typescript@5.7.2): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 @@ -49817,10 +49817,10 @@ snapshots: typescript: 5.7.2 yargs-parser: 21.1.1 optionalDependencies: - '@babel/core': 8.0.0-alpha.13 + '@babel/core': 7.26.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@8.0.0-alpha.13) + babel-jest: 29.7.0(@babel/core@7.26.0) ts-jest@29.2.5(@babel/core@8.0.0-alpha.13)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@8.0.0-alpha.13))(jest@29.7.0(@types/node@20.17.6)(babel-plugin-macros@3.1.0))(typescript@5.6.3): dependencies: