{"id":"5226335a-6649-4663-8c2e-b083dcb2ccae","shortId":"8RJxFu","kind":"skill","title":"telnyx-voice-conferencing-javascript","tagline":">-","description":"<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->\n\n# Telnyx Voice Conferencing - JavaScript\n\n## Installation\n\n```bash\nnpm install telnyx\n```\n\n## Setup\n\n```javascript\nimport Telnyx from 'telnyx';\n\nconst client = new Telnyx({\n  apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted\n});\n```\n\nAll examples below assume `client` is already initialized as shown above.\n\n## Error Handling\n\nAll API calls can fail with network errors, rate limits (429), validation errors (422),\nor authentication errors (401). Always handle errors in production code:\n\n```javascript\ntry {\n  const result = await client.messages.send({ to: '+13125550001', from: '+13125550002', text: 'Hello' });\n} catch (err) {\n  if (err instanceof Telnyx.APIConnectionError) {\n    console.error('Network error — check connectivity and retry');\n  } else if (err instanceof Telnyx.RateLimitError) {\n    // 429: rate limited — wait and retry with exponential backoff\n    const retryAfter = err.headers?.['retry-after'] || 1;\n    await new Promise(r => setTimeout(r, retryAfter * 1000));\n  } else if (err instanceof Telnyx.APIError) {\n    console.error(`API error ${err.status}: ${err.message}`);\n    if (err.status === 422) {\n      console.error('Validation error — check required fields and formats');\n    }\n  }\n}\n```\n\nCommon error codes: `401` invalid API key, `403` insufficient permissions,\n`404` resource not found, `422` validation error (check field formats),\n`429` rate limited (retry with exponential backoff).\n\n## Important Notes\n\n- **Pagination:** List methods return an auto-paginating iterator. Use `for await (const item of result) { ... }` to iterate through all pages automatically.\n\n## Enqueue call\n\nPut the call in a queue.\n\n`POST /calls/{call_control_id}/actions/enqueue` — Required: `queue_name`\n\nOptional: `client_state` (string), `command_id` (string), `keep_after_hangup` (boolean), `max_size` (integer), `max_wait_time_secs` (integer)\n\n```javascript\nconst response = await client.calls.actions.enqueue('call_control_id', { queue_name: 'support' });\n\nconsole.log(response.data);\n```\n\nReturns: `result` (string)\n\n## Remove call from a queue\n\nRemoves the call from a queue.\n\n`POST /calls/{call_control_id}/actions/leave_queue`\n\nOptional: `client_state` (string), `command_id` (string)\n\n```javascript\nconst response = await client.calls.actions.leaveQueue('v3:550e8400-e29b-41d4-a716-446655440000_gRU1OGRkYQ');\n\nconsole.log(response.data);\n```\n\nReturns: `result` (string)\n\n## List conferences\n\nLists conferences. Conferences are created on demand, and will expire after all participants have left the conference or after 4 hours regardless of the number of active participants. Conferences are listed in descending order by `expires_at`.\n\n`GET /conferences`\n\n```javascript\n// Automatically fetches more pages as needed.\nfor await (const conference of client.conferences.list()) {\n  console.log(conference.id);\n}\n```\n\nReturns: `connection_id` (string), `created_at` (string), `end_reason` (enum: all_left, ended_via_api, host_left, time_exceeded), `ended_by` (object), `expires_at` (string), `id` (string), `name` (string), `record_type` (enum: conference), `region` (string), `status` (enum: init, in_progress, completed), `updated_at` (string)\n\n## Create conference\n\nCreate a conference from an existing call leg using a `call_control_id` and a conference name. Upon creating the conference, the call will be automatically bridged to the conference. Conferences will expire after all participants have left the conference or after 4 hours regardless of the number of active participants.\n\n`POST /conferences` — Required: `call_control_id`, `name`\n\nOptional: `beep_enabled` (enum: always, never, on_enter, on_exit), `client_state` (string), `comfort_noise` (boolean), `command_id` (string), `duration_minutes` (integer), `hold_audio_url` (string), `hold_media_name` (string), `max_participants` (integer), `region` (enum: Australia, Europe, Middle East, US), `start_conference_on_create` (boolean)\n\n```javascript\nconst conference = await client.conferences.create({\n  call_control_id: 'v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg',\n  name: 'Business',\n});\n\nconsole.log(conference.data);\n```\n\nReturns: `connection_id` (string), `created_at` (string), `end_reason` (enum: all_left, ended_via_api, host_left, time_exceeded), `ended_by` (object), `expires_at` (string), `id` (string), `name` (string), `record_type` (enum: conference), `region` (string), `status` (enum: init, in_progress, completed), `updated_at` (string)\n\n## List conference participants\n\nLists conference participants\n\n`GET /conferences/{conference_id}/participants`\n\n```javascript\n// Automatically fetches more pages as needed.\nfor await (const conferenceListParticipantsResponse of client.conferences.listParticipants(\n  'conference_id',\n)) {\n  console.log(conferenceListParticipantsResponse.id);\n}\n```\n\nReturns: `call_control_id` (string), `call_leg_id` (string), `conference` (object), `created_at` (string), `end_conference_on_exit` (boolean), `id` (string), `muted` (boolean), `on_hold` (boolean), `record_type` (enum: participant), `soft_end_conference_on_exit` (boolean), `status` (enum: joining, joined, left), `updated_at` (string), `whisper_call_control_ids` (array[string])\n\n## Retrieve a conference\n\nRetrieve an existing conference\n\n`GET /conferences/{id}`\n\n```javascript\nconst conference = await client.conferences.retrieve('550e8400-e29b-41d4-a716-446655440000');\n\nconsole.log(conference.data);\n```\n\nReturns: `connection_id` (string), `created_at` (string), `end_reason` (enum: all_left, ended_via_api, host_left, time_exceeded), `ended_by` (object), `expires_at` (string), `id` (string), `name` (string), `record_type` (enum: conference), `region` (string), `status` (enum: init, in_progress, completed), `updated_at` (string)\n\n## End a conference\n\nEnd a conference and terminate all active participants.\n\n`POST /conferences/{id}/actions/end`\n\nOptional: `command_id` (string)\n\n```javascript\nconst response = await client.conferences.actions.endConference(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n);\n\nconsole.log(response.data);\n```\n\nReturns: `result` (string)\n\n## Gather DTMF using audio prompt in a conference\n\nPlay an audio file to a specific conference participant and gather DTMF input.\n\n`POST /conferences/{id}/actions/gather_using_audio` — Required: `call_control_id`\n\nOptional: `audio_url` (string), `client_state` (string), `gather_id` (string), `initial_timeout_millis` (integer), `inter_digit_timeout_millis` (integer), `invalid_audio_url` (string), `invalid_media_name` (string), `maximum_digits` (integer), `maximum_tries` (integer), `media_name` (string), `minimum_digits` (integer), `stop_playback_on_dtmf` (boolean), `terminating_digit` (string), `timeout_millis` (integer), `valid_digits` (string)\n\n```javascript\nconst response = await client.conferences.actions.gatherDtmfAudio(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n  { call_control_id: 'v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg' },\n);\n\nconsole.log(response.data);\n```\n\nReturns: `result` (string)\n\n## Hold conference participants\n\nHold a list of participants in a conference call\n\n`POST /conferences/{id}/actions/hold`\n\nOptional: `audio_url` (string), `call_control_ids` (array[string]), `media_name` (string), `region` (enum: Australia, Europe, Middle East, US)\n\n```javascript\nconst response = await client.conferences.actions.hold('550e8400-e29b-41d4-a716-446655440000');\n\nconsole.log(response.data);\n```\n\nReturns: `result` (string)\n\n## Join a conference\n\nJoin an existing call leg to a conference. Issue the Join Conference command with the conference ID in the path and the `call_control_id` of the leg you wish to join to the conference as an attribute. The conference can have up to a certain amount of active participants, as set by the `max_participants` parameter in conference creation request.\n\n`POST /conferences/{id}/actions/join` — Required: `call_control_id`\n\nOptional: `beep_enabled` (enum: always, never, on_enter, on_exit), `client_state` (string), `command_id` (string), `end_conference_on_exit` (boolean), `hold` (boolean), `hold_audio_url` (string), `hold_media_name` (string), `mute` (boolean), `region` (enum: Australia, Europe, Middle East, US), `soft_end_conference_on_exit` (boolean), `start_conference_on_enter` (boolean), `supervisor_role` (enum: barge, monitor, none, whisper), `whisper_call_control_ids` (array[string])\n\n```javascript\nconst response = await client.conferences.actions.join('id', {\n  call_control_id: 'v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg',\n});\n\nconsole.log(response.data);\n```\n\nReturns: `result` (string)\n\n## Leave a conference\n\nRemoves a call leg from a conference and moves it back to parked state. **Expected Webhooks:**\n\n- `conference.participant.left`\n\n`POST /conferences/{id}/actions/leave` — Required: `call_control_id`\n\nOptional: `beep_enabled` (enum: always, never, on_enter, on_exit), `command_id` (string), `region` (enum: Australia, Europe, Middle East, US)\n\n```javascript\nconst response = await client.conferences.actions.leave('id', {\n  call_control_id: 'c46e06d7-b78f-4b13-96b6-c576af9640ff',\n});\n\nconsole.log(response.data);\n```\n\nReturns: `result` (string)\n\n## Mute conference participants\n\nMute a list of participants in a conference call\n\n`POST /conferences/{id}/actions/mute`\n\nOptional: `call_control_ids` (array[string]), `region` (enum: Australia, Europe, Middle East, US)\n\n```javascript\nconst response = await client.conferences.actions.mute('550e8400-e29b-41d4-a716-446655440000');\n\nconsole.log(response.data);\n```\n\nReturns: `result` (string)\n\n## Play audio to conference participants\n\nPlay audio to all or some participants on a conference call.\n\n`POST /conferences/{id}/actions/play`\n\nOptional: `audio_url` (string), `call_control_ids` (array[string]), `loop` (string), `media_name` (string), `region` (enum: Australia, Europe, Middle East, US)\n\n```javascript\nconst response = await client.conferences.actions.play('550e8400-e29b-41d4-a716-446655440000');\n\nconsole.log(response.data);\n```\n\nReturns: `result` (string)\n\n## Conference recording pause\n\nPause conference recording.\n\n`POST /conferences/{id}/actions/record_pause`\n\nOptional: `command_id` (string), `recording_id` (string), `region` (enum: Australia, Europe, Middle East, US)\n\n```javascript\nconst response = await client.conferences.actions.recordPause('550e8400-e29b-41d4-a716-446655440000');\n\nconsole.log(response.data);\n```\n\nReturns: `result` (string)\n\n## Conference recording resume\n\nResume conference recording.\n\n`POST /conferences/{id}/actions/record_resume`\n\nOptional: `command_id` (string), `recording_id` (string), `region` (enum: Australia, Europe, Middle East, US)\n\n```javascript\nconst response = await client.conferences.actions.recordResume('550e8400-e29b-41d4-a716-446655440000');\n\nconsole.log(response.data);\n```\n\nReturns: `result` (string)\n\n## Conference recording start\n\nStart recording the conference. Recording will stop on conference end, or via the Stop Recording command. **Expected Webhooks:**\n\n- `conference.recording.saved`\n\n`POST /conferences/{id}/actions/record_start` — Required: `format`\n\nOptional: `channels` (enum: single, dual), `command_id` (string), `custom_file_name` (string), `play_beep` (boolean), `region` (enum: Australia, Europe, Middle East, US), `trim` (enum: trim-silence)\n\n```javascript\nconst response = await client.conferences.actions.recordStart('id', { format: 'wav' });\n\nconsole.log(response.data);\n```\n\nReturns: `result` (string)\n\n## Conference recording stop\n\nStop recording the conference. **Expected Webhooks:**\n\n- `conference.recording.saved`\n\n`POST /conferences/{id}/actions/record_stop`\n\nOptional: `client_state` (string), `command_id` (string), `recording_id` (uuid), `region` (enum: Australia, Europe, Middle East, US)\n\n```javascript\nconst response = await client.conferences.actions.recordStop('550e8400-e29b-41d4-a716-446655440000');\n\nconsole.log(response.data);\n```\n\nReturns: `result` (string)\n\n## Send DTMF to conference participants\n\nSend DTMF tones to one or more conference participants.\n\n`POST /conferences/{id}/actions/send_dtmf` — Required: `digits`\n\nOptional: `call_control_ids` (array[string]), `client_state` (string), `duration_millis` (integer)\n\n```javascript\nconst response = await client.conferences.actions.sendDtmf('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', {\n  digits: '1234#',\n});\n\nconsole.log(response.data);\n```\n\nReturns: `result` (string)\n\n## Speak text to conference participants\n\nConvert text to speech and play it to all or some participants.\n\n`POST /conferences/{id}/actions/speak` — Required: `payload`, `voice`\n\nOptional: `call_control_ids` (array[string]), `command_id` (string), `language` (enum: arb, cmn-CN, cy-GB, da-DK, de-DE, en-AU, en-GB, en-GB-WLS, en-IN, en-US, es-ES, es-MX, es-US, fr-CA, fr-FR, hi-IN, is-IS, it-IT, ja-JP, ko-KR, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ro-RO, ru-RU, sv-SE, tr-TR), `payload_type` (enum: text, ssml), `region` (enum: Australia, Europe, Middle East, US), `voice_settings` (object)\n\n```javascript\nconst response = await client.conferences.actions.speak('id', {\n  payload: 'Say this to participants',\n  voice: 'female',\n});\n\nconsole.log(response.data);\n```\n\nReturns: `result` (string)\n\n## Stop audio being played on the conference\n\nStop audio being played to all or some participants on a conference call.\n\n`POST /conferences/{id}/actions/stop`\n\nOptional: `call_control_ids` (array[string]), `region` (enum: Australia, Europe, Middle East, US)\n\n```javascript\nconst response = await client.conferences.actions.stop('550e8400-e29b-41d4-a716-446655440000');\n\nconsole.log(response.data);\n```\n\nReturns: `result` (string)\n\n## Unhold conference participants\n\nUnhold a list of participants in a conference call\n\n`POST /conferences/{id}/actions/unhold` — Required: `call_control_ids`\n\nOptional: `region` (enum: Australia, Europe, Middle East, US)\n\n```javascript\nconst response = await client.conferences.actions.unhold('id', {\n  call_control_ids: ['v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg'],\n});\n\nconsole.log(response.data);\n```\n\nReturns: `result` (string)\n\n## Unmute conference participants\n\nUnmute a list of participants in a conference call\n\n`POST /conferences/{id}/actions/unmute`\n\nOptional: `call_control_ids` (array[string]), `region` (enum: Australia, Europe, Middle East, US)\n\n```javascript\nconst response = await client.conferences.actions.unmute('550e8400-e29b-41d4-a716-446655440000');\n\nconsole.log(response.data);\n```\n\nReturns: `result` (string)\n\n## Update conference participant\n\nUpdate conference participant supervisor_role\n\n`POST /conferences/{id}/actions/update` — Required: `call_control_id`, `supervisor_role`\n\nOptional: `command_id` (string), `region` (enum: Australia, Europe, Middle East, US), `whisper_call_control_ids` (array[string])\n\n```javascript\nconst action = await client.conferences.actions.update('id', {\n  call_control_id: 'v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg',\n  supervisor_role: 'whisper',\n});\n\nconsole.log(action.data);\n```\n\nReturns: `result` (string)\n\n## Retrieve a conference participant\n\nRetrieve details of a specific conference participant by their ID or label.\n\n`GET /conferences/{id}/participants/{participant_id}`\n\n```javascript\nconst response = await client.conferences.retrieveParticipant('participant_id', {\n  id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n});\n\nconsole.log(response.data);\n```\n\nReturns: `call_control_id` (string), `call_leg_id` (string), `conference_id` (string), `created_at` (date-time), `end_conference_on_exit` (boolean), `id` (string), `label` (string), `muted` (boolean), `on_hold` (boolean), `soft_end_conference_on_exit` (boolean), `status` (enum: joining, joined, left), `updated_at` (date-time), `whisper_call_control_ids` (array[string])\n\n## Update a conference participant\n\nUpdate properties of a conference participant.\n\n`PATCH /conferences/{id}/participants/{participant_id}`\n\nOptional: `beep_enabled` (enum: always, never, on_enter, on_exit), `end_conference_on_exit` (boolean), `soft_end_conference_on_exit` (boolean)\n\n```javascript\nconst response = await client.conferences.updateParticipant('participant_id', {\n  id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n});\n\nconsole.log(response.data);\n```\n\nReturns: `call_control_id` (string), `call_leg_id` (string), `conference_id` (string), `created_at` (date-time), `end_conference_on_exit` (boolean), `id` (string), `label` (string), `muted` (boolean), `on_hold` (boolean), `soft_end_conference_on_exit` (boolean), `status` (enum: joining, joined, left), `updated_at` (date-time), `whisper_call_control_ids` (array[string])\n\n## List queues\n\nList all queues for the authenticated user.\n\n`GET /queues`\n\n```javascript\n// Automatically fetches more pages as needed.\nfor await (const queue of client.queues.list()) {\n  console.log(queue.id);\n}\n```\n\nReturns: `average_wait_time_secs` (integer), `created_at` (string), `current_size` (integer), `id` (string), `max_size` (integer), `name` (string), `record_type` (enum: queue), `updated_at` (string)\n\n## Create a queue\n\nCreate a new call queue.\n\n`POST /queues` — Required: `queue_name`\n\nOptional: `max_size` (integer)\n\n```javascript\nconst queue = await client.queues.create({ queue_name: 'tier_1_support' });\n\nconsole.log(queue.data);\n```\n\nReturns: `average_wait_time_secs` (integer), `created_at` (string), `current_size` (integer), `id` (string), `max_size` (integer), `name` (string), `record_type` (enum: queue), `updated_at` (string)\n\n## Retrieve a call queue\n\nRetrieve an existing call queue\n\n`GET /queues/{queue_name}`\n\n```javascript\nconst queue = await client.queues.retrieve('queue_name');\n\nconsole.log(queue.data);\n```\n\nReturns: `average_wait_time_secs` (integer), `created_at` (string), `current_size` (integer), `id` (string), `max_size` (integer), `name` (string), `record_type` (enum: queue), `updated_at` (string)\n\n## Update a queue\n\nUpdate properties of an existing call queue.\n\n`POST /queues/{queue_name}` — Required: `max_size`\n\n```javascript\nconst queue = await client.queues.update('queue_name', { max_size: 200 });\n\nconsole.log(queue.data);\n```\n\nReturns: `average_wait_time_secs` (integer), `created_at` (string), `current_size` (integer), `id` (string), `max_size` (integer), `name` (string), `record_type` (enum: queue), `updated_at` (string)\n\n## Delete a queue\n\nDelete an existing call queue.\n\n`DELETE /queues/{queue_name}`\n\n```javascript\nawait client.queues.delete('queue_name');\n```\n\n## Retrieve calls from a queue\n\nRetrieve the list of calls in an existing queue\n\n`GET /queues/{queue_name}/calls`\n\n```javascript\n// Automatically fetches more pages as needed.\nfor await (const callListResponse of client.queues.calls.list('queue_name')) {\n  console.log(callListResponse.call_control_id);\n}\n```\n\nReturns: `call_control_id` (string), `call_leg_id` (string), `call_session_id` (string), `connection_id` (string), `enqueued_at` (string), `from` (string), `is_alive` (boolean), `queue_id` (string), `queue_position` (integer), `record_type` (enum: queue_call), `to` (string), `wait_time_secs` (integer)\n\n## Retrieve a call from a queue\n\nRetrieve an existing call from an existing queue\n\n`GET /queues/{queue_name}/calls/{call_control_id}`\n\n```javascript\nconst call = await client.queues.calls.retrieve('call_control_id', { queue_name: 'queue_name' });\n\nconsole.log(call.data);\n```\n\nReturns: `call_control_id` (string), `call_leg_id` (string), `call_session_id` (string), `connection_id` (string), `enqueued_at` (string), `from` (string), `is_alive` (boolean), `queue_id` (string), `queue_position` (integer), `record_type` (enum: queue_call), `to` (string), `wait_time_secs` (integer)\n\n## Update queued call\n\nUpdate queued call's keep_after_hangup flag\n\n`PATCH /queues/{queue_name}/calls/{call_control_id}`\n\nOptional: `keep_after_hangup` (boolean)\n\n```javascript\nawait client.queues.calls.update('call_control_id', { queue_name: 'queue_name' });\n```\n\n## Force remove a call from a queue\n\nRemoves an inactive call from a queue. If the call is no longer active, use this command to remove it from the queue.\n\n`DELETE /queues/{queue_name}/calls/{call_control_id}`\n\n```javascript\nawait client.queues.calls.remove('call_control_id', { queue_name: 'queue_name' });\n```\n\n---\n\n## Webhooks\n\n### Webhook Verification\n\nTelnyx signs webhooks with Ed25519. Each request includes `telnyx-signature-ed25519`\nand `telnyx-timestamp` headers. Always verify signatures in production:\n\n```javascript\n// In your webhook handler (e.g., Express — use raw body, not parsed JSON):\napp.post('/webhooks', express.raw({ type: 'application/json' }), async (req, res) => {\n  try {\n    const event = await client.webhooks.unwrap(req.body.toString(), {\n      headers: req.headers,\n    });\n    // Signature valid — event is the parsed webhook payload\n    console.log('Received event:', event.data.event_type);\n    res.status(200).send('OK');\n  } catch (err) {\n    console.error('Webhook verification failed:', err.message);\n    res.status(400).send('Invalid signature');\n  }\n});\n```\n\nThe following webhook events are sent to your configured webhook URL.\nAll webhooks include `telnyx-timestamp` and `telnyx-signature-ed25519` headers for Ed25519 signature verification. Use `client.webhooks.unwrap()` to verify.\n\n| Event | Description |\n|-------|-------------|\n| `callEnqueued` | Call Enqueued |\n| `callLeftQueue` | Call Left Queue |\n| `conferenceCreated` | Conference Created |\n| `conferenceEnded` | Conference Ended |\n| `conferenceFloorChanged` | Conference Floor Changed |\n| `conferenceParticipantJoined` | Conference Participant Joined |\n| `conferenceParticipantLeft` | Conference Participant Left |\n| `conferenceParticipantPlaybackEnded` | Conference Participant Playback Ended |\n| `conferenceParticipantPlaybackStarted` | Conference Participant Playback Started |\n| `conferenceParticipantSpeakEnded` | Conference Participant Speak Ended |\n| `conferenceParticipantSpeakStarted` | Conference Participant Speak Started |\n| `conferencePlaybackEnded` | Conference Playback Ended |\n| `conferencePlaybackStarted` | Conference Playback Started |\n| `conferenceRecordingSaved` | Conference Recording Saved |\n| `conferenceSpeakEnded` | Conference Speak Ended |\n| `conferenceSpeakStarted` | Conference Speak Started |\n\n### Webhook payload fields\n\n**`callEnqueued`**\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `data.record_type` | enum: event | Identifies the type of the resource. |\n| `data.event_type` | enum: call.enqueued | The type of event being delivered. |\n| `data.id` | uuid | Identifies the type of resource. |\n| `data.occurred_at` | date-time | ISO 8601 datetime of when the event occurred. |\n| `data.payload.call_control_id` | string | Call ID used to issue commands via Call Control API. |\n| `data.payload.connection_id` | string | Call Control App ID (formerly Telnyx connection ID) used in the call. |\n| `data.payload.call_leg_id` | string | ID that is unique to the call and can be used to correlate webhook events. |\n| `data.payload.call_session_id` | string | ID that is unique to the call session and can be used to correlate webhook events. |\n| `data.payload.client_state` | string | State received from a command. |\n| `data.payload.queue` | string | The name of the queue |\n| `data.payload.current_position` | integer | Current position of the call in the queue. |\n| `data.payload.queue_avg_wait_time_secs` | integer | Average time call spends in the queue in seconds. |\n\n**`callLeftQueue`**\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `data.record_type` | enum: event | Identifies the type of the resource. |\n| `data.event_type` | enum: call.dequeued | The type of event being delivered. |\n| `data.id` | uuid | Identifies the type of resource. |\n| `data.occurred_at` | date-time | ISO 8601 datetime of when the event occurred. |\n| `data.payload.call_control_id` | string | Call ID used to issue commands via Call Control API. |\n| `data.payload.connection_id` | string | Call Control App ID (formerly Telnyx connection ID) used in the call. |\n| `data.payload.call_leg_id` | string | ID that is unique to the call and can be used to correlate webhook events. |\n| `data.payload.call_session_id` | string | ID that is unique to the call session and can be used to correlate webhook events. |\n| `data.payload.client_state` | string | State received from a command. |\n| `data.payload.queue` | string | The name of the queue |\n| `data.payload.queue_position` | integer | Last position of the call in the queue. |\n| `data.payload.reason` | enum: bridged, bridging-in-process, hangup, leave, timeout | The reason for leaving the queue |\n| `data.payload.wait_time_secs` | integer | Time call spent in the queue in seconds. |\n\n**`conferenceCreated`**\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `data.record_type` | enum: event | Identifies the type of the resource. |\n| `data.event_type` | enum: conference.created | The type of event being delivered. |\n| `data.id` | uuid | Identifies the type of resource. |\n| `data.payload.call_control_id` | string | Call ID used to issue commands via Call Control API. |\n| `data.payload.connection_id` | string | Call Control App ID (formerly Telnyx connection ID) used in the call. |\n| `data.payload.call_leg_id` | string | ID that is unique to the call and can be used to correlate webhook events. |\n| `data.payload.call_session_id` | string | ID that is unique to the call session and can be used to correlate webhook events. |\n| `data.payload.client_state` | string | State received from a command. |\n| `data.payload.conference_id` | string | Conference ID that the participant joined. |\n| `data.payload.occurred_at` | date-time | ISO 8601 datetime of when the event occurred. |\n\n**`conferenceEnded`**\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `data.record_type` | enum: event | Identifies the type of the resource. |\n| `data.event_type` | enum: conference.ended | The type of event being delivered. |\n| `data.id` | uuid | Identifies the type of resource. |\n| `data.payload.call_control_id` | string | Call ID used to issue commands via Call Control API. |\n| `data.payload.connection_id` | string | Call Control App ID (formerly Telnyx connection ID) used in the call. |\n| `data.payload.call_leg_id` | string | ID that is unique to the call and can be used to correlate webhook events. |\n| `data.payload.call_session_id` | string | ID that is unique to the call session and can be used to correlate webhook events. |\n| `data.payload.client_state` | string | State received from a command. |\n| `data.payload.conference_id` | string | Conference ID that the participant joined. |\n| `data.payload.occurred_at` | date-time | ISO 8601 datetime of when the event occurred. |\n| `data.payload.reason` | enum: all_left, host_left, time_exceeded | Reason the conference ended. |\n\n**`conferenceFloorChanged`**\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `record_type` | enum: event | Identifies the type of the resource. |\n| `event_type` | enum: conference.floor.changed | The type of event being delivered. |\n| `id` | uuid | Identifies the type of resource. |\n| `payload.call_control_id` | string | Call Control ID of the new speaker. |\n| `payload.connection_id` | string | Call Control App ID (formerly Telnyx connection ID) used in the call. |\n| `payload.call_leg_id` | string | Call Leg ID of the new speaker. |\n| `payload.call_session_id` | string | Call Session ID of the new speaker. |\n| `payload.client_state` | string | State received from a command. |\n| `payload.conference_id` | string | Conference ID that had a speaker change event. |\n| `payload.occurred_at` | date-time | ISO 8601 datetime of when the event occurred. |\n\n**`conferenceParticipantJoined`**\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `data.record_type` | enum: event | Identifies the type of the resource. |\n| `data.event_type` | enum: conference.participant.joined | The type of event being delivered. |\n| `data.id` | uuid | Identifies the type of resource. |\n| `data.occurred_at` | date-time | ISO 8601 datetime of when the event occurred. |\n| `data.payload.call_control_id` | string | Call ID used to issue commands via Call Control API. |\n| `data.payload.connection_id` | string | Call Control App ID (formerly Telnyx connection ID) used in the call. |\n| `data.payload.call_leg_id` | string | ID that is unique to the call and can be used to correlate webhook events. |\n| `data.payload.call_session_id` | string | ID that is unique to the call session and can be used to correlate webhook events. |\n| `data.payload.client_state` | string | State received from a command. |\n| `data.payload.conference_id` | string | Conference ID that the participant joined. |\n\n**`conferenceParticipantLeft`**\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `data.record_type` | enum: event | Identifies the type of the resource. |\n| `data.event_type` | enum: conference.participant.left | The type of event being delivered. |\n| `data.id` | uuid | Identifies the type of resource. |\n| `data.occurred_at` | date-time | ISO 8601 datetime of when the event occurred. |\n| `data.payload.call_control_id` | string | Call ID used to issue commands via Call Control API. |\n| `data.payload.connection_id` | string | Call Control App ID (formerly Telnyx connection ID) used in the call. |\n| `data.payload.call_leg_id` | string | ID that is unique to the call and can be used to correlate webhook events. |\n| `data.payload.call_session_id` | string | ID that is unique to the call session and can be used to correlate webhook events. |\n| `data.payload.client_state` | string | State received from a command. |\n| `data.payload.conference_id` | string | Conference ID that the participant joined. |\n\n**`conferenceParticipantPlaybackEnded`**\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `data.record_type` | enum: event | Identifies the type of the resource. |\n| `data.event_type` | enum: conference.participant.playback.ended | The type of event being delivered. |\n| `data.id` | uuid | Identifies the type of resource. |\n| `data.payload.call_control_id` | string | Participant's call ID used to issue commands via Call Control API. |\n| `data.payload.call_leg_id` | string | ID that is unique to the call and can be used to correlate webhook events. |\n| `data.payload.call_session_id` | string | ID that is unique to the call session and can be used to correlate webhook events. |\n| `data.payload.client_state` | string | State received from a command. |\n| `data.payload.connection_id` | string | Call Control App ID (formerly Telnyx connection ID) used in the call. |\n| `data.payload.creator_call_session_id` | string | ID that is unique to the call session that started the conference. |\n| `data.payload.conference_id` | string | ID of the conference the text was spoken in. |\n| `data.payload.media_url` | string | The audio URL being played back, if audio_url has been used to start. |\n| `data.payload.media_name` | string | The name of the audio media file being played back, if media_name has been used to start. |\n| `data.payload.occurred_at` | date-time | ISO 8601 datetime of when the event occurred. |\n\n**`conferenceParticipantPlaybackStarted`**\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `data.record_type` | enum: event | Identifies the type of the resource. |\n| `data.event_type` | enum: conference.participant.playback.started | The type of event being delivered. |\n| `data.id` | uuid | Identifies the type of resource. |\n| `data.payload.call_control_id` | string | Participant's call ID used to issue commands via Call Control API. |\n| `data.payload.call_leg_id` | string | ID that is unique to the call and can be used to correlate webhook events. |\n| `data.payload.call_session_id` | string | ID that is unique to the call session and can be used to correlate webhook events. |\n| `data.payload.client_state` | string | State received from a command. |\n| `data.payload.connection_id` | string | Call Control App ID (formerly Telnyx connection ID) used in the call. |\n| `data.payload.creator_call_session_id` | string | ID that is unique to the call session that started the conference. |\n| `data.payload.conference_id` | string | ID of the conference the text was spoken in. |\n| `data.payload.media_url` | string | The audio URL being played back, if audio_url has been used to start. |\n| `data.payload.media_name` | string | The name of the audio media file being played back, if media_name has been used to start. |\n| `data.payload.occurred_at` | date-time | ISO 8601 datetime of when the event occurred. |\n\n**`conferenceParticipantSpeakEnded`**\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `data.record_type` | enum: event | Identifies the type of the resource. |\n| `data.event_type` | enum: conference.participant.speak.ended | The type of event being delivered. |\n| `data.id` | uuid | Identifies the type of resource. |\n| `data.payload.call_control_id` | string | Participant's call ID used to issue commands via Call Control API. |\n| `data.payload.call_leg_id` | string | ID that is unique to the call and can be used to correlate webhook events. |\n| `data.payload.call_session_id` | string | ID that is unique to the call session and can be used to correlate webhook events. |\n| `data.payload.client_state` | string | State received from a command. |\n| `data.payload.connection_id` | string | Call Control App ID (formerly Telnyx connection ID) used in the call. |\n| `data.payload.creator_call_session_id` | string | ID that is unique to the call session that started the conference. |\n| `data.payload.conference_id` | string | ID of the conference the text was spoken in. |\n| `data.payload.occurred_at` | date-time | ISO 8601 datetime of when the event occurred. |\n\n**`conferenceParticipantSpeakStarted`**\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `data.record_type` | enum: event | Identifies the type of the resource. |\n| `data.event_type` | enum: conference.participant.speak.started | The type of event being delivered. |\n| `data.id` | uuid | Identifies the type of resource. |\n| `data.payload.call_control_id` | string | Participant's call ID used to issue commands via Call Control API. |\n| `data.payload.call_leg_id` | string | ID that is unique to the call and can be used to correlate webhook events. |\n| `data.payload.call_session_id` | string | ID that is unique to the call session and can be used to correlate webhook events. |\n| `data.payload.client_state` | string | State received from a command. |\n| `data.payload.connection_id` | string | Call Control App ID (formerly Telnyx connection ID) used in the call. |\n| `data.payload.creator_call_session_id` | string | ID that is unique to the call session that started the conference. |\n| `data.payload.conference_id` | string | ID of the conference the text was spoken in. |\n| `data.payload.occurred_at` | date-time | ISO 8601 datetime of when the event occurred. |\n\n**`conferencePlaybackEnded`**\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `data.record_type` | enum: event | Identifies the type of the resource. |\n| `data.event_type` | enum: conference.playback.ended | The type of event being delivered. |\n| `data.id` | uuid | Identifies the type of resource. |\n| `data.payload.connection_id` | string | Call Control App ID (formerly Telnyx connection ID) used in the call. |\n| `data.payload.creator_call_session_id` | string | ID that is unique to the call session that started the conference. |\n| `data.payload.conference_id` | string | ID of the conference the text was spoken in. |\n| `data.payload.media_url` | string | The audio URL being played back, if audio_url has been used to start. |\n| `data.payload.media_name` | string | The name of the audio media file being played back, if media_name has been used to start. |\n| `data.payload.occurred_at` | date-time | ISO 8601 datetime of when the event occurred. |\n\n**`conferencePlaybackStarted`**\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `data.record_type` | enum: event | Identifies the type of the resource. |\n| `data.event_type` | enum: conference.playback.started | The type of event being delivered. |\n| `data.id` | uuid | Identifies the type of resource. |\n| `data.payload.connection_id` | string | Call Control App ID (formerly Telnyx connection ID) used in the call. |\n| `data.payload.creator_call_session_id` | string | ID that is unique to the call session that started the conference. |\n| `data.payload.conference_id` | string | ID of the conference the text was spoken in. |\n| `data.payload.media_url` | string | The audio URL being played back, if audio_url has been used to start. |\n| `data.payload.media_name` | string | The name of the audio media file being played back, if media_name has been used to start. |\n| `data.payload.occurred_at` | date-time | ISO 8601 datetime of when the event occurred. |\n\n**`conferenceRecordingSaved`**\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `data.record_type` | enum: event | Identifies the type of the resource. |\n| `data.event_type` | enum: conference.recording.saved | The type of event being delivered. |\n| `data.id` | uuid | Identifies the type of resource. |\n| `data.payload.call_control_id` | string | Participant's call ID used to issue commands via Call Control API. |\n| `data.payload.call_session_id` | string | ID that is unique to the call session and can be used to correlate webhook events. |\n| `data.payload.client_state` | string | State received from a command. |\n| `data.payload.channels` | enum: single, dual | Whether recording was recorded in `single` or `dual` channel. |\n| `data.payload.conference_id` | uuid | ID of the conference that is being recorded. |\n| `data.payload.connection_id` | string | Call Control App ID (formerly Telnyx connection ID) used in the call. |\n| `data.payload.format` | enum: wav, mp3 | The audio file format used when storing the call recording. |\n| `data.payload.recording_ended_at` | date-time | ISO 8601 datetime of when recording ended. |\n| `data.payload.recording_id` | uuid | ID of the conference recording. |\n| `data.payload.recording_started_at` | date-time | ISO 8601 datetime of when recording started. |\n\n**`conferenceSpeakEnded`**\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `data.record_type` | enum: event | Identifies the type of the resource. |\n| `data.event_type` | enum: conference.speak.ended | The type of event being delivered. |\n| `data.id` | uuid | Identifies the type of resource. |\n| `data.payload.connection_id` | string | Call Control App ID (formerly Telnyx connection ID) used in the call. |\n| `data.payload.creator_call_session_id` | string | ID that is unique to the call session that started the conference. |\n| `data.payload.conference_id` | string | ID of the conference the text was spoken in. |\n| `data.payload.occurred_at` | date-time | ISO 8601 datetime of when the event occurred. |\n\n**`conferenceSpeakStarted`**\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `data.record_type` | enum: event | Identifies the type of the resource. |\n| `data.event_type` | enum: conference.speak.started | The type of event being delivered. |\n| `data.id` | uuid | Identifies the type of resource. |\n| `data.payload.connection_id` | string | Call Control App ID (formerly Telnyx connection ID) used in the call. |\n| `data.payload.creator_call_session_id` | string | ID that is unique to the call session that started the conference. |\n| `data.payload.conference_id` | string | ID of the conference the text was spoken in. |\n| `data.payload.occurred_at` | date-time | ISO 8601 datetime of when the event occurred. |","tags":["telnyx","voice","conferencing","javascript","team-telnyx","agent-skills","ai-coding-agent","claude-code","cpaas","cursor","iot","llm"],"capabilities":["skill","source-team-telnyx","skill-telnyx-voice-conferencing-javascript","topic-agent-skills","topic-ai-coding-agent","topic-claude-code","topic-cpaas","topic-cursor","topic-iot","topic-llm","topic-sdk","topic-sip","topic-sms","topic-speech-to-text","topic-telephony"],"categories":["ai"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/team-telnyx/ai/telnyx-voice-conferencing-javascript","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add team-telnyx/ai","source_repo":"https://github.com/team-telnyx/ai","install_from":"skills.sh"}},"qualityScore":"0.533","qualityRationale":"deterministic score 0.53 from registry signals: · indexed on github topic:agent-skills · 167 github stars · SKILL.md body (39,771 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T00:54:51.714Z","embedding":null,"createdAt":"2026-04-18T22:08:20.525Z","updatedAt":"2026-04-22T00:54:51.714Z","lastSeenAt":"2026-04-22T00:54:51.714Z","tsv":"'+13125550001':82 '+13125550002':84 '/actions/end':718 '/actions/enqueue':214 '/actions/gather_using_audio':763 '/actions/hold':858 '/actions/join':961 '/actions/leave':1070 '/actions/leave_queue':269 '/actions/mute':1130 '/actions/play':1179 '/actions/record_pause':1226 '/actions/record_resume':1266 '/actions/record_start':1322 '/actions/record_stop':1378 '/actions/send_dtmf':1429 '/actions/speak':1482 '/actions/stop':1639 '/actions/unhold':1684 '/actions/unmute':1729 '/actions/update':1770 '/calls':210,265,2256,2335,2409,2462 '/conferences':335,449,566,645,716,761,856,959,1068,1128,1177,1224,1264,1320,1376,1427,1480,1637,1682,1727,1768,1831,1916 '/participants':569,1833,1918 '/queues':2021,2072,2128,2177,2230,2253,2332,2406,2459 '/webhooks':2515 '1':120,2088 '1000':128 '1234':1456 '182bd5e5':729,827,1450,1845,1951 '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e':728,826,1449,1844,1950 '200':2192,2544 '4':316,439 '400':2555 '401':68,153 '403':157 '404':160 '41d4':286,655,886,1152,1209,1249,1289,1404,1661,1751 '422':64,141,164 '429':61,105,170 '446655440000':288,657,888,1154,1211,1251,1291,1406,1663,1753 '4b13':1107 '4fe4':731,829,1452,1847,1953 '550e8400':283,652,883,1149,1206,1246,1286,1401,1658,1748 '6e1a':730,828,1451,1846,1952 '8601':2697,2850,3101,3230,3353,3397,3526,3800,3989,4140,4291,4417,4543,4685,4706,4793,4881 '96b6':1108 'a716':287,656,887,1153,1210,1250,1290,1405,1662,1752 'a799':732,830,1453,1848,1954 'aa6d9a6ab26e':733,831,1454,1849,1955 'action':1796 'action.data':1810 'activ':323,446,713,945,2448 'aliv':2298,2375 'alreadi':44 'alway':69,459,970,1079,1925,2496 'amount':943 'api':28,52,135,155,365,529,674,2717,2870,3023,3152,3417,3546,3664,3853,4042,4193,4596 'apikey':25 'app':2723,2876,3029,3158,3296,3423,3552,3717,3906,4095,4246,4334,4460,4654,4748,4836 'app.post':2514 'application/json':2518 'arb':1497 'array':635,866,1028,1135,1187,1436,1490,1644,1734,1792,1903,2009 'assum':41 'async':2519 'attribut':934 'au':1512 'audio':478,742,749,769,788,860,990,1161,1166,1181,1617,1624,3760,3766,3780,3949,3955,3969,4377,4383,4397,4503,4509,4523,4669 'australia':490,873,1001,1090,1139,1196,1236,1276,1342,1391,1590,1648,1692,1738,1783 'authent':66,2018 'auto':185 'auto-pagin':184 'automat':200,337,422,571,2023,2258 'averag':2038,2093,2141,2196,2804 'avg':2799 'await':79,121,190,240,280,344,503,578,650,726,824,881,1033,1098,1147,1204,1244,1284,1355,1399,1447,1601,1656,1700,1746,1797,1839,1945,2030,2083,2134,2186,2234,2265,2342,2419,2467,2525 'b78f':1106 'back':1060,3764,3785,3953,3974,4381,4402,4507,4528 'backoff':113,176 'barg':1020 'bash':11 'beep':456,967,1076,1338,1922 'bodi':2510 'boolean':228,470,499,605,609,612,622,811,986,988,998,1011,1016,1339,1873,1879,1882,1888,1935,1941,1979,1985,1988,1994,2299,2376,2417 'br':1567 'bridg':423,2953,2955 'bridging-in-process':2954 'busi':512 'c46e06d7':1105 'c46e06d7-b78f-4b13-96b6-c576af9640ff':1104 'c576af9640ff':1109 'ca':1537 'call':53,202,205,211,242,254,260,266,403,407,419,451,505,588,592,632,765,832,854,863,900,919,963,1025,1036,1052,1072,1101,1126,1132,1175,1184,1433,1487,1635,1641,1680,1686,1703,1725,1731,1772,1789,1800,1853,1857,1900,1959,1963,2006,2069,2120,2125,2174,2227,2239,2247,2277,2281,2285,2310,2319,2326,2336,2341,2344,2354,2358,2362,2387,2396,2399,2410,2421,2431,2438,2444,2463,2469,2593,2596,2708,2715,2721,2732,2743,2762,2794,2806,2861,2868,2874,2885,2896,2915,2947,2972,3014,3021,3027,3038,3049,3068,3143,3150,3156,3167,3178,3197,3284,3294,3305,3310,3321,3408,3415,3421,3432,3443,3462,3537,3544,3550,3561,3572,3591,3655,3662,3675,3694,3715,3726,3728,3738,3844,3851,3864,3883,3904,3915,3917,3927,4033,4040,4053,4072,4093,4104,4106,4116,4184,4191,4204,4223,4244,4255,4257,4267,4332,4343,4345,4355,4458,4469,4471,4481,4587,4594,4607,4652,4663,4676,4746,4757,4759,4769,4834,4845,4847,4857 'call.data':2352 'call.dequeued':2830 'call.enqueued':2677 'callenqueu':2592,2660 'callleftqueu':2595,2813 'calllistrespons':2267 'calllistresponse.call':2273 'catch':87,2547 'certain':942 'chang':2608,3345 'channel':1326,4637 'check':96,145,167 'client':22,42,219,271,465,772,976,1380,1438 'client.calls.actions.enqueue':241 'client.calls.actions.leavequeue':281 'client.conferences.actions.endconference':727 'client.conferences.actions.gatherdtmfaudio':825 'client.conferences.actions.hold':882 'client.conferences.actions.join':1034 'client.conferences.actions.leave':1099 'client.conferences.actions.mute':1148 'client.conferences.actions.play':1205 'client.conferences.actions.recordpause':1245 'client.conferences.actions.recordresume':1285 'client.conferences.actions.recordstart':1356 'client.conferences.actions.recordstop':1400 'client.conferences.actions.senddtmf':1448 'client.conferences.actions.speak':1602 'client.conferences.actions.stop':1657 'client.conferences.actions.unhold':1701 'client.conferences.actions.unmute':1747 'client.conferences.actions.update':1798 'client.conferences.create':504 'client.conferences.list':348 'client.conferences.listparticipants':582 'client.conferences.retrieve':651 'client.conferences.retrieveparticipant':1840 'client.conferences.updateparticipant':1946 'client.messages.send':80 'client.queues.calls.list':2269 'client.queues.calls.remove':2468 'client.queues.calls.retrieve':2343 'client.queues.calls.update':2420 'client.queues.create':2084 'client.queues.delete':2235 'client.queues.list':2034 'client.queues.retrieve':2135 'client.queues.update':2187 'client.webhooks.unwrap':2526,2587 'cmn':1499 'cmn-cn':1498 'cn':1500 'code':74,152 'comfort':468 'command':222,274,471,720,909,979,1085,1228,1268,1315,1330,1383,1492,1778,2451,2713,2779,2866,2932,3019,3085,3148,3214,3335,3413,3479,3542,3608,3660,3711,3849,3900,4038,4089,4189,4240,4592,4624 'common':150 'complet':391,555,700 'confer':296,298,299,313,325,346,383,396,399,412,417,426,427,436,496,502,547,560,563,567,583,596,602,619,639,643,649,692,706,709,746,754,844,853,896,904,908,912,931,936,955,983,1008,1013,1049,1056,1116,1125,1163,1174,1217,1221,1257,1261,1297,1303,1308,1365,1371,1415,1424,1465,1622,1634,1670,1679,1715,1724,1760,1763,1816,1823,1861,1870,1885,1907,1913,1932,1938,1967,1976,1991,2600,2603,2606,2610,2614,2618,2623,2628,2633,2638,2642,2646,2650,2654,3089,3218,3247,3339,3483,3612,3743,3750,3932,3939,4121,4128,4272,4279,4360,4367,4486,4493,4644,4697,4774,4781,4862,4869 'conferenc':4,8 'conference.created':2996 'conference.data':514,659 'conference.ended':3125 'conference.floor.changed':3266 'conference.id':350 'conference.participant.joined':3377 'conference.participant.left':1066,3506 'conference.participant.playback.ended':3635 'conference.participant.playback.started':3824 'conference.participant.speak.ended':4013 'conference.participant.speak.started':4164 'conference.playback.ended':4315 'conference.playback.started':4441 'conference.recording.saved':1318,1374,4567 'conference.speak.ended':4729 'conference.speak.started':4817 'conferencecr':2599,2979 'conferenceend':2602,3108 'conferencefloorchang':2605,3249 'conferencelistparticipantsrespons':580 'conferencelistparticipantsresponse.id':586 'conferenceparticipantjoin':2609,3360 'conferenceparticipantleft':2613,3489 'conferenceparticipantplaybackend':2617,3618 'conferenceparticipantplaybackstart':2622,3807 'conferenceparticipantspeakend':2627,3996 'conferenceparticipantspeakstart':2632,4147 'conferenceplaybackend':2637,4298 'conferenceplaybackstart':2641,4424 'conferencerecordingsav':2645,4550 'conferencespeakend':2649,4712 'conferencespeakstart':2653,4800 'configur':2567 'connect':97,352,516,661,2289,2366,2727,2880,3033,3162,3300,3427,3556,3721,3910,4099,4250,4338,4464,4658,4752,4840 'console.error':93,134,142,2549 'console.log':248,290,349,513,585,658,734,838,889,1042,1110,1155,1212,1252,1292,1360,1407,1457,1611,1664,1709,1754,1809,1850,1956,2035,2090,2138,2193,2272,2351,2538 'const':21,77,114,191,238,278,345,501,579,648,724,822,879,1031,1096,1145,1202,1242,1282,1353,1397,1445,1599,1654,1698,1744,1795,1837,1943,2031,2081,2132,2184,2266,2340,2523 'control':212,243,267,408,452,506,589,633,766,833,864,920,964,1026,1037,1073,1102,1133,1185,1434,1488,1642,1687,1704,1732,1773,1790,1801,1854,1901,1960,2007,2274,2278,2337,2345,2355,2411,2422,2464,2470,2705,2716,2722,2858,2869,2875,3011,3022,3028,3140,3151,3157,3281,3285,3295,3405,3416,3422,3534,3545,3551,3650,3663,3716,3839,3852,3905,4028,4041,4094,4179,4192,4245,4333,4459,4582,4595,4653,4747,4835 'convert':1467 'correl':2749,2769,2902,2922,3055,3075,3184,3204,3449,3469,3578,3598,3681,3701,3870,3890,4059,4079,4210,4230,4614 'creat':301,355,395,397,415,498,519,598,664,1864,1970,2043,2063,2066,2098,2146,2201,2601 'creation':956 'current':2046,2101,2149,2204,2790 'custom':1333 'cy':1502 'cy-gb':1501 'da':1505 'da-dk':1504 'data.event':2674,2827,2993,3122,3374,3503,3632,3821,4010,4161,4312,4438,4564,4726,4814 'data.id':2684,2837,3003,3132,3384,3513,3642,3831,4020,4171,4322,4448,4574,4736,4824 'data.occurred':2691,2844,3391,3520 'data.payload.call':2704,2733,2752,2857,2886,2905,3010,3039,3058,3139,3168,3187,3404,3433,3452,3533,3562,3581,3649,3665,3684,3838,3854,3873,4027,4043,4062,4178,4194,4213,4581,4597 'data.payload.channels':4625 'data.payload.client':2772,2925,3078,3207,3472,3601,3704,3893,4082,4233,4617 'data.payload.conference':3086,3215,3480,3609,3744,3933,4122,4273,4361,4487,4638,4775,4863 'data.payload.connection':2718,2871,3024,3153,3418,3547,3712,3901,4090,4241,4329,4455,4649,4743,4831 'data.payload.creator':3727,3916,4105,4256,4344,4470,4758,4846 'data.payload.current':2787 'data.payload.format':4664 'data.payload.media':3756,3773,3945,3962,4373,4390,4499,4516 'data.payload.occurred':3095,3224,3794,3983,4134,4285,4411,4537,4787,4875 'data.payload.queue':2780,2798,2933,2940 'data.payload.reason':2951,3237 'data.payload.recording':4678,4691,4699 'data.payload.wait':2967 'data.record':2664,2817,2983,3112,3364,3493,3622,3811,4000,4151,4302,4428,4554,4716,4804 'date':1867,1897,1973,2003,2694,2847,3098,3227,3350,3394,3523,3797,3986,4137,4288,4414,4540,4682,4703,4790,4878 'date-tim':1866,1896,1972,2002,2693,2846,3097,3226,3349,3393,3522,3796,3985,4136,4287,4413,4539,4681,4702,4789,4877 'datetim':2698,2851,3102,3231,3354,3398,3527,3801,3990,4141,4292,4418,4544,4686,4707,4794,4882 'de':1508,1509 'de-d':1507 'default':33 'delet':2221,2224,2229,2458 'deliv':2683,2836,3002,3131,3272,3383,3512,3641,3830,4019,4170,4321,4447,4573,4735,4823 'demand':303 'descend':329 'descript':2591,2663,2816,2982,3111,3252,3363,3492,3621,3810,3999,4150,4301,4427,4553,4715,4803 'detail':1819 'digit':783,796,805,813,819,1431,1455 'dk':1506 'dtmf':740,758,810,1413,1418 'dual':1329,4628,4636 'durat':474,1441 'e.g':2506 'e29b':285,654,885,1151,1208,1248,1288,1403,1660,1750 'e29b-41d4-a716':284,653,884,1150,1207,1247,1287,1402,1659,1749 'east':493,876,1004,1093,1142,1199,1239,1279,1345,1394,1593,1651,1695,1741,1786 'ed25519':2483,2490,2580,2583 'els':100,129 'en':1511,1514,1517,1521,1524 'en-au':1510 'en-gb':1513 'en-gb-wl':1516 'en-in':1520 'en-us':1523 'enabl':457,968,1077,1923 'end':358,363,370,522,527,534,601,618,667,672,679,704,707,982,1007,1309,1869,1884,1931,1937,1975,1990,2604,2621,2631,2640,2652,3248,4679,4690 'enqueu':201,2292,2369,2594 'enter':462,973,1015,1082,1928 'enum':360,382,387,458,489,524,546,551,615,624,669,691,696,872,969,1000,1019,1078,1089,1138,1195,1235,1275,1327,1341,1348,1390,1496,1585,1589,1647,1691,1737,1782,1890,1924,1996,2058,2113,2161,2216,2308,2385,2666,2676,2819,2829,2952,2985,2995,3114,3124,3238,3255,3265,3366,3376,3495,3505,3624,3634,3813,3823,4002,4012,4153,4163,4304,4314,4430,4440,4556,4566,4626,4665,4718,4728,4806,4816 'err':88,90,102,131,2548 'err.headers':116 'err.message':138,2553 'err.status':137,140 'error':49,58,63,67,71,95,136,144,151,166 'es':1527,1528,1530,1533 'es-':1526 'es-mx':1529 'es-us':1532 'europ':491,874,1002,1091,1140,1197,1237,1277,1343,1392,1591,1649,1693,1739,1784 'event':2524,2532,2540,2562,2590,2667,2681,2702,2751,2771,2820,2834,2855,2904,2924,2986,3000,3057,3077,3106,3115,3129,3186,3206,3235,3256,3263,3270,3346,3358,3367,3381,3402,3451,3471,3496,3510,3531,3580,3600,3625,3639,3683,3703,3805,3814,3828,3872,3892,3994,4003,4017,4061,4081,4145,4154,4168,4212,4232,4296,4305,4319,4422,4431,4445,4548,4557,4571,4616,4719,4733,4798,4807,4821,4886 'event.data.event':2541 'exampl':39 'exceed':369,533,678,3244 'exist':402,642,899,2124,2173,2226,2250,2325,2329 'exit':464,604,621,975,985,1010,1084,1872,1887,1930,1934,1940,1978,1993 'expect':1064,1316,1372 'expir':306,332,373,429,537,682 'exponenti':112,175 'express':2507 'express.raw':2516 'fail':55,2552 'femal':1610 'fetch':338,572,2024,2259 'field':147,168,2659,2661,2814,2980,3109,3250,3361,3490,3619,3808,3997,4148,4299,4425,4551,4713,4801 'file':750,1334,3782,3971,4399,4525,4670 'flag':2404 'floor':2607 'follow':2560 'forc':2428 'format':149,169,1324,1358,4671 'former':2725,2878,3031,3160,3298,3425,3554,3719,3908,4097,4248,4336,4462,4656,4750,4838 'found':163 'fr':1536,1539,1540 'fr-ca':1535 'fr-fr':1538 'gather':739,757,775 'gb':1503,1515,1518 'get':334,565,644,1830,2020,2127,2252,2331 'gru1ogrkyq':289 'handl':50,70 'handler':2505 'hangup':227,2403,2416,2958 'header':2495,2528,2581 'hello':86 'hi':1542 'hi-in':1541 'hold':477,481,611,843,846,987,989,993,1881,1987 'host':366,530,675,3241 'hour':317,440 'id':213,223,244,268,275,353,376,409,453,472,507,517,540,568,584,590,594,606,634,646,662,685,717,721,762,767,776,834,857,865,913,921,960,965,980,1027,1035,1038,1069,1074,1086,1100,1103,1129,1134,1178,1186,1225,1229,1232,1265,1269,1272,1321,1331,1357,1377,1384,1387,1428,1435,1481,1489,1493,1603,1638,1643,1683,1688,1702,1705,1728,1733,1769,1774,1779,1791,1799,1802,1827,1832,1835,1842,1843,1855,1859,1862,1874,1902,1917,1920,1948,1949,1961,1965,1968,1980,2008,2049,2104,2152,2207,2275,2279,2283,2287,2290,2301,2338,2346,2356,2360,2364,2367,2378,2412,2423,2465,2471,2706,2709,2719,2724,2728,2735,2737,2754,2756,2859,2862,2872,2877,2881,2888,2890,2907,2909,3012,3015,3025,3030,3034,3041,3043,3060,3062,3087,3090,3141,3144,3154,3159,3163,3170,3172,3189,3191,3216,3219,3273,3282,3286,3292,3297,3301,3308,3312,3319,3323,3337,3340,3406,3409,3419,3424,3428,3435,3437,3454,3456,3481,3484,3535,3538,3548,3553,3557,3564,3566,3583,3585,3610,3613,3651,3656,3667,3669,3686,3688,3713,3718,3722,3730,3732,3745,3747,3840,3845,3856,3858,3875,3877,3902,3907,3911,3919,3921,3934,3936,4029,4034,4045,4047,4064,4066,4091,4096,4100,4108,4110,4123,4125,4180,4185,4196,4198,4215,4217,4242,4247,4251,4259,4261,4274,4276,4330,4335,4339,4347,4349,4362,4364,4456,4461,4465 'identifi':2668,2686,2821,2839,2987,3005,3116,3134,3257,3275,3368,3386,3497,3515,3626,3644,3815,3833,4004,4022,4155,4173,4306,4324,4432,4450,4558,4576,4720,4738,4808,4826 'iie4pqg':510,837,1041,1708,1805 'import':17,177 'inact':2437 'includ':2486,2572 'init':388,552,697 'initi':45,778 'input':759 'instal':10,13 'instanceof':91,103,132 'insuffici':158 'integ':231,236,476,487,781,786,797,800,806,817,1443,2042,2048,2053,2079,2097,2103,2108,2145,2151,2156,2200,2206,2211,2305,2316,2382,2393,2789,2803,2942,2970 'inter':782 'invalid':154,787,791,2557 'is-i':1544 'iso':2696,2849,3100,3229,3352,3396,3525,3799,3988,4139,4290,4416,4542,4684,4705,4792,4880 'issu':905,2712,2865,3018,3147,3412,3541,3659,3848,4037,4188,4591 'it-it':1547 'item':192 'iter':187,196 'ja':1551 'ja-jp':1550 'javascript':5,9,16,75,237,277,336,500,570,647,723,821,878,1030,1095,1144,1201,1241,1281,1352,1396,1444,1598,1653,1697,1743,1794,1836,1942,2022,2080,2131,2183,2233,2257,2339,2418,2466,2501 'join':625,626,894,897,907,928,1891,1892,1997,1998,2612,3094,3223,3488,3617 'jp':1552 'json':2513 'keep':225,2401,2414 'key':29,156 'ko':1554 'ko-kr':1553 'kr':1555 'label':1829,1876,1982 'languag':1495 'last':2943 'leav':1047,2959,2964 'left':311,362,367,434,526,531,627,671,676,1893,1999,2597,2616,3240,3242 'leg':404,593,901,924,1053,1858,1964,2282,2359,2734,2887,3040,3169,3307,3311,3434,3563,3666,3855,4044,4195 'limit':60,107,172 'list':180,295,297,327,559,562,848,1120,1674,1719,2011,2013,2245 'longer':2447 'loop':1189 'max':229,232,485,951,2051,2077,2106,2154,2181,2190,2209 'maximum':795,798 'mdi91x4lwfes7igbbeot9m4aigoy08m0wwzfist1yw2axz':509,836,1040,1707,1804 'media':482,792,801,868,994,1191,3781,3787,3970,3976,4398,4404,4524,4530 'method':181 'middl':492,875,1003,1092,1141,1198,1238,1278,1344,1393,1592,1650,1694,1740,1785 'milli':780,785,816,1442 'minimum':804 'minut':475 'monitor':1021 'move':1058 'mp3':4667 'mute':608,997,1115,1118,1878,1984 'mx':1531 'name':217,246,378,413,454,483,511,542,687,793,802,869,995,1192,1335,2054,2075,2086,2109,2130,2137,2157,2179,2189,2212,2232,2237,2255,2271,2334,2348,2350,2408,2425,2427,2461,2473,2475,2783,2936,3774,3777,3788,3963,3966,3977,4391,4394,4405,4517,4520,4531 'nb':1557 'nb-no':1556 'need':342,576,2028,2263 'network':57,94 'never':460,971,1080,1926 'new':23,122,2068,3289,3315,3326 'nl':1560,1561 'nl-nl':1559 'nois':469 'none':1022 'note':178 'npm':12 'number':321,444 'object':372,536,597,681,1597 'occur':2703,2856,3107,3236,3359,3403,3532,3806,3995,4146,4297,4423,4549,4799,4887 'ok':2546 'omit':37 'one':1421 'option':218,270,455,719,768,859,966,1075,1131,1180,1227,1267,1325,1379,1432,1486,1640,1689,1730,1777,1921,2076,2413 'order':330 'page':199,340,574,2026,2261 'pagin':179,186 'paramet':953 'park':1062 'pars':2512,2535 'particip':309,324,432,447,486,561,564,616,714,755,845,850,946,952,1117,1122,1164,1171,1416,1425,1466,1478,1608,1631,1671,1676,1716,1721,1761,1764,1817,1824,1834,1841,1908,1914,1919,1947,2611,2615,2619,2624,2629,2634,3093,3222,3487,3616,3653,3842,4031,4182,4585 'patch':1915,2405 'path':916 'paus':1219,1220 'payload':1484,1583,1604,2537,2658 'payload.call':3280,3306,3317 'payload.client':3328 'payload.conference':3336 'payload.connection':3291 'payload.occurred':3347 'permiss':159 'pl':1563,1564 'pl-pl':1562 'play':747,1160,1165,1337,1472,1619,1626,3763,3784,3952,3973,4380,4401,4506,4527 'playback':808,2620,2625,2639,2643 'posit':2304,2381,2788,2791,2941,2944 'post':209,264,448,715,760,855,958,1067,1127,1176,1223,1263,1319,1375,1426,1479,1636,1681,1726,1767,2071,2176 'process':2957 'process.env':26 'product':73,2500 'progress':390,554,699 'promis':123 'prompt':743 'properti':1910,2170 'pt':1566,1569,1570 'pt-br':1565 'pt-pt':1568 'put':203 'queu':2395,2398 'queue':208,216,245,257,263,2012,2015,2032,2059,2065,2070,2074,2082,2085,2114,2121,2126,2129,2133,2136,2162,2168,2175,2178,2185,2188,2217,2223,2228,2231,2236,2242,2251,2254,2270,2300,2303,2309,2322,2330,2333,2347,2349,2377,2380,2386,2407,2424,2426,2434,2441,2457,2460,2472,2474,2598,2786,2797,2810,2939,2950,2966,2976 'queue.data':2091,2139,2194 'queue.id':2036 'r':124,126 'rate':59,106,171 'raw':2509 'reason':359,523,668,2962,3245 'receiv':2539,2776,2929,3082,3211,3332,3476,3605,3708,3897,4086,4237,4621 'record':380,544,613,689,1218,1222,1231,1258,1262,1271,1298,1301,1304,1314,1366,1369,1386,2056,2111,2159,2214,2306,2383,2647,3253,4630,4632,4648,4677,4689,4698,4710 'regardless':318,441 'region':384,488,548,693,871,999,1088,1137,1194,1234,1274,1340,1389,1588,1646,1690,1736,1781 'remov':253,258,1050,2429,2435,2453 'req':2520 'req.body.tostring':2527 'req.headers':2529 'request':957,2485 'requir':146,215,450,764,962,1071,1323,1430,1483,1685,1771,2073,2180 'res':2521 'res.status':2543,2554 'resourc':161,2673,2690,2826,2843,2992,3009,3121,3138,3262,3279,3373,3390,3502,3519,3631,3648,3820,3837,4009,4026,4160,4177,4311,4328,4437,4454,4563,4580,4725,4742,4813,4830 'respons':239,279,725,823,880,1032,1097,1146,1203,1243,1283,1354,1398,1446,1600,1655,1699,1745,1838,1944 'response.data':249,291,735,839,890,1043,1111,1156,1213,1253,1293,1361,1408,1458,1612,1665,1710,1755,1851,1957 'result':78,194,251,293,737,841,892,1045,1113,1158,1215,1255,1295,1363,1410,1460,1614,1667,1712,1757,1812 'resum':1259,1260 'retri':99,110,118,173 'retriev':637,640,1814,1818,2118,2122,2238,2243,2317,2323 'retry-aft':117 'retryaft':115,127 'return':182,250,292,351,515,587,660,736,840,891,1044,1112,1157,1214,1254,1294,1362,1409,1459,1613,1666,1711,1756,1811,1852,1958,2037,2092,2140,2195,2276,2353 'ro':1572,1573 'ro-ro':1571 'role':1018,1766,1776,1807 'ru':1575,1576 'ru-ru':1574 'save':2648 'say':1605 'se':1579 'sec':235,2041,2096,2144,2199,2315,2392,2802,2969 'second':2812,2978 'send':1412,1417,2545,2556 'sent':2564 'session':2286,2363,2753,2763,2906,2916,3059,3069,3188,3198,3318,3322,3453,3463,3582,3592,3685,3695,3729,3739,3874,3884,3918,3928,4063,4073,4107,4117,4214,4224,4258,4268,4346,4356,4472,4482,4598,4608,4760,4770,4848,4858 'set':948,1596 'settimeout':125 'setup':15 'shown':47 'sign':2480 'signatur':2489,2498,2530,2558,2579,2584 'silenc':1351 'singl':1328,4627,4634 'size':230,2047,2052,2078,2102,2107,2150,2155,2182,2191,2205,2210 'skill' 'skill-telnyx-voice-conferencing-javascript' 'soft':617,1006,1883,1936,1989 'source-team-telnyx' 'speak':1462,2630,2635,2651,2655 'speaker':3290,3316,3327,3344 'specif':753,1822 'speech':1470 'spend':2807 'spent':2973 'spoken':3754,3943,4132,4283,4371,4497,4785,4873 'ssml':1587 'start':495,1012,1299,1300,2626,2636,2644,2656,3741,3772,3793,3930,3961,3982,4119,4270,4358,4389,4410,4484,4515,4536,4700,4711,4772,4860 'state':220,272,466,773,977,1063,1381,1439,2773,2775,2926,2928,3079,3081,3208,3210,3329,3331,3473,3475,3602,3604,3705,3707,3894,3896,4083,4085,4234,4236,4618,4620 'status':386,550,623,695,1889,1995 'stop':807,1306,1313,1367,1368,1616,1623 'store':4674 'string':221,224,252,273,276,294,354,357,375,377,379,385,394,467,473,480,484,518,521,539,541,543,549,558,591,595,600,607,630,636,663,666,684,686,688,694,703,722,738,771,774,777,790,794,803,814,820,842,862,867,870,893,978,981,992,996,1029,1046,1087,1114,1136,1159,1183,1188,1190,1193,1216,1230,1233,1256,1270,1273,1296,1332,1336,1364,1382,1385,1411,1437,1440,1461,1491,1494,1615,1645,1668,1713,1735,1758,1780,1793,1813,1856,1860,1863,1875,1877,1904,1962,1966,1969,1981,1983,2010,2045,2050,2055,2062,2100,2105,2110,2117,2148,2153,2158,2165,2203,2208,2213,2220,2280,2284,2288,2291,2294,2296,2302,2312,2357,2361,2365,2368,2371,2373,2379,2389,2707,2720,2736,2755,2774,2781,2860,2873,2889,2908,2927,2934,3013,3026,3042,3061,3080,3088,3142,3155,3171,3190,3209,3217,3283,3293,3309,3320,3330,3338,3407,3420,3436,3455,3474,3482,3536,3549,3565,3584,3603,3611,3652,3668,3687,3706,3714,3731,3746,3758,3775,3841,3857,3876,3895,3903,3920,3935,3947,3964,4030,4046,4065,4084,4092,4109,4124,4181,4197,4216,4235,4243,4260,4275,4331,4348,4363,4375,4392,4457,4474,4489,4501,4518,4584,4600,4619,4651,4745,4762,4777,4833,4850,4865 'supervisor':1017,1765,1775,1806 'support':247,2089 'sv':1578 'sv-se':1577 'telnyx':2,6,14,18,20,24,27,2479,2488,2493,2574,2578,2726,2879,3032,3161,3299,3426,3555,3720,3909,4098,4249,4337,4463,4657,4751,4839 'telnyx-signature-ed25519':2487,2577 'telnyx-timestamp':2492,2573 'telnyx-voice-conferencing-javascript':1 'telnyx.apiconnectionerror':92 'telnyx.apierror':133 'telnyx.ratelimiterror':104 'termin':711,812 'text':85,1463,1468,1586,3752,3941,4130,4281,4369,4495,4783,4871 'tier':2087 'time':234,368,532,677,1868,1898,1974,2004,2040,2095,2143,2198,2314,2391,2695,2801,2805,2848,2968,2971,3099,3228,3243,3351,3395,3524,3798,3987,4138,4289,4415,4541,4683,4704,4791,4879 'timeout':779,784,815,2960 'timestamp':2494,2575 'tone':1419 'topic-agent-skills' 'topic-ai-coding-agent' 'topic-claude-code' 'topic-cpaas' 'topic-cursor' 'topic-iot' 'topic-llm' 'topic-sdk' 'topic-sip' 'topic-sms' 'topic-speech-to-text' 'topic-telephony' 'tr':1581,1582 'tr-tr':1580 'tri':76,799,2522 'trim':1347,1350 'trim-sil':1349 'type':381,545,614,690,1584,2057,2112,2160,2215,2307,2384,2517,2542,2662,2665,2670,2675,2679,2688,2815,2818,2823,2828,2832,2841,2981,2984,2989,2994,2998,3007,3110,3113,3118,3123,3127,3136,3251,3254,3259,3264,3268,3277,3362,3365,3370,3375,3379,3388,3491,3494,3499,3504,3508,3517,3620,3623,3628,3633,3637,3646,3809,3812,3817,3822,3826,3835,3998,4001,4006,4011,4015,4024,4149,4152,4157,4162,4166,4175,4300,4303,4308,4313,4317,4326,4426,4429,4434,4439,4443,4452,4552,4555,4560,4565,4569,4578,4714,4717,4722,4727,4731,4740,4802,4805,4810,4815,4819,4828 'unhold':1669,1672 'uniqu':2740,2759,2893,2912,3046,3065,3175,3194,3440,3459,3569,3588,3672,3691,3735,3861,3880,3924,4050,4069,4113,4201,4220,4264,4352,4478,4604,4766,4854 'unmut':1714,1717 'updat':392,556,628,701,1759,1762,1894,1905,1909,2000,2060,2115,2163,2166,2169,2218,2394,2397 'upon':414 'url':479,770,789,861,991,1182,2569,3757,3761,3767,3946,3950,3956,4374,4378,4384,4500,4504,4510 'us':494,877,1005,1094,1143,1200,1240,1280,1346,1395,1525,1534,1594,1652,1696,1742,1787 'use':188,405,741,2449,2508,2586,2710,2729,2747,2767,2863,2882,2900,2920,3016,3035,3053,3073,3145,3164,3182,3202,3302,3410,3429,3447,3467,3539,3558,3576,3596,3657,3679,3699,3723,3770,3791,3846,3868,3888,3912,3959,3980,4035,4057,4077,4101,4186,4208,4228,4252,4340,4387,4408,4466,4513,4534,4589,4612,4660,4672,4754,4842 'user':2019 'uuid':1388,2685,2838,3004,3133,3274,3385,3514,3643,3832,4021,4172,4323,4449,4575,4640,4693,4737,4825 'v3':282,508,835,1039,1706,1803 'valid':62,143,165,818,2531 'verif':2478,2551,2585 'verifi':2497,2589 'via':364,528,673,1311,2714,2867,3020,3149,3414,3543,3661,3850,4039,4190,4593 'voic':3,7,1485,1595,1609 'wait':108,233,2039,2094,2142,2197,2313,2390,2800 'wav':1359,4666 'webhook':1065,1317,1373,2476,2477,2481,2504,2536,2550,2561,2568,2571,2657,2750,2770,2903,2923,3056,3076,3185,3205,3450,3470,3579,3599,3682,3702,3871,3891,4060,4080,4211,4231,4615 'whether':4629 'whisper':631,1023,1024,1788,1808,1899,2005 'wish':926 'wls':1519","prices":[{"id":"47ea0133-e8d4-4733-984d-5a34e543bc8a","listingId":"5226335a-6649-4663-8c2e-b083dcb2ccae","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"team-telnyx","category":"ai","install_from":"skills.sh"},"createdAt":"2026-04-18T22:08:20.525Z"}],"sources":[{"listingId":"5226335a-6649-4663-8c2e-b083dcb2ccae","source":"github","sourceId":"team-telnyx/ai/telnyx-voice-conferencing-javascript","sourceUrl":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-voice-conferencing-javascript","isPrimary":false,"firstSeenAt":"2026-04-18T22:08:20.525Z","lastSeenAt":"2026-04-22T00:54:51.714Z"}],"details":{"listingId":"5226335a-6649-4663-8c2e-b083dcb2ccae","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"team-telnyx","slug":"telnyx-voice-conferencing-javascript","github":{"repo":"team-telnyx/ai","stars":167,"topics":["agent-skills","ai","ai-coding-agent","claude-code","cpaas","cursor","iot","llm","sdk","sip","sms","speech-to-text","telephony","telnyx","tts","twilio-migration","voice-agents","voice-ai","webrtc","windsurf"],"license":"mit","html_url":"https://github.com/team-telnyx/ai","pushed_at":"2026-04-21T22:09:49Z","description":"Official one-stop shop for AI Agents and developers building with Telnyx.","skill_md_sha":"5a441e25757657891c69a5e34bf8307f5bcf589a","skill_md_path":"skills/telnyx-voice-conferencing-javascript/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-voice-conferencing-javascript"},"layout":"multi","source":"github","category":"ai","frontmatter":{"name":"telnyx-voice-conferencing-javascript","description":">-"},"skills_sh_url":"https://skills.sh/team-telnyx/ai/telnyx-voice-conferencing-javascript"},"updatedAt":"2026-04-22T00:54:51.714Z"}}