meetings
Creates, updates, deletes, gets or lists a meetings resource.
Overview
| Name | meetings |
| Type | Resource |
| Id | cloudflare.realtime_kit.meetings |
Fields
The following fields are returned by SELECT queries:
SELECT not supported for this resource, use SHOW METHODS to view available operations for the resource.
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
refresh_participant_token | insert | account_id, app_id, meeting_id, participant_id | Regenerates participant's authentication token for the given meeting and participant ID. | |
add_participant | insert | account_id, app_id, meeting_id, preset_name, custom_participant_id | Adds a participant to the given meeting ID. | |
create | insert | account_id, app_id | Create a meeting for the given App ID. | |
edit_participant | update | meeting_id, participant_id, account_id, app_id | Updates a participant's details for the given meeting and participant ID. | |
update_meeting_by_id | update | meeting_id, account_id, app_id | Updates a meeting in an App for the given meeting ID. | |
replace_meeting_by_id | replace | meeting_id, account_id, app_id | Replaces all the details for the given meeting ID. | |
delete_meeting_participant | delete | meeting_id, participant_id, account_id, app_id | Deletes a participant for the given meeting and participant ID. |
Parameters
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
account_id | string | The Cloudflare account ID. |
app_id | string | The Access application ID. |
meeting_id | string | The Realtime Kit meeting ID. |
participant_id | string | ID of the participant. You can fetch the participant ID using the add a participant API. |
INSERT examples
- refresh_participant_token
- add_participant
- create
- Manifest
Regenerates participant's authentication token for the given meeting and participant ID.
INSERT INTO cloudflare.realtime_kit.meetings (
account_id,
app_id,
meeting_id,
participant_id
)
SELECT
'{{ account_id }}',
'{{ app_id }}',
'{{ meeting_id }}',
'{{ participant_id }}'
RETURNING
data,
success
;
Adds a participant to the given meeting ID.
INSERT INTO cloudflare.realtime_kit.meetings (
custom_participant_id,
name,
picture,
preset_name,
account_id,
app_id,
meeting_id
)
SELECT
'{{ custom_participant_id }}' /* required */,
'{{ name }}',
'{{ picture }}',
'{{ preset_name }}' /* required */,
'{{ account_id }}',
'{{ app_id }}',
'{{ meeting_id }}'
RETURNING
data,
success
;
Create a meeting for the given App ID.
INSERT INTO cloudflare.realtime_kit.meetings (
ai_config,
live_stream_on_start,
persist_chat,
record_on_start,
recording_config,
session_keep_alive_time_in_secs,
summarize_on_end,
title,
account_id,
app_id
)
SELECT
'{{ ai_config }}',
{{ live_stream_on_start }},
{{ persist_chat }},
{{ record_on_start }},
'{{ recording_config }}',
{{ session_keep_alive_time_in_secs }},
{{ summarize_on_end }},
'{{ title }}',
'{{ account_id }}',
'{{ app_id }}'
RETURNING
data,
success
;
# Description fields are for documentation purposes
- name: meetings
props:
- name: account_id
value: "{{ account_id }}"
description: Required parameter for the meetings resource.
- name: app_id
value: "{{ app_id }}"
description: Required parameter for the meetings resource.
- name: meeting_id
value: "{{ meeting_id }}"
description: Required parameter for the meetings resource.
- name: participant_id
value: "{{ participant_id }}"
description: Required parameter for the meetings resource.
- name: custom_participant_id
value: "{{ custom_participant_id }}"
description: |
A unique participant ID. You must specify a unique ID for the participant, for example, UUID, email address, and so on.
- name: name
value: "{{ name }}"
description: |
(Optional) Name of the participant.
- name: picture
value: "{{ picture }}"
description: |
(Optional) A URL to a picture to be used for the participant.
- name: preset_name
value: "{{ preset_name }}"
description: |
Name of the preset to apply to this participant.
default: group_call_host
- name: ai_config
description: |
The AI Config allows you to customize the behavior of meeting transcriptions and summaries
value:
summarization:
summary_type: "{{ summary_type }}"
text_format: "{{ text_format }}"
word_limit: {{ word_limit }}
transcription:
keywords:
- "{{ keywords }}"
language: "{{ language }}"
profanity_filter: {{ profanity_filter }}
- name: live_stream_on_start
value: {{ live_stream_on_start }}
description: |
Specifies if the meeting should start getting livestreamed on start.
default: false
- name: persist_chat
value: {{ persist_chat }}
description: |
If a meeting is set to persist_chat, meeting chat would remain for a week within the meeting space.
default: false
- name: record_on_start
value: {{ record_on_start }}
description: |
Specifies if the meeting should start getting recorded as soon as someone joins the meeting.
default: false
- name: recording_config
description: |
Recording Configurations to be used for this meeting. This level of configs takes higher preference over App level configs on the RealtimeKit developer portal.
value:
audio_config:
channel: "{{ channel }}"
codec: "{{ codec }}"
export_file: {{ export_file }}
file_name_prefix: "{{ file_name_prefix }}"
live_streaming_config:
rtmp_url: "{{ rtmp_url }}"
max_seconds: {{ max_seconds }}
realtimekit_bucket_config:
enabled: {{ enabled }}
storage_config:
access_key: "{{ access_key }}"
auth_method: "{{ auth_method }}"
bucket: "{{ bucket }}"
host: "{{ host }}"
password: "{{ password }}"
path: "{{ path }}"
port: {{ port }}
private_key: "{{ private_key }}"
region: "{{ region }}"
secret: "{{ secret }}"
type: "{{ type }}"
username: "{{ username }}"
video_config:
codec: "{{ codec }}"
export_file: {{ export_file }}
height: {{ height }}
watermark:
position: "{{ position }}"
size:
height: {{ height }}
width: {{ width }}
url: "{{ url }}"
width: {{ width }}
- name: session_keep_alive_time_in_secs
value: {{ session_keep_alive_time_in_secs }}
description: |
Time in seconds, for which a session remains active, after the last participant has left the meeting.
default: 60
- name: summarize_on_end
value: {{ summarize_on_end }}
description: |
Automatically generate summary of meetings using transcripts. Requires Transcriptions to be enabled, and can be retrieved via Webhooks or summary API.
default: false
- name: title
value: "{{ title }}"
description: |
Title of the meeting
UPDATE examples
- edit_participant
- update_meeting_by_id
Updates a participant's details for the given meeting and participant ID.
UPDATE cloudflare.realtime_kit.meetings
SET
name = '{{ name }}',
picture = '{{ picture }}',
preset_name = '{{ preset_name }}'
WHERE
meeting_id = '{{ meeting_id }}' --required
AND participant_id = '{{ participant_id }}' --required
AND account_id = '{{ account_id }}' --required
AND app_id = '{{ app_id }}' --required
RETURNING
data,
success;
Updates a meeting in an App for the given meeting ID.
UPDATE cloudflare.realtime_kit.meetings
SET
ai_config = '{{ ai_config }}',
live_stream_on_start = {{ live_stream_on_start }},
persist_chat = {{ persist_chat }},
record_on_start = {{ record_on_start }},
session_keep_alive_time_in_secs = {{ session_keep_alive_time_in_secs }},
status = '{{ status }}',
summarize_on_end = {{ summarize_on_end }},
title = '{{ title }}'
WHERE
meeting_id = '{{ meeting_id }}' --required
AND account_id = '{{ account_id }}' --required
AND app_id = '{{ app_id }}' --required
RETURNING
data,
success;
REPLACE examples
- replace_meeting_by_id
Replaces all the details for the given meeting ID.
REPLACE cloudflare.realtime_kit.meetings
SET
ai_config = '{{ ai_config }}',
live_stream_on_start = {{ live_stream_on_start }},
persist_chat = {{ persist_chat }},
record_on_start = {{ record_on_start }},
recording_config = '{{ recording_config }}',
session_keep_alive_time_in_secs = {{ session_keep_alive_time_in_secs }},
summarize_on_end = {{ summarize_on_end }},
title = '{{ title }}'
WHERE
meeting_id = '{{ meeting_id }}' --required
AND account_id = '{{ account_id }}' --required
AND app_id = '{{ app_id }}' --required
RETURNING
data,
success;
DELETE examples
- delete_meeting_participant
Deletes a participant for the given meeting and participant ID.
DELETE FROM cloudflare.realtime_kit.meetings
WHERE meeting_id = '{{ meeting_id }}' --required
AND participant_id = '{{ participant_id }}' --required
AND account_id = '{{ account_id }}' --required
AND app_id = '{{ app_id }}' --required
;