Skip to content

Zoom

The Zoom component in Nappai serves as a bridge between your automation workflows and the Zoom platform. It allows you to programmatically create, manage, and retrieve details about Zoom meetings, as well as access meeting recordings and transcriptions.

This tool is designed to help you automate administrative tasks, such as scheduling recurring team stand-ups, pulling attendance lists, or organizing meeting archives, without manually logging into the Zoom portal. By integrating this component, you can synchronize your data management systems with your communication tools, ensuring that meeting data flows automatically into your other applications.

How it Works

The component interacts with the Zoom API (Application Programming Interface). When you configure this node in your workflow, Nappai sends secure requests to Zoom’s servers to perform specific actions based on the inputs you provide.

For example:

  • Creating a Meeting: The component sends meeting details (topic, time, type) to Zoom, which then generates a unique link and ID for that meeting.
  • Retrieving Data: The component queries Zoom for a list of meetings or specific recording files, returning the data so you can use it in downstream steps (like saving it to a database or sending an email).

The component handles the technical communication behind the scenes, allowing you to focus on defining what happens (e.g., “Create a meeting for Monday”) rather than how the API connection is established.

Connection & Credentials

To use this component, you must first connect it to your Zoom account via the Nappai Credentials section. This ensures that the automation has the necessary permissions to manage your meetings.

  1. Go to the Credentials section in your Nappai dashboard.
  2. Create a new credential of type Zoom.
  3. Fill in the required fields:
    • Account ID: Your Zoom account identifier.
    • Client ID: Your API Key from the Zoom Marketplace.
    • Client Secret: Your API Secret from the Zoom Marketplace.
  4. Save the credential.
  5. In the Zoom component node, select this newly created credential from the Credential dropdown menu.

Note: You can create your credentials in the Zoom App Marketplace. Register a ‘Server-to-Server OAuth’ app and grant the necessary permissions.

Inputs

This component has a special mode called “Mapping Mode”. When you enable this mode using the toggle switch, an additional input called “Mapping Data” is activated, and each input field offers you three different ways to provide data:

  • Fixed: You type the value directly into the field.
  • Mapped: You connect the output of another component to use its result as the value.
  • Javascript: You write Javascript code to dynamically calculate the value.

This flexibility allows you to create more dynamic and connected workflows.

Input Fields

The following fields are available to configure this component. Each field may be visible in different operations:

  • Operation: [REQUERIDO] Select the Zoom operation to perform: create new meetings, retrieve meeting details, update scheduled meetings, or delete meetings. All operations work with free Zoom accounts.

    • Visible in: Operation
  • Get Meetings Mode: Choose retrieval mode: ‘By ID’ retrieves a specific meeting using Meeting ID, ‘List All’ retrieves all meetings for a user based on filter.

    • Visible in: Operation
  • User ID: [REQUERIDO] Zoom User ID or email. Use ‘me’ for authenticated user, email like ‘user@company.com’, or User ID like ‘z9jmZcq1QR2bWxYzABCDEF’. Required for ‘Create Meeting’ and ‘Get Meetings > List All’ modes.

    • Visible in: Create Meeting, Get Meetings
  • Meeting ID: [REQUERIDO] Zoom Meeting ID (9-11 digits like ‘123456789’) or UUID (like ‘z9jmZcq1QR2bWxYzABCDEF==’). Find it in meeting URL, ‘Get Meetings > List All’ output, or Zoom portal. IMPORTANT for Add Registrant: Meeting must have ‘Registration Required’ enabled in Zoom settings.

    • Visible in: Get Meetings, Update Meeting, Delete Meeting, Add Registrant
  • Meeting Topic: [REQUERIDO] Meeting title/name. Examples: ‘Weekly Team Standup’, ‘Q1 Planning Meeting’, ‘Client Demo - Project Alpha’.

    • Visible in: Create Meeting, Update Meeting
  • Meeting Type: Meeting type: Instant (start now), Scheduled (specific date/time), Recurring No Fixed (manual), Recurring Fixed (automatic). Most common: Scheduled Meeting.

    • Visible in: Create Meeting
  • Start Time: Meeting start time in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ). Examples: ‘2024-03-20T14:00:00Z’, ‘2024-12-25T09:30:00Z’. If empty, current date and time will be used automatically.

    • Visible in: Create Meeting, Update Meeting
  • Duration (minutes): Meeting duration in minutes. Common: 15 (quick sync), 30 (standard), 60 (one hour), 120 (two hours). Note: actual meetings can run longer than scheduled.

    • Visible in: Create Meeting, Update Meeting
  • Timezone: Timezone for meeting (IANA format). Examples: ‘UTC’, ‘America/New_York’, ‘America/Los_Angeles’, ‘Europe/London’, ‘Europe/Madrid’, ‘Asia/Tokyo’.

    • Visible in: Create Meeting, Update Meeting
  • Meeting Password: Optional password to join meeting (max 10 characters). Leave empty for no password. Examples: ‘Team2024’, ‘Secure123’.

    • Visible in: Create Meeting, Update Meeting
  • Meeting Agenda: Meeting description or agenda (max 2000 characters). Examples: ‘Discuss Q1 results and Q2 planning’, ‘Topics: Budget, Team updates, Action items’.

    • Visible in: Create Meeting, Update Meeting
  • Meeting Settings: Advanced settings as JSON. Common: {“host_video”: true, “participant_video”: true, “join_before_host”: false, “mute_upon_entry”: true, “waiting_room”: true, “auto_recording”: “cloud”}. Leave empty for defaults.

    • Visible in: Create Meeting, Update Meeting
  • Meetings Filter: Filter meetings by status when using ‘Get Meetings > List All’. Options: ‘scheduled’ (all past & future meetings), ‘live’ (currently happening), ‘upcoming’ (future only). Most common: ‘upcoming’ for active meetings.

    • Visible in: Get Meetings
  • Page Size: Number of results per page when using ‘Get Meetings > List All’ (min: 1, max: 300, default: 30). Use smaller numbers (10-30) for faster responses, larger (100-300) for comprehensive data.

    • Visible in: Get Meetings

Outputs

Output Data Example (JSON)

Depending on the operation selected, the component will return data that can be mapped to other nodes. Below is an example of the output when retrieving meeting details or creating a meeting. json { “data”: { “id”: “1234567890”, “topic”: “Weekly Team Standup”, “type”: 2, “status”: “scheduled”, “start_time”: “2024-03-20T14:00:00Z”, “duration”: 30, “timezone”: “America/New_York”, “join_url”: “https://zoom.us/j/1234567890?pwd=abc123”, “created_at”: “2024-03-15T10:00:00Z”, “updated_at”: “2024-03-15T10:00:00Z” }, “success”: true }

  • data: Contains the details of the meeting or meeting list.
  • success: Indicates if the operation was completed successfully.

Connectivity

This component is typically connected to:

  • Preceding Components: Data sources that provide meeting parameters, such as a calendar component (for dates), a text input (for topics), or a user directory component (for User IDs).
  • Succeeding Components: Components that act on the meeting data, such as:
    • Email Senders: To send the meeting invite link to participants.
    • Database/CRM Writers: To save meeting details or attendee lists to a CRM.
    • Text Processors: To analyze meeting transcripts or agendas.
    • Conditionals: To check if a meeting was successfully created or to filter meetings by status (e.g., only process “Live” meetings).

Usage Example

Scenario: Scheduling Weekly Team Meetings Automatically

  1. Trigger: A schedule component triggers every Monday at 8:00 AM.
  2. Zoom Component:
    • Operation: Select Create.
    • User ID: Map the User ID from the manager’s profile.
    • Meeting Topic: Set to “Weekly Team Sync”.
    • Meeting Type: Select Scheduled.
    • Start Time: Use a date formatter to set the next Monday at 9:00 AM.
    • Duration: Enter 30.
    • Timezone: Select America/New_York.
  3. Output: The component returns the join_url and meeting_id.
  4. Next Step: An email component uses the join_url to send an invitation to the team.

Important Notes

  • ⚠️ Limitation: Some operations (like creating recurring fixed meetings) may require specific Zoom subscription plans or API permissions. Ensure your Zoom app credentials have the necessary scopes.
  • 📋 Requirement: For ‘Get Meetings > List All’ mode, ensure you use appropriate Page Size values to avoid performance issues with large datasets.
  • 💡 Best Practice: When creating meetings, always specify the Timezone to avoid confusion with participants in different locations.
  • ℹ️ Behavior: The Start Time field is optional for some operations; if left empty, Zoom may use the current time. However, for scheduled meetings, providing a clear Start Time is recommended.
  • 🔒 Security: Never share your Client Secret or Account ID in public forums. These are sensitive credentials.

Tips and Best Practices

  • Use ‘me’ for User ID: If you want the meeting to be created by the user associated with the credentials, use me as the User ID.
  • Leverage Mapping Mode: Use the Mapping Mode to dynamically populate meeting topics or times based on data from previous workflow steps.
  • Check Meeting Status: After creating a meeting, you can use the Get Meetings component with the meeting_id to verify its status before proceeding with subsequent steps.
  • Handle Errors Gracefully: If a meeting creation fails, ensure your workflow has a fallback plan, such as notifying an administrator.

Security Considerations

  • Credential Management: Ensure your Zoom API credentials are stored securely within Nappai. Do not expose them in logs or share them externally.
  • API Permissions: Only grant the minimum necessary permissions to your Zoom App (e.g., read meeting details, create meetings) to follow the principle of least privilege.
  • Data Privacy: Be mindful of the data you pass to the Zoom API, such as participant names or agendas, to ensure compliance with privacy regulations.