Zoom
Create and list meetings in Zoom.
On this page
Connect
Auth type: OAuth (oauth2). Click Connect and approve access on the provider's page. Appbricx runs the OAuth flow (signed single-use state, PKCE where the provider supports it), stores the tokens encrypted and refreshes them before they expire.
OAuth needs an OAuth app: the platform's when the operator configured one, or your own (admin panel, Integrations, Configure). You can also bring your own credentials.
- In the editor: Backend panel, Integrations tab, then Connect. This connects it for the project.
- For every project in a workspace: Workspace settings, Integrations.
- Owners and admins choose which integrations members may connect in the admin panel (Integrations tab), and can attach their own OAuth app there.
Call it from a workflow
Pass the action name and its input. The call resolves with { success, output, error? }; a missing connection resolves with success false and the reason. See ctx.integrations.invoke and ctx.integrations.call.
// .workflow.js (native ctx)
export async function run(ctx) {
const res = await ctx.integrations.invoke("zoom", "zoom_create_meeting", {
"topic": "<meeting's topic>"
});
if (!res.success) throw new Error(res.error);
ctx.log.info("Zoom answered", { output: res.output });
}// defineWorkflow module (@app/sdk ctx)
import { defineWorkflow } from "@app/sdk";
export default defineWorkflow({
id: "zoom-zoom-create-meeting",
name: "Zoom: Create Zoom Meeting",
description: "Calls Zoom when a row is created.",
trigger: { type: "entity_event", entity: "tickets", event: "created" },
async run(ctx, event) {
const res = await ctx.integrations.call("zoom", {
"action": "zoom_create_meeting",
"topic": "<meeting's topic>"
}) as { success: boolean; error?: string };
if (!res.success) throw new Error(res.error);
},
});curl -X POST "$APP_ORIGIN/__appbricx/connector-proxy/zoom/zoom_create_meeting" \
-H "Authorization: Bearer $APP_KEY" \
-H "content-type: application/json" \
-d '{"props":{"topic":"<meeting's topic>"}}'Actions
zoom_create_meetingin catalog
Create Zoom Meeting. Create a new Zoom Meeting
| Input | Type | Description |
|---|---|---|
topicrequired | text | The meeting's topic |
start_timeoptional | text | Meeting start date-time |
durationoptional | number | Duration of the meeting |
auto_recordingoptional | one of "local" | "cloud" | "none" | Auto Recording |
audiooptional | one of "both" | "telephony" | "voip" | "thirdParty" | Audio |
agendaoptional | long text | The meeting's agenda |
passwordoptional | text | The password required to join the meeting. By default, a password can only have a maximum length of 10 characters and only contain alphanumeric characters and the @, -, _, and * characters. |
pre_scheduleoptional | boolean | Whether the prescheduled meeting was created via the GSuite app. |
schedule_foroptional | text | The email address or user ID of the user to schedule a meeting for. |
join_urloptional | long text | URL for participants to join the meeting. |
zoom_create_meeting_registrantin catalog
Create Zoom Meeting Registrant. Create and submit a user's registration to a meeting.
| Input | Type | Description |
|---|---|---|
meeting_idrequired | text | The meeting ID. |
first_namerequired | text | The registrant's first name. |
last_nameoptional | text | The registrant's last name. |
emailrequired | text | The registrant's email address. |
addressoptional | text | The registrant's address |
cityoptional | text | The registrant's city |
stateoptional | text | The registrant's state or province. |
zipoptional | text | The registrant's zip or postal code. |
countryoptional | text | The registrant's two-letter country code. |
phoneoptional | text | The registrant's phone number. |
commentsoptional | long text | The registrant's questions and comments. |
custom_questionsoptional | object | Custom questions |
industryoptional | text | The registrant's industry. |
job_titleoptional | text | The registrant's job title. |
no_of_employeesoptional | one of "1-20" | "21-50" | "51-100" | "101-500" | "500-1,000" | "1,001-5,000" | "5,001-10,000" | "More than 10,000" | The registrant's number of employees. |
orgoptional | text | The registrant's organization. |
purchasing_time_frameoptional | one of "Within a month" | "1-3 months" | "4-6 months" | "More than 6 months" | "No timeframe" | The registrant's purchasing time frame. |
role_in_purchase_processoptional | one of "Decision Maker" | "Evaluator/Recommender" | "Influencer" | "Not involved" | The registrant's role in the purchase process. |
zoom_find_meetingin catalog
Find Zoom Meeting. Retrieve the details of an existing meeting or webinar.
| Input | Type | Description |
|---|---|---|
meeting_idrequired | id (picked from your account) | Select a meeting from your Zoom account. |
occurrence_idoptional | text | Meeting Occurrence ID. Provide this field to view meeting details of a particular occurrence of the recurring meeting. |
show_previous_occurrencesoptional | boolean | Set to true if you would like to view meeting details of all previous occurrences of a recurring meeting. |
zoom_update_meetingin catalog
Update Zoom Meeting. Update the details of an existing meeting.
| Input | Type | Description |
|---|---|---|
meeting_idrequired | id (picked from your account) | Select a meeting from your Zoom account. |
topicoptional | text | The meeting's topic |
start_timeoptional | text | Meeting start date-time (ISO 8601 format, e.g., 2023-05-01T12:00:00Z) |
durationoptional | number | Duration of the meeting |
timezoneoptional | text | Timezone for the meeting (e.g., UTC, America/New_York) |
auto_recordingoptional | one of "local" | "cloud" | "none" | Auto Recording |
audiooptional | one of "both" | "telephony" | "voip" | "thirdParty" | Audio |
agendaoptional | long text | The meeting's agenda |
passwordoptional | text | The password required to join the meeting. By default, a password can only have a maximum length of 10 characters and only contain alphanumeric characters and the @, -, _, and * characters. |
host_videooptional | boolean | Whether to start video when the host joins the meeting. |
participant_videooptional | boolean | Whether to start video when participants join the meeting. |
join_before_hostoptional | boolean | Whether participants can join the meeting before the host starts the meeting. |
mute_upon_entryoptional | boolean | Whether to mute participants upon entry. |
waiting_roomoptional | boolean | Whether to enable waiting room. |
custom_api_call
Custom API Call. Make a custom API call to a specific endpoint
| Input | Type | Description |
|---|---|---|
urlrequired | object (depends on other props) | url |
methodrequired | one of "GET" | "POST" | "PATCH" | "PUT" | "DELETE" | "HEAD" | Method |
headersrequired | object | Authorization headers are injected automatically from your connection. |
queryParamsrequired | object | Query Parameters |
body_typeoptional | one of "none" | "json" | "form_data" | "raw" | Body Type |
bodyoptional | object (depends on other props) | Body |
response_is_binaryoptional | boolean | Enable for files like PDFs, images, etc. |
failsafeoptional | boolean | No Error on Failure |
timeoutoptional | number | Timeout (in seconds) |
followRedirectsoptional | boolean | Follow redirects |
Details
- Id
zoom- Category
- Communication
- Tags
- video, meetings, conferencing, webinars
- Package
@activepieces/piece-zoom@0.6.0- Tier
- Built in