-
-
Notifications
You must be signed in to change notification settings - Fork 109
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
Meeting as a Service #245
Comments
I would like to help on this issue. |
@Krishks369 awesome 🚀 so I definitely need someones help to first figure out Zoom API. How using API:
we need some working JS code that showcases how to do these 3 things and we know:
we do not have yet official zoom account, so explore all the things on a free private account |
Have no opinion on this, @derberg. I'll keep paying for MailChimp for now so not a problem. Whatever works best. |
@derberg I want to work on the 'Event scheduling automation' part. I have no prior experience with the Zoom API but I can go through it. The rest of the parts seem related to it. So maybe I can pick up more stuff as we proceed ? |
@sudoshreyansh hey, @Krishks369 will work on Zoom. You could figure out the Google API, write JS code that can create an event and cancel it with API and specify what we technically need. We also need events listing so later we can use it with MailChimp Then we also need someone to figure out MailChimp API to send emails, what options we have there, how the email template part works, or better just create it once, manually and then use it's Id when calling API, but then how to pass customer content with meetings list. Just please folks, write in comments who works on what, so we do not duplicate efforts 🙏🏼 |
Ok @derberg I'll work on the Google API. |
I went through both Google Calendar and Teamup but I couldn't find any advantage of Google Calendar over Teamup from the user's perspective. Both provide an ICS feed so everyone can use whatever app they want. And Teamup's UI is much better for embedding. From the API perspective, Google Calendar's API requires you to generate tokens through OAuth or create a service account which is a lot more setup than Teamup. Other than this, both the APIs provided the required functionality. If the free subscription limits of Teamup are not a problem, I personally think Teamup would be a better option. |
Thanks! I had the same view when I was checking team up, embedding is much better. What changes my perspective though is that over a half of our slack users are people with Gmail account. So you know, much easier for them to integrate asyncapi calendar with their calendars. This is what is super strong in Google calendar in our case. And complexity with service account setup is not something reoccurring but happens only once. So it is "easiness of team up embedding" vs "easiness in integrating calendar". The question is what is more important 😃 embedding can always be mitigated by using API to fetch info about meetings to put them on the website as a list 🤔 like it is done now (but we fetch info from GH Issues) |
Yeah, that's true. So shall we go with Google Calendar or you want to give it more time ? |
yeah, let's go with google calendar, existence of ICS file solves a problem for people that do not want to have Google Account. |
Okay |
After looking through the Zoom API documentation and coding some API calls. I have a working I have included the body of the request to let know what are the fields that are basic requirements to create a meeting
|
@Krishks369 awesome! As for the captions, looks like it is a global one-time setting. I just enabled it for our current zoom account We will see how it works during our next live stream next Wednesday -> #256 @alequetzalli can I ask you to check out how it goes? I mean look at the live stream recording and share opinion if this is ok or maybe we need something more sophisticated like otter.ai 🙏🏼 |
I have written the JavaScript code for automating Google Calendar. The code can create, update, list upcoming, and delete events. For creation, it requires:
Google Calendar also allows events to have private metadata which can be queried on. I currently store the GitHub issue number in the metadata of the events, which allows deletion and updation of events using the issue number. Moreover, upcoming recurring events which do not have their GitHub issues opened yet, can also be queried and updated when their issues are opened. For using the API, the code requires the key of a service account which has read and write access to the AsyncAPI Calendar. |
See, it may sound a crazy idea to execute it via asyncapi/cli something like this.. @fmvilas @derberg but still I would definitely want to give it a try, as this will be nice fun to do 😄 and make Frans and Lukasz life easier.
meetconfig.json {
"type": "sig" | "contributor-stream" | "spec-3-meeting"|"custom-meeting",
"title": "optional, logic will be calculated based on previous meeting title, lik sig 3 sig 4",
"date": "8th Feb 2022",
"repeats: "bi-weekly",
"starts":"930PM IST",
"ends":"1030PM IST",
"group":optional
...moreCustomOptions
} |
@imabp That's a nice idea. But asyncapi/cli is a public-facing product if I am not wrong. How do you plan to add a developer's only feature in it? |
@sudoshreyansh But creating a slack bot will help for such things.. |
Hey folks, lovely volunteers, does anyone have time to crack MailChimp API in are of newsletter requirements described in the issue? We know google API, we know Zoom, just MailChimp capabilities are not clear |
Do you have any issues relevant to what we need to implement using Mailchimp? I can try out few of them. |
We need to check if there is API to send an email using a given template created in MailChimp. We need also option to feed the template with custom content (list of meetings). And have simple code sample that shows how to use the API |
@sudoshreyansh @Krishks369 can you folks share the code that you researched, for zoom and google calendar? I want to start working on final implementation |
@derberg
config.js
This api call is to create a meeting, change the fields wherever required and add fields according to the specific needs. Do ping me if you want some more info on specific settings. more customization can be found in this Link |
@derberg sorry for the delay. Let me know if you have any issues or queries. |
Reason/Context
We grow as community, and also the need for different "focused" meetings grows. One of our principles is to be extremely transparent with all discussions. We need as easy as possible path to setup a meeting that is live streamed and recorded so anyone can see what was it about.
At the moment it is all manual, and I'm setting these things, and it is wrong. I don't want to be a bottleneck it the process.
Description
What we already have automated is the meeting issue (example) creation using this workflow
Such workflow can be run from UI, but also API and even GitHub CLI.
What we need to work on
Event scheduling automation
First, as discussed here, we stop using Google Calendar and use Teamup (I already crated account for us -> https://teamup.com/ksdsztvo3116jrx9ip). Although I'm still not 100% sure it is needed, Google also have API, and ICS files, so you do not really need Google Account to know about events and can be fully anonymous (I just haven't seen any community using something different than Google Account)
We need automation that:
The trigger should be limited to folks that have the right to trigger
workflow_dispatch
:Additionally:
Bonus:
many meetings have defined schedule, so would be nice to have an option to also schedule the meeting with automation only once, and then there would be a workflow that automatically creates GitHub issue for given meeting.
CRON schedule that sends newsletter
Again, as other automation, it should be GH Actions workflow.
We stop using Google Groups, we will use our MailChimp account where we have folks subscribed already. We will move folks from Google Groups there too.
Cron automation should send on Friday morning an email with a summary of all the AsyncAPI meetings that happen next week:
Meeting cancelation
It can happen that once scheduled meeting must be canceled.
We need automation:
closed
Ad hoc meeting schedule
There is a use case that you want to discuss something with few folks ad hoc, brainstorm together but still in a transparent way, so it is visible to others.
We need simplified workflow that just creates zoom meeting and sends you back the meeting link.
Presentation layer aka UI
We need a way to present calendar to the community. On asyncapi.com landing page we have some information. I was just thinking if this is enough. Maybe we should embed calendar directly on the website? (but we would need to make Google Calendar much prettier than it is now 😄 )
So:
community
repo, like new meeting is added or some meeting got canceledSTUFF WE CANNOT AUTOMATE
we just need to document:
☝🏼 needs to be well documented, probably this doc needs to be extended
we of course also need to document who has rights to run above automation to setup meetings
The text was updated successfully, but these errors were encountered: