Design: Zoom API authentication workflow

Problem Statement

We need to define the workflow for how a user will enable the Zoom integration within a project. This will allow users within a project to:

  • Quickly authorize a Zoom account
  • Spin up a new Zoom meeting within an issue
  • Associate an existing Zoom meeting to an issue
  • View the current status of the associated Zoom meeting
  • Display any relevant metadata about a meeting (attendees, duration, host, etc....)

Ideal Workflow

Ideally, a single user will be able to enable the Zoom integration for all users within a project. This would require a single user to authorize access to Zoom, not every user within a project. Access to the Zoom meeting should be managed within Zoom, not GitLab.

Possible solutions

  • Utilize the Zoom JWT integration
  • OAuth integration

Questions we need answers to

  • Is it possible to have a single user authorize the Zoom integration, allowing all users in the project to create/attach a Zoom meeting?
  • What is the current JWT configuration workflow?
  • What is the experience in an issue, if all users must authorize via OAuth?
  • Do we need to create a GitLab app in the Zoom marketplace? if so, what is the level of effort including app marketplace approval?
  • Is there a scoped down solution that will deliver value to the users?

Design Resources / Artifacts

  • Incident Management: Incident Response User Journey
  • Embedded Zoom - Storymap
  • Sketch File
Edited Aug 09, 2019 by Seth Engelhard
Assignee Loading
Time tracking Loading