<aside> 💡 This request will not be successful without the session token passed in as a cookie. Session cookies begin with xoxd- and are stored in the d cookie on the Slack client.

</aside>

Sample Request Body with Content-Type multipart/form-data;:

channel_id: <SLACK_CHANNEL_ID>
regions: us-east-2
token: <SLACK_CLIENT_TOKEN>

Sample Response Body (edited to remove IDs and tokens):

{
  "ok": true,
  "call": {
    "survey_percent": 0.05,
    "free_willy": {
      "meeting": {
        "ExternalMeetingId": "<TEAMID>-<CALL_ID>-<USER_ID>",
        "MediaPlacement": {
          "AudioFallbackUrl": "wss://haxrp.m1.ue2.app.chime.aws:443/calls/<MEETING_ID>",
          "AudioHostUrl": "<RANDOM_ID>.k.m1.ue2.app.chime.aws:3478",
          "ScreenDataUrl": "wss://bitpw.m1.ue2.app.chime.aws:443/v2/screen/<MEETING_ID>",
          "ScreenSharingUrl": "wss://bitpw.m1.ue2.app.chime.aws:443/v2/screen/<MEETING_ID>",
          "ScreenViewingUrl": "wss://bitpw.m1.ue2.app.chime.aws:443/ws/connect?passcode=null&viewer_uuid=null&X-BitHub-Call-Id=<MEETING_ID>",
          "SignalingUrl": "wss://signal.m1.ue2.app.chime.aws/control/<MEETING_ID>",
          "TurnControlUrl": "<https://ccp.cp.ue1.app.chime.aws/v2/turn_sessions>",
          "EventIngestionUrl": null
        },
        "MediaRegion": "us-east-2",
        "MeetingId": "<MEETING_ID>"
      },
      "attendee": {
        "AttendeeId": "<random_guid>",
        "ExternalUserId": "<TEAMID>-<CALL_ID>-<USER_ID>",
        "JoinToken": "<some_special_token>",
        "Tags": null
      }
    },
    "call_id": "<CALL_ID>"
  }
}

On the Slack web client, it appears that a WebSocket connection is established to the SignalingUrl after receiving this response, and remains active whilst you are in a huddle. I noticed a ton of binary data being sent and received - I'm not sure how to decode it but perhaps this is audio?

From a quick look at the first WS message sent with human readable data, it looks like Slack just uses the Amazon Chime SDK wooooooooooo

00000000: 0508 b7a1 cba1 b12f 1001 223e 0802 1019  ......./..">....
00000001: 180b 2230 2a06 6368 726f 6d65 3209 3932  .."0*.chrome2.92
00000002: 2e30 2e34 3531 353a 1361 6d61 7a6f 6e2d  .0.4515:.amazon-
00000003: 6368 696d 652d 7364 6b2d 6a73 4206 322e  chime-sdk-jsB.2.
00000004: 3133 2e30 30ae 9fe1 9f05                 13.00.....

Out of the first dozen WS messages sent/received, 5 of them have human readable text, which I believe is used to initialize the call? after that its a bunch of gibberish