Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ export default {
key: "zoom-add-meeting-registrant",
name: "Add Meeting Registrant",
description: "Registers a participant for a meeting. [See the docs here](https://marketplace.zoom.us/docs/api-reference/zoom-api/methods/#operation/meetingRegistrantCreate)",
version: "0.3.4",
version: "0.3.5",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ export default {
key: "zoom-add-webinar-registrant",
name: "Add Webinar Registrant",
description: "Registers a participant for a webinar. [See the docs here](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinarregistrantcreate).",
version: "0.3.4",
version: "0.3.5",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
// legacy_hash_id: a_Xzi12a
import { axios } from "@pipedream/platform";
import utils from "../../common/utils.mjs";

export default {
key: "zoom-get-meeting-details",
name: "Get Meeting Details",
description: "Retrieves the details of a meeting.",
version: "0.3.5",
version: "0.3.6",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand All @@ -13,15 +14,15 @@
},
type: "action",
props: {
zoom: {

Check warning on line 17 in components/zoom/actions/get-meeting-details/get-meeting-details.mjs

View workflow job for this annotation

GitHub Actions / Lint Code Base

Component prop zoom must have a description. See https://pipedream.com/docs/components/guidelines/#props

Check warning on line 17 in components/zoom/actions/get-meeting-details/get-meeting-details.mjs

View workflow job for this annotation

GitHub Actions / Lint Code Base

Component prop zoom must have a label. See https://pipedream.com/docs/components/guidelines/#props
type: "app",
app: "zoom",
},
meeting_id: {

Check warning on line 21 in components/zoom/actions/get-meeting-details/get-meeting-details.mjs

View workflow job for this annotation

GitHub Actions / Lint Code Base

Component prop meeting_id must have a label. See https://pipedream.com/docs/components/guidelines/#props
type: "integer",
description: "The meeting ID.",
},
occurrence_id: {

Check warning on line 25 in components/zoom/actions/get-meeting-details/get-meeting-details.mjs

View workflow job for this annotation

GitHub Actions / Lint Code Base

Component prop occurrence_id must have a label. See https://pipedream.com/docs/components/guidelines/#props
type: "string",
description: "Meeting occurrence ID.",
optional: true,
Expand All @@ -30,7 +31,7 @@
async run({ $ }) {
//See the API docs here: https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meeting
const config = {
url: `https://api.zoom.us/v2/meetings/${this.meeting_id}`,
url: `https://api.zoom.us/v2/meetings/${utils.doubleEncode(this.meeting_id)}`,
params: {
occurrence_id: this.occurrence_id,
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ export default {
key: "zoom-get-meeting-transcript",
name: "Get Meeting Transcript",
description: "Get the transcript of a meeting. [See the documentation](https://developers.zoom.us/docs/api/meetings/#tag/cloud-recording/get/meetings/{meetingId}/transcript)",
version: "0.0.2",
version: "0.0.3",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ export default {
key: "zoom-get-webinar-details",
name: "Get Webinar Details",
description: "Gets details of a scheduled webinar. [See the docs here](https://marketplace.zoom.us/docs/api-reference/zoom-api/methods/#operation/webinar).",
version: "0.3.4",
version: "0.3.5",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
name: "List Call Recordings",
description: "Get your account's call recordings. [See the documentation](https://developers.zoom.us/docs/api/rest/reference/phone/methods/#operation/getPhoneRecordings)",
key: "zoom-list-call-recordings",
version: "0.0.2",
version: "0.0.3",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand All @@ -13,7 +13,7 @@
type: "action",
props: {
zoom,
infoBox: {

Check warning on line 16 in components/zoom/actions/list-call-recordings/list-call-recordings.mjs

View workflow job for this annotation

GitHub Actions / Lint Code Base

Component prop infoBox must have a description. See https://pipedream.com/docs/components/guidelines/#props

Check warning on line 16 in components/zoom/actions/list-call-recordings/list-call-recordings.mjs

View workflow job for this annotation

GitHub Actions / Lint Code Base

Component prop infoBox must have a label. See https://pipedream.com/docs/components/guidelines/#props
type: "alert",
alertType: "info",
content: "The Zoom API returns calls from the last 30 days by default. You can use the `Start Date` and `End Date` props to change this.",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
import { doubleEncode } from "../../common/utils.mjs";
import app from "../../zoom.app.mjs";

export default {
key: "zoom-list-past-meeting-participants",
name: "List Past Meeting Participants",
description: "Retrieve information on participants from a past meeting. [See the docs here](https://marketplace.zoom.us/docs/api-reference/zoom-api/methods/#operation/pastMeetingParticipants).",
version: "0.2.4",
version: "0.2.5",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand All @@ -25,7 +26,7 @@ export default {
meetingId, ...args
} = {}) {
return this.app._makeRequest({
path: `/past_meetings/${meetingId}/participants`,
path: `/past_meetings/${doubleEncode(meetingId)}/participants`,
...args,
});
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
// legacy_hash_id: a_67iQp1
import { axios } from "@pipedream/platform";
import utils from "../../common/utils.mjs";

export default {
key: "zoom-list-past-webinar-qa",
name: "List Past Webinar Q&A",
description: "The feature for Webinars allows attendees to ask questions during the Webinar and for the panelists, co-hosts and host to answer their questions. Use this API to list Q&A of a specific Webinar.",
version: "0.1.5",
version: "0.1.6",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand All @@ -13,7 +14,7 @@
},
type: "action",
props: {
zoom: {

Check warning on line 17 in components/zoom/actions/list-past-webinar-qa/list-past-webinar-qa.mjs

View workflow job for this annotation

GitHub Actions / Lint Code Base

Component prop zoom must have a description. See https://pipedream.com/docs/components/guidelines/#props

Check warning on line 17 in components/zoom/actions/list-past-webinar-qa/list-past-webinar-qa.mjs

View workflow job for this annotation

GitHub Actions / Lint Code Base

Component prop zoom must have a label. See https://pipedream.com/docs/components/guidelines/#props
type: "app",
app: "zoom",
},
Expand All @@ -25,7 +26,7 @@
},
async run({ $ }) {
const config = {
url: `https://api.zoom.us/v2/past_webinars/${this.webinarID}/qa`,
url: `https://api.zoom.us/v2/past_webinars/${utils.doubleEncode(this.webinarID)}/qa`,
headers: {
Authorization: `Bearer ${this.zoom.$auth.oauth_access_token}`,
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ export default {
name: "List User's Call Logs",
description: "Gets a user's Zoom phone call logs. [See the documentation](https://developers.zoom.us/docs/zoom-phone/apis/#operation/phoneUserCallLogs)",
key: "zoom-list-user-call-logs",
version: "0.0.4",
version: "0.0.5",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import utils from "../../common/utils.mjs";
import utils, { doubleEncode } from "../../common/utils.mjs";
import app from "../../zoom.app.mjs";

export default {
key: "zoom-list-webinar-participants-report",
name: "List Webinar Participants Report",
description: "Retrieves detailed report on each webinar attendee. You can get webinar participant reports for the last 6 months. [See the docs here](https://marketplace.zoom.us/docs/api-reference/zoom-api/methods/#operation/reportWebinarParticipants).",
version: "0.0.5",
version: "0.0.6",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down Expand Up @@ -38,7 +38,7 @@ export default {
webinarId, ...args
} = {}) {
return this.app._makeRequest({
path: `/report/webinars/${webinarId}/participants`,
path: `/report/webinars/${doubleEncode(webinarId)}/participants`,
...args,
});
},
Expand Down
5 changes: 3 additions & 2 deletions components/zoom/actions/update-meeting/update-meeting.mjs
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
// legacy_hash_id: a_52iXNQ
import { axios } from "@pipedream/platform";
import utils from "../../common/utils.mjs";

export default {
key: "zoom-update-meeting",
name: "Update Meeting",
description: "Updates an existing Zoom meeting",
version: "0.1.5",
version: "0.1.6",
annotations: {
destructiveHint: true,
openWorldHint: true,
Expand All @@ -13,7 +14,7 @@
},
type: "action",
props: {
zoom: {

Check warning on line 17 in components/zoom/actions/update-meeting/update-meeting.mjs

View workflow job for this annotation

GitHub Actions / Lint Code Base

Component prop zoom must have a description. See https://pipedream.com/docs/components/guidelines/#props

Check warning on line 17 in components/zoom/actions/update-meeting/update-meeting.mjs

View workflow job for this annotation

GitHub Actions / Lint Code Base

Component prop zoom must have a label. See https://pipedream.com/docs/components/guidelines/#props
type: "app",
app: "zoom",
},
Expand Down Expand Up @@ -77,7 +78,7 @@
// API docs: https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingupdate
const config = {
method: "PATCH",
url: `https://api.zoom.us/v2/meetings/${this.meetingId}`,
url: `https://api.zoom.us/v2/meetings/${utils.doubleEncode(this.meetingId)}`,
data: {
topic: this.topic,
type: this.type,
Expand Down
5 changes: 3 additions & 2 deletions components/zoom/actions/update-webinar/update-webinar.mjs
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
// legacy_hash_id: a_Q3irlY
import { axios } from "@pipedream/platform";
import utils from "../../common/utils.mjs";

export default {
key: "zoom-update-webinar",
name: "Update Webinar",
description: "Update a webinar's topic, start time, or other settings",
version: "0.1.5",
version: "0.1.6",
annotations: {
destructiveHint: true,
openWorldHint: true,
Expand Down Expand Up @@ -77,7 +78,7 @@ export default {
// API docs: https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingupdate
const config = {
method: "PATCH",
url: `https://api.zoom.us/v2/webinars/${this.webinarID}`,
url: `https://api.zoom.us/v2/webinars/${utils.doubleEncode(this.webinarID)}`,
data: {
topic: this.topic,
type: this.type,
Expand Down
8 changes: 8 additions & 0 deletions components/zoom/common/utils.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,15 @@ function summaryEnd(count, singular, plural) {
return `${count} ${noun}`;
}

function doubleEncode(value) {
if ((typeof value === "string") && (value.startsWith("/") || value.includes("//"))) {
return encodeURIComponent(encodeURIComponent(value));
}
return value;
}

export default {
streamIterator,
summaryEnd,
doubleEncode,
};
2 changes: 1 addition & 1 deletion components/zoom/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@pipedream/zoom",
"version": "0.7.0",
"version": "0.7.1",
"description": "Pipedream Zoom Components",
"main": "zoom.app.mjs",
"keywords": [
Expand Down
2 changes: 1 addition & 1 deletion components/zoom/sources/custom-event/custom-event.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default {
key: "zoom-custom-event",
name: "Custom Events (Instant)",
description: "Emit new events tied to your Zoom user or resources you own",
version: "0.1.3",
version: "0.1.4",
type: "source",
dedupe: "unique",
props: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default {
key: "zoom-meeting-created",
name: "Meeting Created (Instant)",
description: "Emit new event each time a meeting is created where you're the host",
version: "0.1.3",
version: "0.1.4",
type: "source",
dedupe: "unique",
props: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default {
key: "zoom-meeting-deleted",
name: "Meeting Deleted (Instant)",
description: "Emit new event each time a meeting is deleted where you're the host",
version: "0.1.3",
version: "0.1.4",
type: "source",
dedupe: "unique",
props: {
Expand Down
2 changes: 1 addition & 1 deletion components/zoom/sources/meeting-ended/meeting-ended.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default {
key: "zoom-meeting-ended",
name: "Meeting Ended (Instant)",
description: "Emit new event each time a meeting ends where you're the host",
version: "0.1.3",
version: "0.1.4",
type: "source",
dedupe: "unique",
props: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default {
key: "zoom-meeting-started",
name: "Meeting Started (Instant)",
description: "Emit new event each time a meeting starts where you're the host",
version: "0.1.4",
version: "0.1.5",
type: "source",
dedupe: "unique",
props: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default {
key: "zoom-meeting-updated",
name: "Meeting Updated (Instant)",
description: "Emit new event each time a meeting is updated where you're the host",
version: "0.1.3",
version: "0.1.4",
type: "source",
dedupe: "unique",
props: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default {
key: "zoom-new-recording-transcript-completed",
name: "New Recording Transcript Completed (Instant)",
description: "Emit new event each time a recording transcript is completed",
version: "0.0.1",
version: "0.0.2",
type: "source",
dedupe: "unique",
props: {
Expand Down
2 changes: 1 addition & 1 deletion components/zoom/sources/phone-event/phone-event.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default {
key: "zoom-phone-event",
name: "Zoom Phone Events (Instant)",
description: "Emit new Zoom Phone event tied to your Zoom user or resources you own",
version: "0.1.3",
version: "0.1.4",
type: "source",
props: {
...common.props,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default {
key: "zoom-recording-completed",
name: "Recording Completed (Instant)",
description: "Emit new event each time a new recording completes for a meeting or webinar where you're the host",
version: "0.1.3",
version: "0.1.4",
type: "source",
dedupe: "unique",
props: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default {
key: "zoom-webinar-created",
name: "Webinar Created (Instant)",
description: "Emit new event each time a webinar is created where you're the host",
version: "0.1.3",
version: "0.1.4",
type: "source",
dedupe: "unique",
props: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default {
key: "zoom-webinar-deleted",
name: "Webinar Deleted (Instant)",
description: "Emit new event each time a webinar is deleted where you're the host",
version: "0.1.3",
version: "0.1.4",
type: "source",
dedupe: "unique",
props: {
Expand Down
2 changes: 1 addition & 1 deletion components/zoom/sources/webinar-ended/webinar-ended.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default {
key: "zoom-webinar-ended",
name: "Webinar Ended (Instant)",
description: "Emit new event each time a webinar ends where you're the host",
version: "0.1.3",
version: "0.1.4",
type: "source",
dedupe: "unique",
props: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default {
key: "zoom-webinar-started",
name: "Webinar Started (Instant)",
description: "Emit new event each time a webinar starts where you're the host",
version: "0.1.3",
version: "0.1.4",
type: "source",
dedupe: "unique",
props: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default {
key: "zoom-webinar-updated",
name: "Webinar Updated (Instant)",
description: "Emit new event each time a webinar is updated where you're the host",
version: "0.1.3",
version: "0.1.4",
type: "source",
dedupe: "unique",
props: {
Expand Down
5 changes: 3 additions & 2 deletions components/zoom/zoom.app.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { axios } from "@pipedream/platform";
import constants from "./common/constants.mjs";
import utils from "./common/utils.mjs";

export default {
type: "app",
Expand Down Expand Up @@ -31,7 +32,7 @@ export default {
},
},
meetingId: {
type: "integer",
type: "string",
label: "Meeting ID",
description: "The meeting ID to get details for.",
async options({ prevContext }) {
Expand Down Expand Up @@ -246,7 +247,7 @@ export default {
meetingId, ...args
} = {}) {
return this._makeRequest({
path: `/past_meetings/${meetingId}`,
path: `/past_meetings/${utils.doubleEncode(meetingId)}`,
...args,
});
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
import { axios } from "@pipedream/platform";
import get from "lodash/get.js";
import isArray from "lodash/isArray.js";
import { doubleEncode } from "../../common/utils.mjs";
import zoomAdmin from "../../zoom_admin.app.mjs";

export default {
name: "Add meeting registrant",
description: "Register a participant for a meeting. [See the documentation](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingregistrantcreate)",
key: "zoom_admin-add-meeting-registrant",
version: "0.1.7",
version: "0.1.8",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down Expand Up @@ -59,7 +60,7 @@ export default {
async run ({ $ }) {
const res = await axios($, this.zoomAdmin._getAxiosParams({
method: "POST",
path: `/meetings/${get(this.meeting, "value", this.meeting)}/registrants`,
path: `/meetings/${doubleEncode(get(this.meeting, "value", this.meeting))}/registrants`,
params: {
occurrence_ids: isArray(this.occurrence)
? this.occurrence.map((occurrence) => get(occurrence, "value", occurrence)).join(",")
Expand Down
Loading
Loading