Twilio Video

Demo to preview the settings

Introduction

The plugin allows you to create conferencing, video and audio calls in your bubble application using Twilio API

Prerequisites

To use the plugin, you must register and get an access key on Twilio.

How to setup

  1. Go to https://www.twilio.com/console.
  1. Username and SID - ACCOUNT SID, Password - AUTH TOKEN.
    1. Image without caption
  1. API_KEY and API_SECRET generate https://www.twilio.com/console/project/api-keys
  1. Insert the received API key into the plugin settings.
    1. Image without caption

Plugin Elements

TwilioVideoCtrl Fields

Title
Description
Type
identity
User identifier (email)
text
room
Room name
text
local_video_id
Id of elements for displaying media
text
local_screen_id
Id of elements for displaying media
text
remote_videos
Id of elements for remote media
text
remote_screens
Id of elements for remotemedia
text
There are two possibilities for transferring up to 50 elements remote_videos and remote_screens - specify the id list separated by commas, or specify a prefix to which the sequence numbers of participants from 1 to 50 will be added. In the example, the prefixes rv and rs, respectively, the elements must have id: rv1 rv2 rv3 ... and rs1 rs2 rs3 ... The video is displayed in the video element added inside the element, if the corresponding element is not found, the video will not be displayed.

TwilioVideoCtrl Actions

join

Enable broadcasting of a certain type of stream (media video audio screen)
Fields:
Title
Description
Type
type
View media video audio screen
text
token
*the token is not required to be re-requested
text

leave

Leave the room

on

Enable the broadcast of a certain type of stream (video audio screen)
Title
Description
Type
type
Video audio screen
text

off

Disable the broadcast of a certain type of stream (video audio screen)
Fields:
Title
Description
Type
type
Video audio screen
text

TwilioVideoCtrl States

States:
Title
Description
Type
log
Log state
list

TwilioReplay Fields

Title
Description
Type
videos
Id of the element
text
screens
Id of the element
text

TwilioReplay Actions

buildTimeline

To build a timeline
Title
Description
Type
recordings
Recordings (returned value "recs" of action "getRecordingsA”)
text

play

pause

stop

TwilioReplay Events

Events:
Name
Description
play_end
Stop play event

Plugin Actions

moveVideo

Transferring video to another container
Fields:
Title
Description
Type
idFrom
ID of the container from which the video is transmitted
text
idTo
ID of the container to which the video is transmitted
text
play
Play video
yes/no

getTokenA

Get token.
Fields:
Title
Description
Type
identity
User identifier (email)
text
Return values:
Title
Description
Type
token
Token
text

getRecordingsA

Request a list of recording fragment.
Fields:
Title
Description
Type
roomsid
Room ID
text
Return values:
Title
Description
Type
recs
Recording fragments
text
room
Room
text
error
Error text
text

CreateRoom

Create room
Fields:
Title
Description
Type
UniqueName
Room name
text
RecordParticipantsOnConnect
Allow participants to be recorded for connection
yes/no
Return values:
Title
Description
Type
status
Status
text
type
Type room
text
enable_turn
Enable turn
yes/no
unique_name
Room name
text
max_participants
Maximum number of participants
number
max_participant_duration
Maximum duration
number
max_concurrent_published_tracks
Maximum concurrent published tracks
number
duration
Duration
number
url
Room url
text

GetRoom

Get room
Fields:
Title
Description
Type
Room sid
Room ID
text
Return values:
Title
Description
Type
status
Status
text
type
Type room
text
enable_turn
Enable turn
yes/no
unique_name
Room name
text
max_participants
Maximum number of participants
number
max_participant_duration
Maximum duration
number
max_concurrent_published_tracks
Maximum concurrent published tracks
number
duration
Duration
number
url
Room url
text

completeRoom

Complete room
Fields:
Title
Description
Type
roomsid
Room ID
text
Return values:
Title
Description
Type
results
Results room
text
error
Error text
text

Workflow example

  1. In cases where the TwilioVideo element is placed in the element group and the room name of the TwilioVideo element has a dynamic value depending on the group entity, then in the WF sequence you must first transfer the entity value to the element group, and then call getToken. Because when requesting a token, the room name of the TwilioVideo element is sent
    1. Image without caption
      Image without caption
  1. If type = view is passed to the JoinTwilio action, then in the next action to turn on the microphone or camera before the JoinTwilio action with the type = audio or type = video parameter, you must first obtain a token (execute the GetToken action).

ChangeLogs

Update 12.09.23 - Version 2.10.0

  • Internal Update