Zoom integration #34

Closed
opened 2019-04-28 11:41:05 +00:00 by raucao · 3 comments
raucao commented 2019-04-28 11:41:05 +00:00 (Migrated from github.com)

I think it would be great if we automatically tracked attendance of our Kosmos weekly calls and issued a small contribution for everyone present. I found out how we can do this easily via the API:

https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/pastmeetingparticipants

Screenshot from 2019-04-28 12-37-18

As unregistered users don't have a Zoom ID, we'll probably want to use the name field for the contributor profile (although we can add both, of course).

I think it would be great if we automatically tracked attendance of our Kosmos weekly calls and issued a small contribution for everyone present. I found out how we can do this easily via the API: https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/pastmeetingparticipants ![Screenshot from 2019-04-28 12-37-18](https://user-images.githubusercontent.com/842/56863787-95cf5980-69b2-11e9-9552-f4f4d3347e27.png) As unregistered users don't have a Zoom ID, we'll probably want to use the name field for the contributor profile (although we can add both, of course).
raucao commented 2020-01-22 16:07:44 +00:00 (Migrated from github.com)

@bumi Any news on this? Is there still a blocker?

@bumi Any news on this? Is there still a blocker?
raucao commented 2020-01-23 18:05:19 +00:00 (Migrated from github.com)

They changed a few things about the API, and the new way to go for our use case is a JWT app with webhooks configured. I created just that and tested it successfully. Here's the webhook payload of an ended meeting:

{
  "event": "meeting.ended",
  "payload": {
    "account_id": "123456789",
    "object": {
      "duration": 30,
      "start_time": "2020-01-23T17:40:32Z",
      "timezone": "Europe/Berlin",
      "end_time": "2020-01-23T17:42:54Z",
      "topic": "Kosmos Weekly Call",
      "id": "414901303",
      "type": 3,
      "uuid": "HUO2bnTGQh6x/Y+nmnuyng==",
      "host_id": "go8yD3bYTmyXfKuqU2MZvw"
    }
  }
}

(That date/time string is actually the correct UTC time, so we can ignore the "timezone" property entirely. No idea what it's for, or where it comes from.)

There's an active subscription configured for the end-meeting events, requests for which you can inspect at https://webhook.site/#!/49d390e8-b8dd-4bbe-befc-3d161e46671a/

The second step is then just getting the list of participants, as documented above already, and configure and use the JWT token for those requests:

https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/pastmeetingparticipants

They changed a few things about the API, and the new way to go for our use case is a JWT app with webhooks configured. I created just that and tested it successfully. Here's the webhook payload of an ended meeting: ```json { "event": "meeting.ended", "payload": { "account_id": "123456789", "object": { "duration": 30, "start_time": "2020-01-23T17:40:32Z", "timezone": "Europe/Berlin", "end_time": "2020-01-23T17:42:54Z", "topic": "Kosmos Weekly Call", "id": "414901303", "type": 3, "uuid": "HUO2bnTGQh6x/Y+nmnuyng==", "host_id": "go8yD3bYTmyXfKuqU2MZvw" } } } ``` (That date/time string is actually the correct UTC time, so we can ignore the "timezone" property entirely. No idea what it's for, or where it comes from.) There's an active subscription configured for the end-meeting events, requests for which you can inspect at https://webhook.site/#!/49d390e8-b8dd-4bbe-befc-3d161e46671a/ The second step is then just getting the list of participants, as documented above already, and configure and use the JWT token for those requests: https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/pastmeetingparticipants
raucao commented 2020-01-23 18:06:17 +00:00 (Migrated from github.com)

Oh, I also had the idea to only automatically propose kredits for ended meetings with 3 or more participants. This way, we can still use the same ID for e.g. pair programming and such, without having to think about potential kredits entries.

Oh, I also had the idea to only automatically propose kredits for ended meetings with 3 or more participants. This way, we can still use the same ID for e.g. pair programming and such, without having to think about potential kredits entries.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kredits/hubot-kredits#34
No description provided.