-
Notifications
You must be signed in to change notification settings - Fork 70
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Schedule meetings #82
Comments
Excellent feature proposal, we need to spec out the UX and the turn it into a Help Wanted |
@Jacq The ability to create a scheduled meeting is not in the roadmap for the zoom plugin yet. We have a project (Slash Command Auto complete) that will be adding a date picker component which is needed for us to schedule meetings. Once we have that functionality, we can consider allowing users to schedule a zoom meeting from MM. |
@aaronrothschild |
A good starting point could be the reminder plugin that follows a similar workflow but also includes a dialog and the possibility to cancel previous reminds: |
As a first approach we would like to:
Bonus: Add a reminder when the meeting is about to start. |
@larkox @mickmister I am working on this issue currently. I have a few clarifications to ask:
If we do the above two things, I think we should do them as separate issues as this will make the PR very big and hard to review. Please let me know your opinions on this.
These are some screenshots of what we have till now:
|
@raghavaggarwal2308 The reminder is a nice to have. It can be considered for a future iteration. The fields LGTM. Again, it would be nice to verify with the Zoom user interface, to make sure we are not missing anything obvious. Another bonus point (can be done in future iterations) is that the scheduled meeting message doesn't show the "Join meeting" button until it is near the meeting (10 minutes before the meeting?) and it shows some kind of countdown to the meeting (e.g. "This meeting will start in 2 days", "This meeting will start in 30 minutes", etc...). This is something we would have to flesh out better, but again, can be handled in a future different PR. |
@matthewbirtch @asaadmahmood Is this something we want to support in the Zoom plugin? Curious what flow/outcome on how we expect this feature to work if so. @raghavaggarwal2308 I'm thinking if we have to implement the scheduling logic ourselves then we shouldn't implement this for the Zoom plugin. The plugin is essentially meant to be a "portal" into Zoom, and not manage the lifecycle of future Zoom meetings. That puts Mattermost in the position of "missed" meetings if there is an issue with scheduling the meeting. More specifically, if we have to "wait" until the time of the meeting to create the meeting, then we shouldn't implement this. But if Zoom's API supports scheduling in advance, then this sounds fine to me. Definitely want to get the UX down before we implement the feature though.
Unless Zoom has a webhook event for this, then 3/5 we shouldn't include that in this feature |
@mickmister Zoom definitely allows for scheduling meetings, and I think this could be a valuable addition. This is what fields are available in Zoom when scheduling an event: I think the fields that are most relevant for scheduling a meeting in MM are:
I think we could leave out the recurring meeting part to start. And attendees are sort of assumed based on the channel it's being scheduled for, so we may not need that to start either.
As per the screenshot above, it looks like you can choose between an automatically generated ID or your PMI when scheduling a meeting in Zoom.
A reminder would be great (5 minutes before meeting starts). I suppose that could be a follow-up PR to this, but it definitely seems important - especially if you're scheduling a meeting far in advance. Otherwise, it will be forgotten and no one will remember that the meeting is happening in the channel.
I think we could start simple here and only show 'join meeting' if it's 5 minutes or less before the meeting starts. Otherwise hide the button. That's where the reminder could come in as well. The reminder could essentially be the same post repeated in the channel at the 5 minutes mark before the meeting begins and it would have the button now active/visible to join the meeting. |
I agree with the points mentioned above. |
@matthewbirtch Thanks for the deep analysis 👍 There is a lot of overlap between this form and the Google Calendar form, so we probably want to converge or avoid duplicating efforts, trying to keep the solutions as conformant as possible. cc @fmartingr @raghavaggarwal2308 https://github.com/mattermost/mattermost-plugin-google-calendar/blob/master/webapp/src/components/modals/create_event_form.tsx
I agree with this. Creating the UI for this is the main challenge/effort, since Zoom would handle the scheduling etc. Implementing the flow for all of the recurring meeting options would be a large effort to develop and validate/test.
The main drawback I can think of if there are no attendees selected is that it won't show on everyone's Zoom calendar. Maybe that's not worth implementing just for that reason.
Adding a "5 minute reminder" will indeed increase the scope of this quite a bit (introducing time management in general to the plugin). A more straightforward version of this would be to use the Zoom "meeting started" event to ping the channel that the meeting has started. When the event is initially created in Mattermost, we can subscribe to that (potentially recurring) meeting id, to create posts whenever the meeting is started in the future. It's not perfect, but it would be a very small change to make this work.
I like this idea. We definitely don't want to convey "join meeting" if the meeting time is far in the future. It would also be interesting to subscribe an existing meeting id to a channel, so you could get benefits of reminding for an existing recurring meeting. |
@mickmister Currently we are using the Mattermost interactive dialog for creating the form. Should we use a custom component instead? Just to summarize:
Please correct me if I missed something. |
@raghavaggarwal2308 The date picker is one of the main reasons why we chose to use a custom component. I'm not sure if manually entering the date is good enough UX for this feature. I'll ask @matthewbirtch for his opinion on this. We'll also need to take into account timezones either way
I think this is referring to the "post that happens at the time of the meeting", which should have the join meeting button as you mentioned |
@mickmister According to the previous flow I think this checkbox is to post in the channel just after submitting the dialog. Something like the screenshot below but without the join meeting button. We need to change the name of the checkbox to something like "Post meeting details in the channel". We can also use it as you suggest (That should we post the meeting link in the channel if the meeting is about to start.) Please let me know your thoughts on this. |
@raghavaggarwal2308 Maybe we can have two checkboxes. Something like:
Also, a workaround for the user having a 5 minute reminder is to schedule the meeting 5 minutes before the time they specify. We would tell them that we're doing this so it's not a surprise, or they could do that manually instead. A little hacky but it allows them to have a reminder ahead of time |
@mickmister Sounds good to me.
2/5 I am a little dicey about this. We will be showing the correct time on the MM post but on Zoom it will be showing a time 5 min earlier. Although we already told the user that we are doing so, it still does not sound very user-friendly. I think the user can do it manually if he wants. Please let me know your opinions. |
@mickmister Can you please let us know your opinions on this? |
@raghavaggarwal2308 Yeah let's not do the 5 minute before thing |
Apologies for the late reply on this. Manual text entry for a date definitely would not work well and would be very error-proned for users. A date picker is pretty important/expected here. |
Is it possible or in the roadmap to schedule meetings using the registered zoom account?
Cheers
The text was updated successfully, but these errors were encountered: