This guide shows how to broadcast voice messages to multiple recipients at once. You can play recorded audio when the call recipient answers or use text-to-speech, as we show here.You can use voice broadcasting for use cases such as:
Bulk voice calling campaigns
Emergency notifications
Survey campaigns
User feedback
Announcements
Promotions and special deals
Reminder campaigns
You can broadcast voice alerts either by using our PHLO visual workflow builder or our APIs and XML documents. Follow the instructions in one of the tabs below.
Using XML
Here’s how to broadcast voice alerts and notifications using XML.
Plivo requests an answer URL when the call is answered (step 4) and expects the file at that address to hold a valid XML response from the application with instructions on how to handle the call. To see how this works, you can use https://s3.amazonaws.com/static.plivo.com/broadcast.xml as an answer URL to test your first outgoing call. The file contains this XML code:
<Response><Speak>Congratulations! You have made your first bulk call.</Speak></Response>
This code instructs Plivo to say, “Congratulations! You have made your first bulk call” to the call recipients. You can find the entire list of valid Plivo XML verbs in our XML Reference documentation.
To get started, you need a Plivo account — sign up with your work email address if you don’t have one already. If this is your first time using Plivo APIs, follow our instructions to set up a Node.js development environment and a web server and safely expose that server to the internet.
Create a file called Broadcast.js and paste into it this code.
var plivo = require('plivo');(function main() { 'use strict'; var client = new plivo.Client("<auth_id>","<auth_token>"); client.calls.create( "<caller_id>", // from "+14151234567<+14151234568", // to "https://s3.amazonaws.com/static.plivo.com/broadcast.xml", // answer url { answerMethod: "GET", }, ).then(function (response) { console.log(response); }, function (err) { console.error(err); });})();
Replace the auth placeholders with your authentication credentials from the Plivo console. Replace the phone number placeholders with actual phone numbers in E.164 format (for example, +12025551234). Destination numbers may also be SIP endpoints, in which case each destination_number placeholder must be a valid SIP URI — for example, sip:john1234@phone.plivo.com.
Note: We recommend that you store your credentials in the auth_id and auth_token environment variables, so as to avoid the possibility of accidentally committing them to source control. If you do this, you can initialize the client with no arguments and it will automatically fetch them from the environment variables. You can use process.env to store environment variables and fetch them when initializing the client.
This guide shows how to broadcast voice messages to multiple recipients at once. You can play recorded audio when the call recipient answers or use text-to-speech, as we show here.You can use voice broadcasting for use cases such as:
Bulk voice calling campaigns
Emergency notifications
Survey campaigns
User feedback
Announcements
Promotions and special deals
Reminder campaigns
You can broadcast voice alerts either by using our PHLO visual workflow builder or our APIs and XML documents. Follow the instructions in one of the tabs below.
Using XML
Here’s how to broadcast voice alerts and notifications using XML.
Plivo requests an answer URL when the call is answered (step 4) and expects the file at that address to hold a valid XML response from the application with instructions on how to handle the call. To see how this works, you can use https://s3.amazonaws.com/static.plivo.com/broadcast.xml as an answer URL to test your first outgoing call. The file contains this XML code:
<Response><Speak>Congratulations! You have made your first bulk call.</Speak></Response>
This code instructs Plivo to say, “Congratulations! You have made your first bulk call” to the call recipients. You can find the entire list of valid Plivo XML verbs in our XML Reference documentation.
To get started, you need a Plivo account — sign up with your work email address if you don’t have one already. If this is your first time using Plivo APIs, follow our instructions to set up a Ruby development environment and a web server and safely expose that server to the internet.
Replace the auth placeholders with your authentication credentials from the Plivo console. Replace the phone number placeholders with actual phone numbers in E.164 format (for example, +12025551234). Destination numbers may also be SIP endpoints, in which case each destination_number placeholder must be a valid SIP URI — for example, sip:john1234@phone.plivo.com.
Note: We recommend that you store your credentials in the auth_id and auth_token environment variables, so as to avoid the possibility of accidentally committing them to source control. If you do this, you can initialize the client with no arguments and it will automatically fetch them from the environment variables. You can use ENV to store environment variables and fetch them when initializing the client.
This guide shows how to broadcast voice messages to multiple recipients at once. You can play recorded audio when the call recipient answers or use text-to-speech, as we show here.You can use voice broadcasting for use cases such as:
Bulk voice calling campaigns
Emergency notifications
Survey campaigns
User feedback
Announcements
Promotions and special deals
Reminder campaigns
You can broadcast voice alerts either by using our PHLO visual workflow builder or our APIs and XML documents. Follow the instructions in one of the tabs below.
Using XML
Here’s how to broadcast voice alerts and notifications using XML.
Plivo requests an answer URL when the call is answered (step 4) and expects the file at that address to hold a valid XML response from the application with instructions on how to handle the call. To see how this works, you can use https://s3.amazonaws.com/static.plivo.com/broadcast.xml as an answer URL to test your first outgoing call. The file contains this XML code:
<Response><Speak>Congratulations! You have made your first bulk call.</Speak></Response>
This code instructs Plivo to say, “Congratulations! You have made your first bulk call” to the call recipients. You can find the entire list of valid Plivo XML verbs in our XML Reference documentation.
To get started, you need a Plivo account — sign up with your work email address if you don’t have one already. If this is your first time using Plivo APIs, follow our instructions to set up a Ruby development environment and a web server and safely expose that server to the internet.
Replace the auth placeholders with your authentication credentials from the Plivo console. Replace the phone number placeholders with actual phone numbers in E.164 format (for example, +12025551234). Destination numbers may also be SIP endpoints, in which case each destination_number placeholder must be a valid SIP URI — for example, sip:john1234@phone.plivo.com.
Note: We recommend that you store your credentials in the auth_id and auth_token environment variables, so as to avoid the possibility of accidentally committing them to source control. If you do this, you can initialize the client with no arguments and it will automatically fetch them from the environment variables. You can use os module(os.environ) to store environment variables and fetch them when initializing the client.
This guide shows how to broadcast voice messages to multiple recipients at once. You can play recorded audio when the call recipient answers or use text-to-speech, as we show here.You can use voice broadcasting for use cases such as:
Bulk voice calling campaigns
Emergency notifications
Survey campaigns
User feedback
Announcements
Promotions and special deals
Reminder campaigns
You can broadcast voice alerts either by using our PHLO visual workflow builder or our APIs and XML documents. Follow the instructions in one of the tabs below.
Using XML
Here’s how to broadcast voice alerts and notifications using XML.
Plivo requests an answer URL when the call is answered (step 4) and expects the file at that address to hold a valid XML response from the application with instructions on how to handle the call. To see how this works, you can use https://s3.amazonaws.com/static.plivo.com/broadcast.xml as an answer URL to test your first outgoing call. The file contains this XML code:
<Response><Speak>Congratulations! You have made your first bulk call.</Speak></Response>
This code instructs Plivo to say, “Congratulations! You have made your first bulk call” to the call recipients. You can find the entire list of valid Plivo XML verbs in our XML Reference documentation.
To get started, you need a Plivo account — sign up with your work email address if you don’t have one already. If this is your first time using Plivo APIs, follow our instructions to set up a Ruby development environment and a web server and safely expose that server to the internet.
Replace the auth placeholders with your authentication credentials from the Plivo console. Replace the phone number placeholders with actual phone numbers in E.164 format (for example, +12025551234). Destination numbers may also be SIP endpoints, in which case each destination_number placeholder must be a valid SIP URI — for example, sip:john1234@phone.plivo.com.
Note: We recommend that you store your credentials in the auth_id and auth_token environment variables, so as to avoid the possibility of accidentally committing them to source control. If you do this, you can initialize the client with no arguments and it will automatically fetch them from the environment variables. You can use $_ENV or putenv/getenv to store environment variables and fetch them when initializing the client.
This guide shows how to broadcast voice messages to multiple recipients at once. You can play recorded audio when the call recipient answers or use text-to-speech, as we show here.You can use voice broadcasting for use cases such as:
Bulk voice calling campaigns
Emergency notifications
Survey campaigns
User feedback
Announcements
Promotions and special deals
Reminder campaigns
You can broadcast voice alerts either by using our PHLO visual workflow builder or our APIs and XML documents. Follow the instructions in one of the tabs below.
Using XML
Here’s how to broadcast voice alerts and notifications using XML.
Plivo requests an answer URL when the call is answered (step 4) and expects the file at that address to hold a valid XML response from the application with instructions on how to handle the call. To see how this works, you can use https://s3.amazonaws.com/static.plivo.com/broadcast.xml as an answer URL to test your first outgoing call. The file contains this XML code:
<Response><Speak>Congratulations! You have made your first bulk call.</Speak></Response>
This code instructs Plivo to say, “Congratulations! You have made your first bulk call” to the call recipients. You can find the entire list of valid Plivo XML verbs in our XML Reference documentation.
To get started, you need a Plivo account — sign up with your work email address if you don’t have one already. If this is your first time using Plivo APIs, follow our instructions to set up a Ruby development environment and a web server and safely expose that server to the internet.
In Visual Studio, open the file in the CS project called Program.cs and paste into it this code.
using System;using System.Collections.Generic;using Plivo;namespace testplivo{ class Program { static void Main(string[] args) { var api = new PlivoApi("<auth_id>","<auth_token>"); var response = api.Call.Create( to: new List<String> { "<destination_number1>", "<destination_number2>" }, from: "<caller_id>", answerMethod: "GET", answerUrl: "https://s3.amazonaws.com/static.plivo.com/broadcast.xml" ); Console.WriteLine(response); } }}
Replace the auth placeholders with your authentication credentials from the Plivo console. Replace the phone number placeholders with actual phone numbers in E.164 format (for example, +12025551234). Destination numbers may also be SIP endpoints, in which case each destination_number placeholder must be a valid SIP URI — for example, sip:john1234@phone.plivo.com.
Note: We recommend that you store your credentials in the auth_id and auth_token environment variables, so as to avoid the possibility of accidentally committing them to source control. If you do this, you can initialize the client with no arguments and it will automatically fetch them from the environment variables. You can use Environment.SetEnvironmentVariable Method to store environment variables and Environment.GetEnvironmentVariable Method to fetch them when initializing the client.
This guide shows how to broadcast voice messages to multiple recipients at once. You can play recorded audio when the call recipient answers or use text-to-speech, as we show here.You can use voice broadcasting for use cases such as:
Bulk voice calling campaigns
Emergency notifications
Survey campaigns
User feedback
Announcements
Promotions and special deals
Reminder campaigns
You can broadcast voice alerts either by using our PHLO visual workflow builder or our APIs and XML documents. Follow the instructions in one of the tabs below.
Using XML
Here’s how to broadcast voice alerts and notifications using XML.
Plivo requests an answer URL when the call is answered (step 4) and expects the file at that address to hold a valid XML response from the application with instructions on how to handle the call. To see how this works, you can use https://s3.amazonaws.com/static.plivo.com/broadcast.xml as an answer URL to test your first outgoing call. The file contains this XML code:
<Response><Speak>Congratulations! You have made your first bulk call.</Speak></Response>
This code instructs Plivo to say, “Congratulations! You have made your first bulk call” to the call recipients. You can find the entire list of valid Plivo XML verbs in our XML Reference documentation.
To get started, you need a Plivo account — sign up with your work email address if you don’t have one already. If this is your first time using Plivo APIs, follow our instructions to set up a Ruby development environment and a web server and safely expose that server to the internet.
Replace the auth placeholders with your authentication credentials from the Plivo console. Replace the phone number placeholders with actual phone numbers in E.164 format (for example, +12025551234). Destination numbers may also be SIP endpoints, in which case each destination_number placeholder must be a valid SIP URI — for example, sip:john1234@phone.plivo.com.
Note: We recommend that you store your credentials in the auth_id and auth_token environment variables, so as to avoid the possibility of accidentally committing them to source control. If you do this, you can initialize the client with no arguments and it will automatically fetch them from the environment variables. You can use System.getenv() to store environment variables and retrieve them when initializing the client.
This guide shows how to broadcast voice messages to multiple recipients at once. You can play recorded audio when the call recipient answers or use text-to-speech, as we show here.You can use voice broadcasting for use cases such as:
Bulk voice calling campaigns
Emergency notifications
Survey campaigns
User feedback
Announcements
Promotions and special deals
Reminder campaigns
You can broadcast voice alerts either by using our PHLO visual workflow builder or our APIs and XML documents. Follow the instructions in one of the tabs below.
Using XML
Here’s how to broadcast voice alerts and notifications using XML.
Plivo requests an answer URL when the call is answered (step 4) and expects the file at that address to hold a valid XML response from the application with instructions on how to handle the call. To see how this works, you can use https://s3.amazonaws.com/static.plivo.com/broadcast.xml as an answer URL to test your first outgoing call. The file contains this XML code:
<Response><Speak>Congratulations! You have made your first bulk call.</Speak></Response>
This code instructs Plivo to say, “Congratulations! You have made your first bulk call” to the call recipients. You can find the entire list of valid Plivo XML verbs in our XML Reference documentation.
To get started, you need a Plivo account — sign up with your work email address if you don’t have one already. If this is your first time using Plivo APIs, follow our instructions to set up a Ruby development environment and a web server and safely expose that server to the internet.
Replace the auth placeholders with your authentication credentials from the Plivo console. Replace the phone number placeholders with actual phone numbers in E.164 format (for example, +12025551234). Destination numbers may also be SIP endpoints, in which case each destination_number placeholder must be a valid SIP URI — for example, sip:john1234@phone.plivo.com.
Note: We recommend that you store your credentials in the auth_id and auth_token environment variables, so as to avoid the possibility of accidentally committing them to source control. If you do this, you can initialize the client with no arguments and it will automatically fetch them from the environment variables. You can use os.Setenv and os.Getenv to store environment variables and fetch them when initializing the client.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Plivo","colors":{"primary":"#323dfe","light":"#5b6bff","dark":"#2830cc"},"logo":{"light":"https://mintcdn.com/plivo/nlRVupwxTfmW2fPy/logo/newlogodark.svg?fit=max\u0026auto=format\u0026n=nlRVupwxTfmW2fPy\u0026q=85\u0026s=60816eb957f6b8962ef15eddde76449a","dark":"https://mintcdn.com/plivo/nlRVupwxTfmW2fPy/logo/newlogolight.svg?fit=max\u0026auto=format\u0026n=nlRVupwxTfmW2fPy\u0026q=85\u0026s=27bd82e8f16bad829a0536c7a8fa9374","href":"https://www.plivo.com/"},"favicon":"https://mintcdn.com/plivo/dmvKeqcj6my-kDvH/favicon.svg?fit=max\u0026auto=format\u0026n=dmvKeqcj6my-kDvH\u0026q=85\u0026s=1416a3d8d3d1f8f94fb88979b6b327e9","background":{"decoration":"grid"},"navbar":{"links":[{"href":"https://support.plivo.com/hc/en-us","label":"Support"},{"href":"https://cx.plivo.com/home","label":"Console"},{"href":"https://cx.plivo.com/signup","label":"Sign Up"}]},"footer":{"socials":{"x":"https://twitter.com/plivo","github":"https://github.com/plivo","linkedin":"https://www.linkedin.com/company/plivo-inc","facebook":"https://fb.com/plivo"}},"fonts":{"family":"Inter"},"icons":{"library":"lucide"},"integrations":{"ga4":{"measurementId":"G-YLW0ZWN2T7"},"posthog":{"apiKey":"phc_5ISIYiMfoaGh9TVGt9ydU6g91tlKvvj1qrDIcC4vKGP","apiHost":"https://f.plivo.com"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"plivo","hasAudioNarration":false,"actualSubdomain":"plivo","customDomains":["plivo.com"],"gitSource":{"type":"github","owner":"plivo-dev","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ada0d89b052f87fe57ecc7d","collectionId":"aab34c57-2955-491f-9bfc-225c783e9a94","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ada0d89b052f87fe57ecc7d"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ada0d89b052f87fe57ecc7d","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"Programmable APIs","count":284},{"language":"default","tag":"Voice API","count":91},{"language":"default","tag":"Concepts","count":64},{"language":"default","tag":"Messaging API","count":61},{"language":"default","tag":"Integrations","count":44},{"language":"default","tag":"All integrations","count":43},{"language":"default","tag":"API Reference","count":42},{"language":"default","tag":"SIP Trunking","count":38},{"language":"default","tag":"Audio Streaming","count":30},{"language":"default","tag":"Voice Tutorials","count":28}]},"assistantConfig":{},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":"/* cyrillic-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Sora';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwWa-xsaQ.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Sora';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwV6-x.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Sora';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwWa-xsaQ.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Sora';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwV6-x.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Sora';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwWa-xsaQ.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Sora';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwV6-x.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Sora';\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwWa-xsaQ.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Sora';\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwV6-x.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n@keyframes dcon-scroll{to{transform:translateX(-240px)}}@keyframes dcon-ping{0%{opacity:.8;transform:scale(1)}75%,to{opacity:0;transform:scale(2.2)}}:root{--plivo-blue:#323dfe;--plivo-blue-text:var(--plivo-blue);--plivo-font-mono:'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;--plivo-font-display:'Sora', ui-sans-serif, system-ui, sans-serif;--plivo-ink:rgba(0, 0, 0, 0.55)}.dark{--plivo-ink:rgba(255, 255, 255, 0.5);--plivo-blue-text:#6b7cff}.card,.prose *,[class*=rounded],blockquote,button,code,img,input,pre,table,td,th{border-radius:2px!important}.rounded-full,[class*=rounded-full],[style*=\"border-radius: 50%\"],[style*=\"border-radius:50%\"]{border-radius:9999px!important}code,kbd,pre{font-family:var(--plivo-font-mono)!important}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em!important}main h1,main h2,main h3,main h4{font-weight:600!important}.card [class*=title],.card h2,.card h3,.nav-tabs-item,a[class*=nav-tabs],h1,h2,h3,h4,h5,h6{font-family:var(--plivo-font-display)!important}div:has(>.nav-tabs){height:2.25rem!important}.nav-tabs{gap:1.25rem!important}.nav-tabs-item{font-size:13px!important}.nav-tabs-item>div[class*=bg-primary]{background-color:var(--plivo-ink)!important}main h1::after{content:'';display:block;width:2.75rem;height:2px;margin-top:.75rem;background:var(--plivo-blue)}.prose>p:first-of-type+h2,nav[aria-label=Breadcrumb]{font-family:var(--plivo-font-mono)!important}.card{position:relative;transition:border-color 160ms ease,box-shadow 160ms ease,transform 120ms ease!important}.card::after,.card::before{content:'';position:absolute;width:11px;height:11px;pointer-events:none;transition:border-color 160ms ease;z-index:1}.card::before{top:6px;left:6px;border-left:1px solid var(--plivo-ink);border-top:1px solid var(--plivo-ink)}.card::after{right:6px;bottom:6px;border-right:1px solid var(--plivo-ink);border-bottom:1px solid var(--plivo-ink)}.card:hover{transform:translateY(1px)}.card:hover::after,.card:hover::before{border-color:var(--plivo-blue)}.card .card-icon,.card svg[class*=text-primary]{color:var(--plivo-blue)!important}.card [data-component-part=card-content]{font-size:.8rem!important;line-height:1.5!important;margin-top:.55rem!important}.prose pre,pre{border:0!important}.mdx-content a[href]:not([class*=not-prose]):not([class*=card]){text-decoration-line:underline!important;text-decoration-thickness:1px!important;text-underline-offset:2px!important}.mdx-content a[href]:not([class*=not-prose]):not([class*=card]),.mdx-content a[href]:not([class*=not-prose]):not([class*=card]):hover{color:inherit!important;text-decoration-color:currentColor!important;border-bottom:0!important}a.button,a[class*=bg-primary-]:not([class*=\"/\"]):not([class*=text-]),a[role=button],button.button{font-family:var(--plivo-font-mono)!important;letter-spacing:.06em}#sidebar a[class*=bg-primary],[class*=sidebar] a[class*=bg-primary]{background-color:color-mix(in srgb,var(--plivo-ink) 8%,transparent)!important;color:var(--plivo-blue-text)!important}#sidebar a.nav-anchor,#sidebar ul li a,#sidebar ul li button{padding-top:3px!important;padding-bottom:3px!important;font-size:13px!important;line-height:20px!important}#sidebar a.nav-anchor>div:first-child{padding:2px!important;background:0 0!important;box-shadow:none!important;border:0!important;color:inherit!important}#sidebar a.nav-anchor>div:first-child svg{color:inherit!important;background-color:currentColor!important}#sidebar a.nav-anchor:hover>div:first-child svg{background-color:currentColor!important}#sidebar .sidebar-group-header{margin-bottom:.4rem!important}#sidebar div:has(>.sidebar-group-header){margin-top:1rem!important}#table-of-contents a{padding-top:2px!important;padding-bottom:2px!important;font-size:13px!important;line-height:20px!important}#table-of-contents a[aria-current=location]{color:rgba(15,16,20,.95)!important;font-weight:700!important;text-shadow:none!important}.dark #table-of-contents a[aria-current=location]{color:rgba(255,255,255,.92)!important}#sidebar a:focus-visible,#sidebar button:focus-visible,#table-of-contents a:focus-visible,.card:focus-visible,.mdx-content a[href]:focus-visible,.nav-tabs-item:focus-visible,a.button:focus-visible,a[role=button]:focus-visible{outline:2px solid var(--plivo-blue-text)!important;outline-offset:2px!important;border-radius:2px}.dcon-frame::before{content:'';position:absolute;inset:-10px;pointer-events:none;opacity:.55;background-repeat:no-repeat;background-image:linear-gradient(var(--plivo-ink),var(--plivo-ink)),linear-gradient(var(--plivo-ink),var(--plivo-ink)),linear-gradient(var(--plivo-ink),var(--plivo-ink)),linear-gradient(var(--plivo-ink),var(--plivo-ink)),linear-gradient(var(--plivo-ink),var(--plivo-ink)),linear-gradient(var(--plivo-ink),var(--plivo-ink)),linear-gradient(var(--plivo-ink),var(--plivo-ink)),linear-gradient(var(--plivo-ink),var(--plivo-ink));background-size:12px 1px,1px 12px,12px 1px,1px 12px,12px 1px,1px 12px,12px 1px,1px 12px;background-position:left top,left top,right top,right top,left bottom,left bottom,right bottom,right bottom}.dcon{--dcon-ph:64%;position:relative;overflow:hidden;border:1px solid rgba(0,0,0,.14);border-radius:2px;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.02),0 30px 60px -30px rgba(0,0,0,.28);font-family:var(--plivo-font-mono)}.dark .dcon{border-color:rgba(255,255,255,.16);background:#0d0f16;box-shadow:0 1px 0 rgba(0,0,0,.2),0 30px 60px -30px rgba(0,0,0,.6)}.dcon__bar{display:flex;align-items:center;gap:8px;height:30px;padding:0 10px;border-bottom:1px solid rgba(0,0,0,.1);font-size:10px;letter-spacing:.08em;color:rgba(0,0,0,.55)}.dark .dcon__bar{color:rgba(255,255,255,.6)}.dcon__bar-name{flex:1}.dcon__bar-tag{color:var(--plivo-blue-text)}.dcon__led{position:relative;flex:none;width:6px;height:6px;border-radius:1px;background:var(--plivo-blue);box-shadow:0 0 6px rgba(50,61,254,.5)}.dcon__led::after{content:'';position:absolute;inset:-1px;border:1px solid var(--plivo-blue);border-radius:1px;animation:dcon-ping 2.4s cubic-bezier(0,0,.2,1) infinite}.dcon__scope{position:relative;height:120px;overflow:hidden;border-bottom:1px solid rgba(0,0,0,.1)}.dark .dcon__bar,.dark .dcon__scope{border-color:rgba(255,255,255,.12)}.dcon__scope::after,.dcon__scope::before{content:'';position:absolute;left:0;right:0}.dcon__scope::before{top:57px;height:1px;background:rgba(0,0,0,.1)}.dark .dcon__scope::before{background:rgba(255,255,255,.1)}.dcon__scope::after{bottom:0;height:14px;border-top:1px solid rgba(0,0,0,.08);background-image:repeating-linear-gradient(to right,rgba(0,0,0,.35) 0 1px,transparent 1px 28px),repeating-linear-gradient(to right,rgba(0,0,0,.16) 0 1px,transparent 1px 7px);background-size:100% 6px,100% 3px;background-repeat:no-repeat;background-position:0 0,0 0}.dark .dcon__scope::after{border-color:rgba(255,255,255,.08);background-image:repeating-linear-gradient(to right,rgba(255,255,255,.35) 0 1px,transparent 1px 28px),repeating-linear-gradient(to right,rgba(255,255,255,.16) 0 1px,transparent 1px 7px)}.dcon__litmask,.dcon__trace{position:absolute;left:0;top:8px;bottom:14px}.dcon__trace{width:calc(100% + 240px);background-image:url(\"data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20240%2056'%3E%3Cg%20fill='%23111114'%20fill-opacity='0.32'%3E%3Crect%20x='0'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='3'%20y='22'%20width='2'%20height='12'/%3E%3Crect%20x='6'%20y='18'%20width='2'%20height='20'/%3E%3Crect%20x='9'%20y='22'%20width='2'%20height='12'/%3E%3Crect%20x='12'%20y='25'%20width='2'%20height='6'/%3E%3Crect%20x='15'%20y='12'%20width='2'%20height='32'/%3E%3Crect%20x='18'%20y='4'%20width='2'%20height='48'/%3E%3Crect%20x='21'%20y='3'%20width='2'%20height='50'/%3E%3Crect%20x='24'%20y='11'%20width='2'%20height='34'/%3E%3Crect%20x='27'%20y='23'%20width='2'%20height='10'/%3E%3Crect%20x='30'%20y='22'%20width='2'%20height='12'/%3E%3Crect%20x='33'%20y='18'%20width='2'%20height='20'/%3E%3Crect%20x='36'%20y='20'%20width='2'%20height='16'/%3E%3Crect%20x='39'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='42'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='45'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='48'%20y='21'%20width='2'%20height='14'/%3E%3Crect%20x='51'%20y='11'%20width='2'%20height='34'/%3E%3Crect%20x='54'%20y='5'%20width='2'%20height='46'/%3E%3Crect%20x='57'%20y='6'%20width='2'%20height='44'/%3E%3Crect%20x='60'%20y='16'%20width='2'%20height='24'/%3E%3Crect%20x='63'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='66'%20y='14'%20width='2'%20height='28'/%3E%3Crect%20x='69'%20y='10'%20width='2'%20height='36'/%3E%3Crect%20x='72'%20y='13'%20width='2'%20height='30'/%3E%3Crect%20x='75'%20y='20'%20width='2'%20height='16'/%3E%3Crect%20x='78'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='81'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='84'%20y='22'%20width='2'%20height='12'/%3E%3Crect%20x='87'%20y='15'%20width='2'%20height='26'/%3E%3Crect%20x='90'%20y='11'%20width='2'%20height='34'/%3E%3Crect%20x='93'%20y='14'%20width='2'%20height='28'/%3E%3Crect%20x='96'%20y='24'%20width='2'%20height='8'/%3E%3Crect%20x='99'%20y='18'%20width='2'%20height='20'/%3E%3Crect%20x='102'%20y='7'%20width='2'%20height='42'/%3E%3Crect%20x='105'%20y='4'%20width='2'%20height='48'/%3E%3Crect%20x='108'%20y='9'%20width='2'%20height='38'/%3E%3Crect%20x='111'%20y='19'%20width='2'%20height='18'/%3E%3Crect%20x='114'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='117'%20y='25'%20width='2'%20height='6'/%3E%3Crect%20x='120'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='123'%20y='22'%20width='2'%20height='12'/%3E%3Crect%20x='126'%20y='18'%20width='2'%20height='20'/%3E%3Crect%20x='129'%20y='22'%20width='2'%20height='12'/%3E%3Crect%20x='132'%20y='25'%20width='2'%20height='6'/%3E%3Crect%20x='135'%20y='12'%20width='2'%20height='32'/%3E%3Crect%20x='138'%20y='4'%20width='2'%20height='48'/%3E%3Crect%20x='141'%20y='3'%20width='2'%20height='50'/%3E%3Crect%20x='144'%20y='11'%20width='2'%20height='34'/%3E%3Crect%20x='147'%20y='23'%20width='2'%20height='10'/%3E%3Crect%20x='150'%20y='22'%20width='2'%20height='12'/%3E%3Crect%20x='153'%20y='18'%20width='2'%20height='20'/%3E%3Crect%20x='156'%20y='20'%20width='2'%20height='16'/%3E%3Crect%20x='159'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='162'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='165'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='168'%20y='21'%20width='2'%20height='14'/%3E%3Crect%20x='171'%20y='11'%20width='2'%20height='34'/%3E%3Crect%20x='174'%20y='5'%20width='2'%20height='46'/%3E%3Crect%20x='177'%20y='6'%20width='2'%20height='44'/%3E%3Crect%20x='180'%20y='16'%20width='2'%20height='24'/%3E%3Crect%20x='183'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='186'%20y='14'%20width='2'%20height='28'/%3E%3Crect%20x='189'%20y='10'%20width='2'%20height='36'/%3E%3Crect%20x='192'%20y='13'%20width='2'%20height='30'/%3E%3Crect%20x='195'%20y='20'%20width='2'%20height='16'/%3E%3Crect%20x='198'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='201'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='204'%20y='22'%20width='2'%20height='12'/%3E%3Crect%20x='207'%20y='15'%20width='2'%20height='26'/%3E%3Crect%20x='210'%20y='11'%20width='2'%20height='34'/%3E%3Crect%20x='213'%20y='14'%20width='2'%20height='28'/%3E%3Crect%20x='216'%20y='24'%20width='2'%20height='8'/%3E%3Crect%20x='219'%20y='18'%20width='2'%20height='20'/%3E%3Crect%20x='222'%20y='7'%20width='2'%20height='42'/%3E%3Crect%20x='225'%20y='4'%20width='2'%20height='48'/%3E%3Crect%20x='228'%20y='9'%20width='2'%20height='38'/%3E%3Crect%20x='231'%20y='19'%20width='2'%20height='18'/%3E%3Crect%20x='234'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='237'%20y='25'%20width='2'%20height='6'/%3E%3C/g%3E%3C/svg%3E\");background-repeat:repeat-x;background-position:0 50%;background-size:240px 56px;animation:dcon-scroll 16s linear infinite}.dark .dcon__trace{background-image:url(\"data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20240%2056'%3E%3Cg%20fill='%23ffffff'%20fill-opacity='0.35'%3E%3Crect%20x='0'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='3'%20y='22'%20width='2'%20height='12'/%3E%3Crect%20x='6'%20y='18'%20width='2'%20height='20'/%3E%3Crect%20x='9'%20y='22'%20width='2'%20height='12'/%3E%3Crect%20x='12'%20y='25'%20width='2'%20height='6'/%3E%3Crect%20x='15'%20y='12'%20width='2'%20height='32'/%3E%3Crect%20x='18'%20y='4'%20width='2'%20height='48'/%3E%3Crect%20x='21'%20y='3'%20width='2'%20height='50'/%3E%3Crect%20x='24'%20y='11'%20width='2'%20height='34'/%3E%3Crect%20x='27'%20y='23'%20width='2'%20height='10'/%3E%3Crect%20x='30'%20y='22'%20width='2'%20height='12'/%3E%3Crect%20x='33'%20y='18'%20width='2'%20height='20'/%3E%3Crect%20x='36'%20y='20'%20width='2'%20height='16'/%3E%3Crect%20x='39'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='42'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='45'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='48'%20y='21'%20width='2'%20height='14'/%3E%3Crect%20x='51'%20y='11'%20width='2'%20height='34'/%3E%3Crect%20x='54'%20y='5'%20width='2'%20height='46'/%3E%3Crect%20x='57'%20y='6'%20width='2'%20height='44'/%3E%3Crect%20x='60'%20y='16'%20width='2'%20height='24'/%3E%3Crect%20x='63'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='66'%20y='14'%20width='2'%20height='28'/%3E%3Crect%20x='69'%20y='10'%20width='2'%20height='36'/%3E%3Crect%20x='72'%20y='13'%20width='2'%20height='30'/%3E%3Crect%20x='75'%20y='20'%20width='2'%20height='16'/%3E%3Crect%20x='78'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='81'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='84'%20y='22'%20width='2'%20height='12'/%3E%3Crect%20x='87'%20y='15'%20width='2'%20height='26'/%3E%3Crect%20x='90'%20y='11'%20width='2'%20height='34'/%3E%3Crect%20x='93'%20y='14'%20width='2'%20height='28'/%3E%3Crect%20x='96'%20y='24'%20width='2'%20height='8'/%3E%3Crect%20x='99'%20y='18'%20width='2'%20height='20'/%3E%3Crect%20x='102'%20y='7'%20width='2'%20height='42'/%3E%3Crect%20x='105'%20y='4'%20width='2'%20height='48'/%3E%3Crect%20x='108'%20y='9'%20width='2'%20height='38'/%3E%3Crect%20x='111'%20y='19'%20width='2'%20height='18'/%3E%3Crect%20x='114'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='117'%20y='25'%20width='2'%20height='6'/%3E%3Crect%20x='120'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='123'%20y='22'%20width='2'%20height='12'/%3E%3Crect%20x='126'%20y='18'%20width='2'%20height='20'/%3E%3Crect%20x='129'%20y='22'%20width='2'%20height='12'/%3E%3Crect%20x='132'%20y='25'%20width='2'%20height='6'/%3E%3Crect%20x='135'%20y='12'%20width='2'%20height='32'/%3E%3Crect%20x='138'%20y='4'%20width='2'%20height='48'/%3E%3Crect%20x='141'%20y='3'%20width='2'%20height='50'/%3E%3Crect%20x='144'%20y='11'%20width='2'%20height='34'/%3E%3Crect%20x='147'%20y='23'%20width='2'%20height='10'/%3E%3Crect%20x='150'%20y='22'%20width='2'%20height='12'/%3E%3Crect%20x='153'%20y='18'%20width='2'%20height='20'/%3E%3Crect%20x='156'%20y='20'%20width='2'%20height='16'/%3E%3Crect%20x='159'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='162'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='165'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='168'%20y='21'%20width='2'%20height='14'/%3E%3Crect%20x='171'%20y='11'%20width='2'%20height='34'/%3E%3Crect%20x='174'%20y='5'%20width='2'%20height='46'/%3E%3Crect%20x='177'%20y='6'%20width='2'%20height='44'/%3E%3Crect%20x='180'%20y='16'%20width='2'%20height='24'/%3E%3Crect%20x='183'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='186'%20y='14'%20width='2'%20height='28'/%3E%3Crect%20x='189'%20y='10'%20width='2'%20height='36'/%3E%3Crect%20x='192'%20y='13'%20width='2'%20height='30'/%3E%3Crect%20x='195'%20y='20'%20width='2'%20height='16'/%3E%3Crect%20x='198'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='201'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='204'%20y='22'%20width='2'%20height='12'/%3E%3Crect%20x='207'%20y='15'%20width='2'%20height='26'/%3E%3Crect%20x='210'%20y='11'%20width='2'%20height='34'/%3E%3Crect%20x='213'%20y='14'%20width='2'%20height='28'/%3E%3Crect%20x='216'%20y='24'%20width='2'%20height='8'/%3E%3Crect%20x='219'%20y='18'%20width='2'%20height='20'/%3E%3Crect%20x='222'%20y='7'%20width='2'%20height='42'/%3E%3Crect%20x='225'%20y='4'%20width='2'%20height='48'/%3E%3Crect%20x='228'%20y='9'%20width='2'%20height='38'/%3E%3Crect%20x='231'%20y='19'%20width='2'%20height='18'/%3E%3Crect%20x='234'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='237'%20y='25'%20width='2'%20height='6'/%3E%3C/g%3E%3C/svg%3E\")}.dcon__litmask{width:var(--dcon-ph);overflow:hidden}.dcon__litmask .dcon__trace{top:0;bottom:0}.dcon__trace.dcon__trace--lit{background-image:url(\"data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20240%2056'%3E%3Cg%20fill='%23323dfe'%20fill-opacity='0.95'%3E%3Crect%20x='0'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='3'%20y='22'%20width='2'%20height='12'/%3E%3Crect%20x='6'%20y='18'%20width='2'%20height='20'/%3E%3Crect%20x='9'%20y='22'%20width='2'%20height='12'/%3E%3Crect%20x='12'%20y='25'%20width='2'%20height='6'/%3E%3Crect%20x='15'%20y='12'%20width='2'%20height='32'/%3E%3Crect%20x='18'%20y='4'%20width='2'%20height='48'/%3E%3Crect%20x='21'%20y='3'%20width='2'%20height='50'/%3E%3Crect%20x='24'%20y='11'%20width='2'%20height='34'/%3E%3Crect%20x='27'%20y='23'%20width='2'%20height='10'/%3E%3Crect%20x='30'%20y='22'%20width='2'%20height='12'/%3E%3Crect%20x='33'%20y='18'%20width='2'%20height='20'/%3E%3Crect%20x='36'%20y='20'%20width='2'%20height='16'/%3E%3Crect%20x='39'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='42'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='45'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='48'%20y='21'%20width='2'%20height='14'/%3E%3Crect%20x='51'%20y='11'%20width='2'%20height='34'/%3E%3Crect%20x='54'%20y='5'%20width='2'%20height='46'/%3E%3Crect%20x='57'%20y='6'%20width='2'%20height='44'/%3E%3Crect%20x='60'%20y='16'%20width='2'%20height='24'/%3E%3Crect%20x='63'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='66'%20y='14'%20width='2'%20height='28'/%3E%3Crect%20x='69'%20y='10'%20width='2'%20height='36'/%3E%3Crect%20x='72'%20y='13'%20width='2'%20height='30'/%3E%3Crect%20x='75'%20y='20'%20width='2'%20height='16'/%3E%3Crect%20x='78'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='81'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='84'%20y='22'%20width='2'%20height='12'/%3E%3Crect%20x='87'%20y='15'%20width='2'%20height='26'/%3E%3Crect%20x='90'%20y='11'%20width='2'%20height='34'/%3E%3Crect%20x='93'%20y='14'%20width='2'%20height='28'/%3E%3Crect%20x='96'%20y='24'%20width='2'%20height='8'/%3E%3Crect%20x='99'%20y='18'%20width='2'%20height='20'/%3E%3Crect%20x='102'%20y='7'%20width='2'%20height='42'/%3E%3Crect%20x='105'%20y='4'%20width='2'%20height='48'/%3E%3Crect%20x='108'%20y='9'%20width='2'%20height='38'/%3E%3Crect%20x='111'%20y='19'%20width='2'%20height='18'/%3E%3Crect%20x='114'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='117'%20y='25'%20width='2'%20height='6'/%3E%3Crect%20x='120'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='123'%20y='22'%20width='2'%20height='12'/%3E%3Crect%20x='126'%20y='18'%20width='2'%20height='20'/%3E%3Crect%20x='129'%20y='22'%20width='2'%20height='12'/%3E%3Crect%20x='132'%20y='25'%20width='2'%20height='6'/%3E%3Crect%20x='135'%20y='12'%20width='2'%20height='32'/%3E%3Crect%20x='138'%20y='4'%20width='2'%20height='48'/%3E%3Crect%20x='141'%20y='3'%20width='2'%20height='50'/%3E%3Crect%20x='144'%20y='11'%20width='2'%20height='34'/%3E%3Crect%20x='147'%20y='23'%20width='2'%20height='10'/%3E%3Crect%20x='150'%20y='22'%20width='2'%20height='12'/%3E%3Crect%20x='153'%20y='18'%20width='2'%20height='20'/%3E%3Crect%20x='156'%20y='20'%20width='2'%20height='16'/%3E%3Crect%20x='159'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='162'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='165'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='168'%20y='21'%20width='2'%20height='14'/%3E%3Crect%20x='171'%20y='11'%20width='2'%20height='34'/%3E%3Crect%20x='174'%20y='5'%20width='2'%20height='46'/%3E%3Crect%20x='177'%20y='6'%20width='2'%20height='44'/%3E%3Crect%20x='180'%20y='16'%20width='2'%20height='24'/%3E%3Crect%20x='183'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='186'%20y='14'%20width='2'%20height='28'/%3E%3Crect%20x='189'%20y='10'%20width='2'%20height='36'/%3E%3Crect%20x='192'%20y='13'%20width='2'%20height='30'/%3E%3Crect%20x='195'%20y='20'%20width='2'%20height='16'/%3E%3Crect%20x='198'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='201'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='204'%20y='22'%20width='2'%20height='12'/%3E%3Crect%20x='207'%20y='15'%20width='2'%20height='26'/%3E%3Crect%20x='210'%20y='11'%20width='2'%20height='34'/%3E%3Crect%20x='213'%20y='14'%20width='2'%20height='28'/%3E%3Crect%20x='216'%20y='24'%20width='2'%20height='8'/%3E%3Crect%20x='219'%20y='18'%20width='2'%20height='20'/%3E%3Crect%20x='222'%20y='7'%20width='2'%20height='42'/%3E%3Crect%20x='225'%20y='4'%20width='2'%20height='48'/%3E%3Crect%20x='228'%20y='9'%20width='2'%20height='38'/%3E%3Crect%20x='231'%20y='19'%20width='2'%20height='18'/%3E%3Crect%20x='234'%20y='26'%20width='2'%20height='4'/%3E%3Crect%20x='237'%20y='25'%20width='2'%20height='6'/%3E%3C/g%3E%3C/svg%3E\")}.dcon__playhead{position:absolute;left:var(--dcon-ph);top:4px;bottom:14px;width:1px;background:var(--plivo-blue)}.dcon__playhead::before{content:'';position:absolute;top:-2px;left:-2px;width:5px;height:5px;border-radius:1px;background:inherit}.dcon__foot{display:flex;justify-content:space-between;align-items:center;height:24px;padding:0 10px;border-top:1px solid rgba(0,0,0,.1);font-size:10px;letter-spacing:.08em;color:rgba(0,0,0,.55);font-variant-numeric:tabular-nums}.dark .dcon__foot{border-color:rgba(255,255,255,.12);color:rgba(255,255,255,.6)}.dcon__foot-v{color:rgba(0,0,0,.6)}.dark .dcon__foot-v{color:rgba(255,255,255,.65)}@media (prefers-reduced-motion:reduce){.dcon__trace{animation:none}.dcon__led::after{display:none}}#content-container>span[class*=\"h-[64rem]\"]{display:none!important}*{scrollbar-width:thin;scrollbar-color:rgba(120,124,140,.35) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:rgba(120,124,140,.32);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:rgba(120,124,140,.55)}::-webkit-scrollbar-corner{background:0 0}.dark *{scrollbar-color:rgba(180,186,204,.24) transparent}.dark ::-webkit-scrollbar-thumb{background:rgba(180,186,204,.22)}.dark ::-webkit-scrollbar-thumb:hover{background:rgba(180,186,204,.4)}#integrately-widget{width:40rem!important;margin:2rem auto!important;max-width:100%!important}:root{--sipflow-surface:#f8f8fa;--sipflow-node:#ffffff;--sipflow-border:#e3e4e8;--sipflow-border-strong:#c8cace;--sipflow-text:#09090b;--sipflow-muted:#67676f;--sipflow-accent-text:var(--plivo-blue-text)}.dark{--sipflow-surface:#111317;--sipflow-node:#0a0c0f;--sipflow-border:#272b38;--sipflow-border-strong:#40444f;--sipflow-text:#f4f4f5;--sipflow-muted:#a0a0a7}.sipflow{margin:1.75rem 0;border:1px solid var(--sipflow-border);background:var(--sipflow-surface);overflow:hidden;container-type:inline-size}.sipflow__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem .75rem;border-bottom:1px solid var(--sipflow-border);font-family:var(--plivo-font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--sipflow-muted)}.sipflow__head-right{display:inline-flex;align-items:center;gap:.4rem}.sipflow__led{width:5px;height:5px;flex:none;background:var(--plivo-blue);border-radius:1px!important}.sipflow .sipflow__body>li,.sipflow__body{margin:0!important;list-style:none!important}.sipflow__body{padding:1.25rem .75rem!important;display:flex;flex-direction:column}.sipflow .sipflow__body>li{display:contents;padding:0!important}.sipflow__body>li::marker{content:''}.sipflow__node,.sipflow__node-body{display:flex;align-items:center;min-width:0}.sipflow__node{flex:none;width:100%;max-width:26rem;margin:0 auto;justify-content:center;gap:.75rem;padding:.85rem 1rem;background:var(--sipflow-node);border:1px solid var(--sipflow-border-strong)}.sipflow__node-body{flex-direction:column;text-align:center;gap:.2rem}.sipflow__title{font-family:var(--plivo-font-mono);font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--sipflow-text)}.sipflow__sub{font-size:12px;line-height:1.5;color:var(--sipflow-muted)}.sipflow__chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem;margin-top:.4rem}.sipflow__chip{padding:.15rem .4rem;font-family:var(--plivo-font-mono);font-size:10px;letter-spacing:.06em;color:var(--sipflow-muted);border:1px solid var(--sipflow-border)}.sipflow__link{flex:none;position:relative;display:flex;flex-direction:column;align-items:center;padding:.4rem 0}.sipflow__rail{flex:none;width:1px;height:2.25rem;background:var(--sipflow-border-strong)}.sipflow__arrow{flex:none;width:6px;height:6px;margin:-5px 0 0;border-right:1px solid var(--sipflow-border-strong);border-bottom:1px solid var(--sipflow-border-strong);border-radius:0!important;transform:rotate(45deg)}.sipflow__arrow--back{margin:0 0 -5px;transform:rotate(225deg)}.sipflow__edge-label{position:absolute;top:50%;left:50%;margin-left:.6rem;transform:translateY(-50%);white-space:nowrap;font-family:var(--plivo-font-mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--sipflow-accent-text)}.sipflow__link--bi .sipflow__rail{height:3rem}.sipflow__link--bi .sipflow__edge-label{transform:translateY(-150%)}.sipflow__edge-label--return{color:var(--sipflow-muted)}.sipflow__link--bi .sipflow__edge-label--return{transform:translateY(50%)}@container (min-width: 38rem){.sipflow:not(.sipflow--vertical) .sipflow__body{flex-direction:row;align-items:stretch;padding:1.5rem 1rem!important}.sipflow:not(.sipflow--vertical) .sipflow__node{flex:1 1 0;width:auto;max-width:none;margin:0}.sipflow:not(.sipflow--vertical) .sipflow__link{flex:0 0 5.5rem;flex-direction:row;align-items:center;padding:0 .35rem}.sipflow:not(.sipflow--vertical) .sipflow__link--bi .sipflow__rail,.sipflow:not(.sipflow--vertical) .sipflow__rail{flex:1;width:auto;height:1px}.sipflow:not(.sipflow--vertical) .sipflow__arrow{margin:0 0 0 -5px;transform:rotate(-45deg)}.sipflow:not(.sipflow--vertical) .sipflow__arrow--back{margin:0 -5px 0 0;transform:rotate(135deg)}.sipflow:not(.sipflow--vertical) .sipflow__edge-label,.sipflow:not(.sipflow--vertical) .sipflow__link--bi .sipflow__edge-label{top:auto;bottom:calc(50% + .5rem);left:50%;margin-left:0;transform:translateX(-50%)}.sipflow:not(.sipflow--vertical) .sipflow__edge-label--return,.sipflow:not(.sipflow--vertical) .sipflow__link--bi .sipflow__edge-label--return{top:calc(50% + .5rem);bottom:auto;transform:translateX(-50%)}}.alert,.notice-box{margin:1.25rem 0;padding:.75rem 1rem;border:1px solid color-mix(in srgb,var(--plivo-ink) 28%,transparent);border-left:2px solid var(--plivo-blue);background:color-mix(in srgb,var(--plivo-ink) 4%,transparent);font-size:.875rem;line-height:1.6}.alert strong:first-child,.notice-box strong:first-child{color:var(--plivo-blue-text)}#sidebar a.nav-anchor{margin-bottom:1px!important}.mdx-content h3,.mdx-content hr{margin-top:1.75rem!important;margin-bottom:1.75rem!important}.mdx-content h2{margin-top:2rem!important;margin-bottom:.75rem!important}.mdx-content h3{margin-bottom:.625rem!important}.mdx-content .code-block{margin-top:1rem!important;margin-bottom:1.25rem!important}.mdx-content li{margin-top:.25rem!important;margin-bottom:.25rem!important}.mdx-content ol,.mdx-content ul{margin-bottom:1rem!important}"}],"page":{"pagePath":"voice/use-cases/voice-broadcasting","slug":"/voice/use-cases/voice-broadcasting","pageMetadata":{"title":"Voice Alerts/Notifications Broadcasting","sidebarTitle":"Voice Alerts Broadcasting","description":"Broadcast voice messages to multiple recipients at once","href":"/voice/use-cases/voice-broadcasting"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Broadcast voice messages to multiple recipients at once\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Frame,Heading,Note,OptimizedImage,Tab,Tabs}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);return _jsxs(Tabs,{children:[_jsxs(Tab,{title:`Node`,id:`node`,\"data-child-tab-ids\":`[\"using-xml\"]`,\"data-child-heading-ids\":`[\"overview\",\"how-it-works\",\"prerequisites\",\"create-voice-alert-broadcast-application\",\"test\"]`,children:[_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),_jsx(_components.p,{children:`This guide shows how to broadcast voice messages to multiple recipients at once. You can play recorded audio when the call recipient answers or use text-to-speech, as we show here.`}),_jsx(_components.p,{children:`You can use voice broadcasting for use cases such as:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Bulk voice calling campaigns`}),`\n`,_jsx(_components.li,{children:`Emergency notifications`}),`\n`,_jsx(_components.li,{children:`Survey campaigns`}),`\n`,_jsx(_components.li,{children:`User feedback`}),`\n`,_jsx(_components.li,{children:`Announcements`}),`\n`,_jsx(_components.li,{children:`Promotions and special deals`}),`\n`,_jsx(_components.li,{children:`Reminder campaigns`}),`\n`]}),_jsx(_components.p,{children:`You can broadcast voice alerts either by using our PHLO visual workflow builder or our APIs and XML documents. Follow the instructions in one of the tabs below.`}),_jsx(Tabs,{children:_jsxs(Tab,{title:`Using XML`,id:`using-xml`,\"data-child-heading-ids\":`[\"how-it-works\",\"prerequisites\",\"create-voice-alert-broadcast-application\",\"test\"]`,children:[_jsx(_components.p,{children:`Here’s how to broadcast voice alerts and notifications using XML.`}),_jsx(Heading,{level:`2`,id:`how-it-works`,children:`How it works`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=fea79ace9feb45bfb5ee7bbb98831781`,alt:``,\"data-og-width\":`1446`,width:`1446`,\"data-og-height\":`774`,height:`774`,\"data-path\":`images/make-bulk-calls.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=280\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=b19e85edaa5ba388892b3ac2a1ad704f 280w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=560\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=6828b1456cab0a9ce63df5c03f5714d9 560w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=840\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=c17f849dcaf4d130a4b4aa0cc5f98d1b 840w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=1100\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=15ec1dbca63e1851984e86b29b1c438d 1100w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=1650\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=0bf966df39b2bce161bc1a8b11f2b420 1650w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=2500\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=9b47a296d31888590ec5c14104ce7402 2500w`})}),_jsxs(_components.p,{children:[`Plivo requests an answer URL when the call is answered (step 4) and expects the file at that address to hold a valid XML response from the application with instructions on how to handle the call. To see how this works, you can use `,_jsx(_components.a,{href:`https://s3.amazonaws.com/static.plivo.com/broadcast.xml`,children:`https://s3.amazonaws.com/static.plivo.com/broadcast.xml`}),` as an answer URL to test your first outgoing call. The file contains this XML code:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`xml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`xml`,children:_jsxs(_components.code,{language:`xml`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Speak`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`Congratulations! You have made your first bulk call.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Speak`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`This code instructs Plivo to say, “Congratulations! You have made your first bulk call” to the call recipients. You can find the entire list of valid Plivo XML verbs in our `,_jsx(_components.a,{href:`/voice/xml/overview/`,children:`XML Reference`}),` documentation.`]}),_jsx(Heading,{level:`2`,id:`prerequisites`,children:`Prerequisites`}),_jsxs(_components.p,{children:[`To get started, you need a Plivo account — `,_jsx(_components.a,{href:`https://cx.plivo.com/signup`,children:`sign up`}),` with your work email address if you don’t have one already. If this is your first time using Plivo APIs, follow our instructions to set up a Node.js development environment and a web server and safely expose that server to the internet.`]}),_jsx(Heading,{level:`2`,id:`create-voice-alert-broadcast-application`,children:`Create voice alert broadcast application`}),_jsxs(_components.p,{children:[`Create a file called `,_jsx(_components.code,{children:`Broadcast.js`}),` and paste into it this code.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`19`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`19`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`var`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` plivo`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` require`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'plivo'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`function`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` main`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'use strict'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` var`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` client`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` plivo`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`Client`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cauth_id>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cauth_token>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` client`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`calls`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`create`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"\u003ccaller_id>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// from`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"+14151234567\u003c+14151234568\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// to`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://s3.amazonaws.com/static.plivo.com/broadcast.xml\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// answer url`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` answerMethod:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"GET\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ).`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`then`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`function`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` console`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`log`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }, `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`function`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`err`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` console`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`error`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`err`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` });`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`})();`})}),`\n`]})})}),_jsxs(_components.p,{children:[`Replace the auth placeholders with your authentication credentials from the `,_jsx(_components.a,{href:`https://cx.plivo.com/home`,children:`Plivo console`}),`. Replace the phone number placeholders with actual phone numbers in `,_jsx(_components.a,{href:`https://en.wikipedia.org/wiki/E.164`,children:`E.164 format`}),` (for example, +12025551234). Destination numbers may also be SIP endpoints, in which case each destination_number placeholder must be a valid SIP URI — for example, sip:`,_jsx(_components.a,{href:`mailto:john1234@phone.plivo.com`,children:`john1234@phone.plivo.com`}),`.`]}),_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(`strong`,{children:`Note:`}),` We recommend that you store your credentials in the `,_jsx(_components.code,{children:`auth_id`}),` and `,_jsx(_components.code,{children:`auth_token`}),` environment variables, so as to avoid the possibility of accidentally committing them to source control. If you do this, you can initialize the client with no arguments and it will automatically fetch them from the environment variables. You can use `,_jsx(_components.code,{children:`process.env`}),` to store environment variables and fetch them when initializing the client.`]})}),_jsx(Heading,{level:`2`,id:`test`,children:`Test`}),_jsx(_components.p,{children:`Save the file and run it.`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`node`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` Broadcast.js`})]}),`\n`]})})})]})})]}),_jsxs(Tab,{title:`Ruby`,id:`ruby`,\"data-child-tab-ids\":`[\"using-xml-2\"]`,\"data-child-heading-ids\":`[\"overview-2\",\"how-it-works-2\",\"prerequisites-2\",\"create-voice-alert-broadcast-application-2\",\"test-2\"]`,children:[_jsx(Heading,{level:`2`,id:`overview-2`,children:`Overview`}),_jsx(_components.p,{children:`This guide shows how to broadcast voice messages to multiple recipients at once. You can play recorded audio when the call recipient answers or use text-to-speech, as we show here.`}),_jsx(_components.p,{children:`You can use voice broadcasting for use cases such as:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Bulk voice calling campaigns`}),`\n`,_jsx(_components.li,{children:`Emergency notifications`}),`\n`,_jsx(_components.li,{children:`Survey campaigns`}),`\n`,_jsx(_components.li,{children:`User feedback`}),`\n`,_jsx(_components.li,{children:`Announcements`}),`\n`,_jsx(_components.li,{children:`Promotions and special deals`}),`\n`,_jsx(_components.li,{children:`Reminder campaigns`}),`\n`]}),_jsx(_components.p,{children:`You can broadcast voice alerts either by using our PHLO visual workflow builder or our APIs and XML documents. Follow the instructions in one of the tabs below.`}),_jsx(Tabs,{children:_jsxs(Tab,{title:`Using XML`,id:`using-xml-2`,\"data-child-heading-ids\":`[\"how-it-works-2\",\"prerequisites-2\",\"create-voice-alert-broadcast-application-2\",\"test-2\"]`,children:[_jsx(_components.p,{children:`Here’s how to broadcast voice alerts and notifications using XML.`}),_jsx(Heading,{level:`2`,id:`how-it-works-2`,children:`How it works`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=fea79ace9feb45bfb5ee7bbb98831781`,alt:``,\"data-og-width\":`1446`,width:`1446`,\"data-og-height\":`774`,height:`774`,\"data-path\":`images/make-bulk-calls.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=280\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=b19e85edaa5ba388892b3ac2a1ad704f 280w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=560\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=6828b1456cab0a9ce63df5c03f5714d9 560w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=840\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=c17f849dcaf4d130a4b4aa0cc5f98d1b 840w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=1100\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=15ec1dbca63e1851984e86b29b1c438d 1100w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=1650\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=0bf966df39b2bce161bc1a8b11f2b420 1650w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=2500\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=9b47a296d31888590ec5c14104ce7402 2500w`})}),_jsxs(_components.p,{children:[`Plivo requests an answer URL when the call is answered (step 4) and expects the file at that address to hold a valid XML response from the application with instructions on how to handle the call. To see how this works, you can use `,_jsx(_components.a,{href:`https://s3.amazonaws.com/static.plivo.com/broadcast.xml`,children:`https://s3.amazonaws.com/static.plivo.com/broadcast.xml`}),` as an answer URL to test your first outgoing call. The file contains this XML code:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`xml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`xml`,children:_jsxs(_components.code,{language:`xml`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Speak`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`Congratulations! You have made your first bulk call.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Speak`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`This code instructs Plivo to say, “Congratulations! You have made your first bulk call” to the call recipients. You can find the entire list of valid Plivo XML verbs in our `,_jsx(_components.a,{href:`/voice/xml/overview/`,children:`XML Reference`}),` documentation.`]}),_jsx(Heading,{level:`2`,id:`prerequisites-2`,children:`Prerequisites`}),_jsxs(_components.p,{children:[`To get started, you need a Plivo account — `,_jsx(_components.a,{href:`https://cx.plivo.com/signup`,children:`sign up`}),` with your work email address if you don’t have one already. If this is your first time using Plivo APIs, follow our instructions to set up a Ruby development environment and a web server and safely expose that server to the internet.`]}),_jsx(Heading,{level:`2`,id:`create-voice-alert-broadcast-application-2`,children:`Create voice alert broadcast application`}),_jsxs(_components.p,{children:[`Create a file called `,_jsx(_components.code,{children:`broadcast.rb`}),` and paste into it this code.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`18`,language:`ruby`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`ruby`,children:_jsxs(_components.code,{language:`ruby`,numberOfLines:`18`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`require`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'rubygems'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`require`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'plivo'`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`include`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` Plivo`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`include`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` Plivo`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:`::`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`Exceptions`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`api`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` RestClient`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`new`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cauth_id>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cauth_token>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`begin`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` response`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` api.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`calls`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`create`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '\u003ccaller_id>'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'\u003cdestination_number1>'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'\u003cdestination_number2>'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'https://s3.amazonaws.com/static.plivo.com/broadcast.xml'`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` puts`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` response`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`rescue`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` PlivoRESTError`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` => e`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` puts`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Exception: '`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` +`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` e.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`message`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`end`})}),`\n`]})})}),_jsxs(_components.p,{children:[`Replace the auth placeholders with your authentication credentials from the `,_jsx(_components.a,{href:`https://cx.plivo.com/home`,children:`Plivo console`}),`. Replace the phone number placeholders with actual phone numbers in `,_jsx(_components.a,{href:`https://en.wikipedia.org/wiki/E.164`,children:`E.164 format`}),` (for example, +12025551234). Destination numbers may also be SIP endpoints, in which case each destination_number placeholder must be a valid SIP URI — for example, sip:`,_jsx(_components.a,{href:`mailto:john1234@phone.plivo.com`,children:`john1234@phone.plivo.com`}),`.`]}),_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(`strong`,{children:`Note:`}),` We recommend that you store your credentials in the `,_jsx(_components.code,{children:`auth_id`}),` and `,_jsx(_components.code,{children:`auth_token`}),` environment variables, so as to avoid the possibility of accidentally committing them to source control. If you do this, you can initialize the client with no arguments and it will automatically fetch them from the environment variables. You can use `,_jsx(_components.code,{children:`ENV`}),` to store environment variables and fetch them when initializing the client.`]})}),_jsx(Heading,{level:`2`,id:`test-2`,children:`Test`}),_jsx(_components.p,{children:`Save the file and run it.`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`ruby`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` broadcast.rb`})]}),`\n`]})})})]})})]}),_jsxs(Tab,{title:`Python`,id:`python`,\"data-child-tab-ids\":`[\"using-xml-3\"]`,\"data-child-heading-ids\":`[\"overview-3\",\"how-it-works-3\",\"prerequisites-3\",\"create-voice-alert-broadcast-application-3\",\"test-3\"]`,children:[_jsx(Heading,{level:`2`,id:`overview-3`,children:`Overview`}),_jsx(_components.p,{children:`This guide shows how to broadcast voice messages to multiple recipients at once. You can play recorded audio when the call recipient answers or use text-to-speech, as we show here.`}),_jsx(_components.p,{children:`You can use voice broadcasting for use cases such as:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Bulk voice calling campaigns`}),`\n`,_jsx(_components.li,{children:`Emergency notifications`}),`\n`,_jsx(_components.li,{children:`Survey campaigns`}),`\n`,_jsx(_components.li,{children:`User feedback`}),`\n`,_jsx(_components.li,{children:`Announcements`}),`\n`,_jsx(_components.li,{children:`Promotions and special deals`}),`\n`,_jsx(_components.li,{children:`Reminder campaigns`}),`\n`]}),_jsx(_components.p,{children:`You can broadcast voice alerts either by using our PHLO visual workflow builder or our APIs and XML documents. Follow the instructions in one of the tabs below.`}),_jsx(Tabs,{children:_jsxs(Tab,{title:`Using XML`,id:`using-xml-3`,\"data-child-heading-ids\":`[\"how-it-works-3\",\"prerequisites-3\",\"create-voice-alert-broadcast-application-3\",\"test-3\"]`,children:[_jsx(_components.p,{children:`Here’s how to broadcast voice alerts and notifications using XML.`}),_jsx(Heading,{level:`2`,id:`how-it-works-3`,children:`How it works`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=fea79ace9feb45bfb5ee7bbb98831781`,alt:``,\"data-og-width\":`1446`,width:`1446`,\"data-og-height\":`774`,height:`774`,\"data-path\":`images/make-bulk-calls.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=280\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=b19e85edaa5ba388892b3ac2a1ad704f 280w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=560\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=6828b1456cab0a9ce63df5c03f5714d9 560w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=840\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=c17f849dcaf4d130a4b4aa0cc5f98d1b 840w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=1100\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=15ec1dbca63e1851984e86b29b1c438d 1100w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=1650\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=0bf966df39b2bce161bc1a8b11f2b420 1650w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=2500\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=9b47a296d31888590ec5c14104ce7402 2500w`})}),_jsxs(_components.p,{children:[`Plivo requests an answer URL when the call is answered (step 4) and expects the file at that address to hold a valid XML response from the application with instructions on how to handle the call. To see how this works, you can use `,_jsx(_components.a,{href:`https://s3.amazonaws.com/static.plivo.com/broadcast.xml`,children:`https://s3.amazonaws.com/static.plivo.com/broadcast.xml`}),` as an answer URL to test your first outgoing call. The file contains this XML code:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`xml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`xml`,children:_jsxs(_components.code,{language:`xml`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Speak`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`Congratulations! You have made your first bulk call.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Speak`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`This code instructs Plivo to say, “Congratulations! You have made your first bulk call” to the call recipients. You can find the entire list of valid Plivo XML verbs in our `,_jsx(_components.a,{href:`/voice/xml/overview/`,children:`XML Reference`}),` documentation.`]}),_jsx(Heading,{level:`2`,id:`prerequisites-3`,children:`Prerequisites`}),_jsxs(_components.p,{children:[`To get started, you need a Plivo account — `,_jsx(_components.a,{href:`https://cx.plivo.com/signup`,children:`sign up`}),` with your work email address if you don’t have one already. If this is your first time using Plivo APIs, follow our instructions to set up a Ruby development environment and a web server and safely expose that server to the internet.`]}),_jsx(Heading,{level:`2`,id:`create-voice-alert-broadcast-application-3`,children:`Create voice alert broadcast application`}),_jsxs(_components.p,{children:[`Create a file called `,_jsx(_components.code,{children:`broadcast.py`}),` and paste into it this code.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` plivo`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` plivo.RestClient(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'\u003cauth_id>'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'\u003cauth_token>'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`response `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client.calls.create(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` from_`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'\u003ccaller_id>'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` to_`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'+14151234567\u003c+14151234568'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` answer_url`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'https://s3.amazonaws.com/static.plivo.com/broadcast.xml'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` answer_method`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'GET'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, )`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(response)`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`Replace the auth placeholders with your authentication credentials from the `,_jsx(_components.a,{href:`https://cx.plivo.com/home`,children:`Plivo console`}),`. Replace the phone number placeholders with actual phone numbers in `,_jsx(_components.a,{href:`https://en.wikipedia.org/wiki/E.164`,children:`E.164 format`}),` (for example, +12025551234). Destination numbers may also be SIP endpoints, in which case each destination_number placeholder must be a valid SIP URI — for example, sip:`,_jsx(_components.a,{href:`mailto:john1234@phone.plivo.com`,children:`john1234@phone.plivo.com`}),`.`]}),_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(`strong`,{children:`Note:`}),` We recommend that you store your credentials in the `,_jsx(_components.code,{children:`auth_id`}),` and `,_jsx(_components.code,{children:`auth_token`}),` environment variables, so as to avoid the possibility of accidentally committing them to source control. If you do this, you can initialize the client with no arguments and it will automatically fetch them from the environment variables. You can use `,_jsx(_components.code,{children:`os module(os.environ)`}),` to store environment variables and fetch them when initializing the client.`]})}),_jsx(Heading,{level:`2`,id:`test-3`,children:`Test`}),_jsx(_components.p,{children:`Save the file and run it.`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`python`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` broadcast.py`})]}),`\n`]})})})]})})]}),_jsxs(Tab,{title:`PHP`,id:`php`,\"data-child-tab-ids\":`[\"using-xml-4\"]`,\"data-child-heading-ids\":`[\"overview-4\",\"how-it-works-4\",\"prerequisites-4\",\"create-voice-alert-broadcast-application-4\",\"test-4\"]`,children:[_jsx(Heading,{level:`2`,id:`overview-4`,children:`Overview`}),_jsx(_components.p,{children:`This guide shows how to broadcast voice messages to multiple recipients at once. You can play recorded audio when the call recipient answers or use text-to-speech, as we show here.`}),_jsx(_components.p,{children:`You can use voice broadcasting for use cases such as:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Bulk voice calling campaigns`}),`\n`,_jsx(_components.li,{children:`Emergency notifications`}),`\n`,_jsx(_components.li,{children:`Survey campaigns`}),`\n`,_jsx(_components.li,{children:`User feedback`}),`\n`,_jsx(_components.li,{children:`Announcements`}),`\n`,_jsx(_components.li,{children:`Promotions and special deals`}),`\n`,_jsx(_components.li,{children:`Reminder campaigns`}),`\n`]}),_jsx(_components.p,{children:`You can broadcast voice alerts either by using our PHLO visual workflow builder or our APIs and XML documents. Follow the instructions in one of the tabs below.`}),_jsx(Tabs,{children:_jsxs(Tab,{title:`Using XML`,id:`using-xml-4`,\"data-child-heading-ids\":`[\"how-it-works-4\",\"prerequisites-4\",\"create-voice-alert-broadcast-application-4\",\"test-4\"]`,children:[_jsx(_components.p,{children:`Here’s how to broadcast voice alerts and notifications using XML.`}),_jsx(Heading,{level:`2`,id:`how-it-works-4`,children:`How it works`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=fea79ace9feb45bfb5ee7bbb98831781`,alt:``,\"data-og-width\":`1446`,width:`1446`,\"data-og-height\":`774`,height:`774`,\"data-path\":`images/make-bulk-calls.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=280\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=b19e85edaa5ba388892b3ac2a1ad704f 280w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=560\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=6828b1456cab0a9ce63df5c03f5714d9 560w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=840\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=c17f849dcaf4d130a4b4aa0cc5f98d1b 840w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=1100\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=15ec1dbca63e1851984e86b29b1c438d 1100w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=1650\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=0bf966df39b2bce161bc1a8b11f2b420 1650w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=2500\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=9b47a296d31888590ec5c14104ce7402 2500w`})}),_jsxs(_components.p,{children:[`Plivo requests an answer URL when the call is answered (step 4) and expects the file at that address to hold a valid XML response from the application with instructions on how to handle the call. To see how this works, you can use `,_jsx(_components.a,{href:`https://s3.amazonaws.com/static.plivo.com/broadcast.xml`,children:`https://s3.amazonaws.com/static.plivo.com/broadcast.xml`}),` as an answer URL to test your first outgoing call. The file contains this XML code:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`xml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`xml`,children:_jsxs(_components.code,{language:`xml`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Speak`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`Congratulations! You have made your first bulk call.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Speak`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`This code instructs Plivo to say, “Congratulations! You have made your first bulk call” to the call recipients. You can find the entire list of valid Plivo XML verbs in our `,_jsx(_components.a,{href:`/voice/xml/overview/`,children:`XML Reference`}),` documentation.`]}),_jsx(Heading,{level:`2`,id:`prerequisites-4`,children:`Prerequisites`}),_jsxs(_components.p,{children:[`To get started, you need a Plivo account — `,_jsx(_components.a,{href:`https://cx.plivo.com/signup`,children:`sign up`}),` with your work email address if you don’t have one already. If this is your first time using Plivo APIs, follow our instructions to set up a Ruby development environment and a web server and safely expose that server to the internet.`]}),_jsx(Heading,{level:`2`,id:`create-voice-alert-broadcast-application-4`,children:`Create voice alert broadcast application`}),_jsxs(_components.p,{children:[`Create a file called `,_jsx(_components.code,{children:`broadcast.py`}),` and paste into it this code.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`php`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`php`,children:_jsxs(_components.code,{language:`php`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`import`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` plivo`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`client`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` plivo`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`RestClient`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'\u003cauth_id>'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'\u003cauth_token>'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`response`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` client`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`calls`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`create`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` from_`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'\u003ccaller_id>'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` to_`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'+14151234567\u003c+14151234568'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` answer_url`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'https://s3.amazonaws.com/static.plivo.com/broadcast.xml'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` answer_method`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'GET'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, )`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`Replace the auth placeholders with your authentication credentials from the `,_jsx(_components.a,{href:`https://cx.plivo.com/home`,children:`Plivo console`}),`. Replace the phone number placeholders with actual phone numbers in `,_jsx(_components.a,{href:`https://en.wikipedia.org/wiki/E.164`,children:`E.164 format`}),` (for example, +12025551234). Destination numbers may also be SIP endpoints, in which case each destination_number placeholder must be a valid SIP URI — for example, sip:`,_jsx(_components.a,{href:`mailto:john1234@phone.plivo.com`,children:`john1234@phone.plivo.com`}),`.`]}),_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(`strong`,{children:`Note:`}),` We recommend that you store your credentials in the `,_jsx(_components.code,{children:`auth_id`}),` and `,_jsx(_components.code,{children:`auth_token`}),` environment variables, so as to avoid the possibility of accidentally committing them to source control. If you do this, you can initialize the client with no arguments and it will automatically fetch them from the environment variables. You can use `,_jsx(_components.code,{children:`$_ENV`}),` or `,_jsx(_components.code,{children:`putenv/getenv`}),` to store environment variables and fetch them when initializing the client.`]})}),_jsx(Heading,{level:`2`,id:`test-4`,children:`Test`}),_jsx(_components.p,{children:`Save the file and run it.`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`php`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` Broadcast.php`})]}),`\n`]})})})]})})]}),_jsxs(Tab,{title:`.NET`,id:`net`,\"data-child-tab-ids\":`[\"using-xml-5\"]`,\"data-child-heading-ids\":`[\"overview-5\",\"how-it-works-5\",\"prerequisites-5\",\"create-voice-alert-broadcast-application-5\",\"test-5\"]`,children:[_jsx(Heading,{level:`2`,id:`overview-5`,children:`Overview`}),_jsx(_components.p,{children:`This guide shows how to broadcast voice messages to multiple recipients at once. You can play recorded audio when the call recipient answers or use text-to-speech, as we show here.`}),_jsx(_components.p,{children:`You can use voice broadcasting for use cases such as:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Bulk voice calling campaigns`}),`\n`,_jsx(_components.li,{children:`Emergency notifications`}),`\n`,_jsx(_components.li,{children:`Survey campaigns`}),`\n`,_jsx(_components.li,{children:`User feedback`}),`\n`,_jsx(_components.li,{children:`Announcements`}),`\n`,_jsx(_components.li,{children:`Promotions and special deals`}),`\n`,_jsx(_components.li,{children:`Reminder campaigns`}),`\n`]}),_jsx(_components.p,{children:`You can broadcast voice alerts either by using our PHLO visual workflow builder or our APIs and XML documents. Follow the instructions in one of the tabs below.`}),_jsx(Tabs,{children:_jsxs(Tab,{title:`Using XML`,id:`using-xml-5`,\"data-child-heading-ids\":`[\"how-it-works-5\",\"prerequisites-5\",\"create-voice-alert-broadcast-application-5\",\"test-5\"]`,children:[_jsx(_components.p,{children:`Here’s how to broadcast voice alerts and notifications using XML.`}),_jsx(Heading,{level:`2`,id:`how-it-works-5`,children:`How it works`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=fea79ace9feb45bfb5ee7bbb98831781`,alt:``,\"data-og-width\":`1446`,width:`1446`,\"data-og-height\":`774`,height:`774`,\"data-path\":`images/make-bulk-calls.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=280\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=b19e85edaa5ba388892b3ac2a1ad704f 280w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=560\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=6828b1456cab0a9ce63df5c03f5714d9 560w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=840\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=c17f849dcaf4d130a4b4aa0cc5f98d1b 840w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=1100\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=15ec1dbca63e1851984e86b29b1c438d 1100w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=1650\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=0bf966df39b2bce161bc1a8b11f2b420 1650w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=2500\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=9b47a296d31888590ec5c14104ce7402 2500w`})}),_jsxs(_components.p,{children:[`Plivo requests an answer URL when the call is answered (step 4) and expects the file at that address to hold a valid XML response from the application with instructions on how to handle the call. To see how this works, you can use `,_jsx(_components.a,{href:`https://s3.amazonaws.com/static.plivo.com/broadcast.xml`,children:`https://s3.amazonaws.com/static.plivo.com/broadcast.xml`}),` as an answer URL to test your first outgoing call. The file contains this XML code:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`xml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`xml`,children:_jsxs(_components.code,{language:`xml`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Speak`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`Congratulations! You have made your first bulk call.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Speak`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`This code instructs Plivo to say, “Congratulations! You have made your first bulk call” to the call recipients. You can find the entire list of valid Plivo XML verbs in our `,_jsx(_components.a,{href:`/voice/xml/overview/`,children:`XML Reference`}),` documentation.`]}),_jsx(Heading,{level:`2`,id:`prerequisites-5`,children:`Prerequisites`}),_jsxs(_components.p,{children:[`To get started, you need a Plivo account — `,_jsx(_components.a,{href:`https://cx.plivo.com/signup`,children:`sign up`}),` with your work email address if you don’t have one already. If this is your first time using Plivo APIs, follow our instructions to set up a Ruby development environment and a web server and safely expose that server to the internet.`]}),_jsx(Heading,{level:`2`,id:`create-voice-alert-broadcast-application-5`,children:`Create voice alert broadcast application`}),_jsxs(_components.p,{children:[`In Visual Studio, open the file in the CS project called `,_jsx(_components.code,{children:`Program.cs`}),` and paste into it this code.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`21`,language:`csharp`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`csharp`,children:_jsxs(_components.code,{language:`csharp`,numberOfLines:`21`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`using`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` System`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`using`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` System`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`Collections`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`Generic`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`using`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` Plivo`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`namespace`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` testplivo`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` class`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` Program`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` static`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` void`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` Main`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`string`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[] `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`args`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` var`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` api`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` PlivoApi`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cauth_id>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cauth_token>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` var`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` response`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` api`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Call`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`Create`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` to`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` List`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`String`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`> { `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cdestination_number1>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cdestination_number2>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003ccaller_id>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` answerMethod`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"GET\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` answerUrl`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://s3.amazonaws.com/static.plivo.com/broadcast.xml\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` );`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Console`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`WriteLine`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsxs(_components.p,{children:[`Replace the auth placeholders with your authentication credentials from the `,_jsx(_components.a,{href:`https://cx.plivo.com/home`,children:`Plivo console`}),`. Replace the phone number placeholders with actual phone numbers in `,_jsx(_components.a,{href:`https://en.wikipedia.org/wiki/E.164`,children:`E.164 format`}),` (for example, +12025551234). Destination numbers may also be SIP endpoints, in which case each destination_number placeholder must be a valid SIP URI — for example, sip:`,_jsx(_components.a,{href:`mailto:john1234@phone.plivo.com`,children:`john1234@phone.plivo.com`}),`.`]}),_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(`strong`,{children:`Note:`}),` We recommend that you store your credentials in the `,_jsx(_components.code,{children:`auth_id`}),` and `,_jsx(_components.code,{children:`auth_token`}),` environment variables, so as to avoid the possibility of accidentally committing them to source control. If you do this, you can initialize the client with no arguments and it will automatically fetch them from the environment variables. You can use `,_jsx(_components.a,{href:`https://docs.microsoft.com/en-us/dotnet/api/system.environment.setenvironmentvariable?view=netcore-3.1`,children:`Environment.SetEnvironmentVariable Method`}),` to store environment variables and `,_jsx(_components.a,{href:`https://docs.microsoft.com/en-us/dotnet/api/system.environment.getenvironmentvariable?view=netcore-3.1`,children:`Environment.GetEnvironmentVariable Method`}),` to fetch them when initializing the client.`]})}),_jsx(Heading,{level:`2`,id:`test-5`,children:`Test`}),_jsx(_components.p,{children:`Save the file and run it.`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/plivo/NFI9_HRHTMInDf93/images/build_app.jpg?fit=max\u0026auto=format\u0026n=NFI9_HRHTMInDf93\u0026q=85\u0026s=57ed7d2310aa904fb31a34ad205f863c`,alt:``,\"data-og-width\":`1116`,width:`1116`,\"data-og-height\":`444`,height:`444`,\"data-path\":`images/build_app.jpg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/plivo/NFI9_HRHTMInDf93/images/build_app.jpg?w=280\u0026fit=max\u0026auto=format\u0026n=NFI9_HRHTMInDf93\u0026q=85\u0026s=39c578766ce3c719dd0eb717cfedcfea 280w, https://mintcdn.com/plivo/NFI9_HRHTMInDf93/images/build_app.jpg?w=560\u0026fit=max\u0026auto=format\u0026n=NFI9_HRHTMInDf93\u0026q=85\u0026s=5923be85cabc91069e52e7d0489db8ce 560w, https://mintcdn.com/plivo/NFI9_HRHTMInDf93/images/build_app.jpg?w=840\u0026fit=max\u0026auto=format\u0026n=NFI9_HRHTMInDf93\u0026q=85\u0026s=e05a7ea5a20437ece341682817ba80f8 840w, https://mintcdn.com/plivo/NFI9_HRHTMInDf93/images/build_app.jpg?w=1100\u0026fit=max\u0026auto=format\u0026n=NFI9_HRHTMInDf93\u0026q=85\u0026s=667b681e3be384a33deb4df8d5967588 1100w, https://mintcdn.com/plivo/NFI9_HRHTMInDf93/images/build_app.jpg?w=1650\u0026fit=max\u0026auto=format\u0026n=NFI9_HRHTMInDf93\u0026q=85\u0026s=616d9fd7cb7a323f85a5db1804b80727 1650w, https://mintcdn.com/plivo/NFI9_HRHTMInDf93/images/build_app.jpg?w=2500\u0026fit=max\u0026auto=format\u0026n=NFI9_HRHTMInDf93\u0026q=85\u0026s=c4afcbb674c8b424c0aefb45e6be249e 2500w`})})]})})]}),_jsxs(Tab,{title:`Java`,id:`java`,\"data-child-tab-ids\":`[\"using-xml-6\"]`,\"data-child-heading-ids\":`[\"overview-6\",\"how-it-works-6\",\"prerequisites-6\",\"create-voice-alert-broadcast-application-6\",\"test-6\"]`,children:[_jsx(Heading,{level:`2`,id:`overview-6`,children:`Overview`}),_jsx(_components.p,{children:`This guide shows how to broadcast voice messages to multiple recipients at once. You can play recorded audio when the call recipient answers or use text-to-speech, as we show here.`}),_jsx(_components.p,{children:`You can use voice broadcasting for use cases such as:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Bulk voice calling campaigns`}),`\n`,_jsx(_components.li,{children:`Emergency notifications`}),`\n`,_jsx(_components.li,{children:`Survey campaigns`}),`\n`,_jsx(_components.li,{children:`User feedback`}),`\n`,_jsx(_components.li,{children:`Announcements`}),`\n`,_jsx(_components.li,{children:`Promotions and special deals`}),`\n`,_jsx(_components.li,{children:`Reminder campaigns`}),`\n`]}),_jsx(_components.p,{children:`You can broadcast voice alerts either by using our PHLO visual workflow builder or our APIs and XML documents. Follow the instructions in one of the tabs below.`}),_jsx(Tabs,{children:_jsxs(Tab,{title:`Using XML`,id:`using-xml-6`,\"data-child-heading-ids\":`[\"how-it-works-6\",\"prerequisites-6\",\"create-voice-alert-broadcast-application-6\",\"test-6\"]`,children:[_jsx(_components.p,{children:`Here’s how to broadcast voice alerts and notifications using XML.`}),_jsx(Heading,{level:`2`,id:`how-it-works-6`,children:`How it works`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=fea79ace9feb45bfb5ee7bbb98831781`,alt:``,\"data-og-width\":`1446`,width:`1446`,\"data-og-height\":`774`,height:`774`,\"data-path\":`images/make-bulk-calls.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=280\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=b19e85edaa5ba388892b3ac2a1ad704f 280w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=560\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=6828b1456cab0a9ce63df5c03f5714d9 560w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=840\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=c17f849dcaf4d130a4b4aa0cc5f98d1b 840w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=1100\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=15ec1dbca63e1851984e86b29b1c438d 1100w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=1650\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=0bf966df39b2bce161bc1a8b11f2b420 1650w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=2500\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=9b47a296d31888590ec5c14104ce7402 2500w`})}),_jsxs(_components.p,{children:[`Plivo requests an answer URL when the call is answered (step 4) and expects the file at that address to hold a valid XML response from the application with instructions on how to handle the call. To see how this works, you can use `,_jsx(_components.a,{href:`https://s3.amazonaws.com/static.plivo.com/broadcast.xml`,children:`https://s3.amazonaws.com/static.plivo.com/broadcast.xml`}),` as an answer URL to test your first outgoing call. The file contains this XML code:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`xml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`xml`,children:_jsxs(_components.code,{language:`xml`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Speak`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`Congratulations! You have made your first bulk call.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Speak`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`This code instructs Plivo to say, “Congratulations! You have made your first bulk call” to the call recipients. You can find the entire list of valid Plivo XML verbs in our `,_jsx(_components.a,{href:`/voice/xml/overview/`,children:`XML Reference`}),` documentation.`]}),_jsx(Heading,{level:`2`,id:`prerequisites-6`,children:`Prerequisites`}),_jsxs(_components.p,{children:[`To get started, you need a Plivo account — `,_jsx(_components.a,{href:`https://cx.plivo.com/signup`,children:`sign up`}),` with your work email address if you don’t have one already. If this is your first time using Plivo APIs, follow our instructions to set up a Ruby development environment and a web server and safely expose that server to the internet.`]}),_jsx(Heading,{level:`2`,id:`create-voice-alert-broadcast-application-6`,children:`Create voice alert broadcast application`}),_jsxs(_components.p,{children:[`Create a Java class in the project called `,_jsx(_components.code,{children:`Broadcast`}),` and paste into it this code.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`18`,language:`java`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`java`,children:_jsxs(_components.code,{language:`java`,numberOfLines:`18`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` java.io.IOException;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` java.util.Collections;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` com.plivo.api.Plivo;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` com.plivo.api.exceptions.PlivoRestException;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` com.plivo.api.models.call.Call;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` com.plivo.api.models.call.CallCreateResponse;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`class`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` MakeCall`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` public`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` static`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:` void`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` main`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`String`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [] `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`args`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`throws`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:` IOException`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:`PlivoRestException`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Plivo`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`init`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cauth_id>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cauth_token>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:` CallCreateResponse`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` response`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Call`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`creator`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003ccaller_id>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Collections`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`singletonList`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cdestination_number1>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cdestination_number2>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://s3.amazonaws.com/static.plivo.com/broadcast.xml\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`answerMethod`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"GET\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`create`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` System`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`out`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`println`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(response);`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsxs(_components.p,{children:[`Replace the auth placeholders with your authentication credentials from the `,_jsx(_components.a,{href:`https://cx.plivo.com/home`,children:`Plivo console`}),`. Replace the phone number placeholders with actual phone numbers in `,_jsx(_components.a,{href:`https://en.wikipedia.org/wiki/E.164`,children:`E.164 format`}),` (for example, +12025551234). Destination numbers may also be SIP endpoints, in which case each destination_number placeholder must be a valid SIP URI — for example, sip:`,_jsx(_components.a,{href:`mailto:john1234@phone.plivo.com`,children:`john1234@phone.plivo.com`}),`.`]}),_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(`strong`,{children:`Note:`}),` We recommend that you store your credentials in the `,_jsx(_components.code,{children:`auth_id`}),` and `,_jsx(_components.code,{children:`auth_token`}),` environment variables, so as to avoid the possibility of accidentally committing them to source control. If you do this, you can initialize the client with no arguments and it will automatically fetch them from the environment variables. You can use `,_jsx(_components.a,{href:`https://docs.oracle.com/javase/tutorial/essential/environment/env.html`,children:`System.getenv()`}),` to store environment variables and retrieve them when initializing the client.`]})}),_jsx(Heading,{level:`2`,id:`test-6`,children:`Test`}),_jsx(_components.p,{children:`Save the file and run it.`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/makecall.png?fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=91fc98e74b30fc4708b5f608889a18f2`,alt:``,\"data-og-width\":`1440`,width:`1440`,\"data-og-height\":`900`,height:`900`,\"data-path\":`images/makecall.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/makecall.png?w=280\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=6d5ca044c7500147d3143c10915589f5 280w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/makecall.png?w=560\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=1a913b065f89904877f0856dc7d0f3df 560w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/makecall.png?w=840\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=8976e268ef6c433804902af5adc71b44 840w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/makecall.png?w=1100\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=274557ff702d0b3aa6c5fa74e73180ab 1100w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/makecall.png?w=1650\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=8b91f541abae13e51d917897834c03b1 1650w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/makecall.png?w=2500\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=dc9c5d0f405db61b6c44c561c08ca82a 2500w`})})]})})]}),_jsxs(Tab,{title:`Go`,id:`go`,\"data-child-tab-ids\":`[\"using-xml-7\"]`,\"data-child-heading-ids\":`[\"overview-7\",\"how-it-works-7\",\"prerequisites-7\",\"create-voice-alert-broadcast-application-7\",\"test-7\"]`,children:[_jsx(Heading,{level:`2`,id:`overview-7`,children:`Overview`}),_jsx(_components.p,{children:`This guide shows how to broadcast voice messages to multiple recipients at once. You can play recorded audio when the call recipient answers or use text-to-speech, as we show here.`}),_jsx(_components.p,{children:`You can use voice broadcasting for use cases such as:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Bulk voice calling campaigns`}),`\n`,_jsx(_components.li,{children:`Emergency notifications`}),`\n`,_jsx(_components.li,{children:`Survey campaigns`}),`\n`,_jsx(_components.li,{children:`User feedback`}),`\n`,_jsx(_components.li,{children:`Announcements`}),`\n`,_jsx(_components.li,{children:`Promotions and special deals`}),`\n`,_jsx(_components.li,{children:`Reminder campaigns`}),`\n`]}),_jsx(_components.p,{children:`You can broadcast voice alerts either by using our PHLO visual workflow builder or our APIs and XML documents. Follow the instructions in one of the tabs below.`}),_jsx(Tabs,{children:_jsxs(Tab,{title:`Using XML`,id:`using-xml-7`,\"data-child-heading-ids\":`[\"how-it-works-7\",\"prerequisites-7\",\"create-voice-alert-broadcast-application-7\",\"test-7\"]`,children:[_jsx(_components.p,{children:`Here’s how to broadcast voice alerts and notifications using XML.`}),_jsx(Heading,{level:`2`,id:`how-it-works-7`,children:`How it works`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=fea79ace9feb45bfb5ee7bbb98831781`,alt:``,\"data-og-width\":`1446`,width:`1446`,\"data-og-height\":`774`,height:`774`,\"data-path\":`images/make-bulk-calls.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=280\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=b19e85edaa5ba388892b3ac2a1ad704f 280w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=560\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=6828b1456cab0a9ce63df5c03f5714d9 560w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=840\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=c17f849dcaf4d130a4b4aa0cc5f98d1b 840w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=1100\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=15ec1dbca63e1851984e86b29b1c438d 1100w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=1650\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=0bf966df39b2bce161bc1a8b11f2b420 1650w, https://mintcdn.com/plivo/M2NzHE_bNZbCm0gd/images/make-bulk-calls.png?w=2500\u0026fit=max\u0026auto=format\u0026n=M2NzHE_bNZbCm0gd\u0026q=85\u0026s=9b47a296d31888590ec5c14104ce7402 2500w`})}),_jsxs(_components.p,{children:[`Plivo requests an answer URL when the call is answered (step 4) and expects the file at that address to hold a valid XML response from the application with instructions on how to handle the call. To see how this works, you can use `,_jsx(_components.a,{href:`https://s3.amazonaws.com/static.plivo.com/broadcast.xml`,children:`https://s3.amazonaws.com/static.plivo.com/broadcast.xml`}),` as an answer URL to test your first outgoing call. The file contains this XML code:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`xml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`xml`,children:_jsxs(_components.code,{language:`xml`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Speak`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`Congratulations! You have made your first bulk call.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Speak`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`This code instructs Plivo to say, “Congratulations! You have made your first bulk call” to the call recipients. You can find the entire list of valid Plivo XML verbs in our `,_jsx(_components.a,{href:`/voice/xml/overview/`,children:`XML Reference`}),` documentation.`]}),_jsx(Heading,{level:`2`,id:`prerequisites-7`,children:`Prerequisites`}),_jsxs(_components.p,{children:[`To get started, you need a Plivo account — `,_jsx(_components.a,{href:`https://cx.plivo.com/signup`,children:`sign up`}),` with your work email address if you don’t have one already. If this is your first time using Plivo APIs, follow our instructions to set up a Ruby development environment and a web server and safely expose that server to the internet.`]}),_jsx(Heading,{level:`2`,id:`create-voice-alert-broadcast-application-7`,children:`Create voice alert broadcast application`}),_jsxs(_components.p,{children:[`Create a file called `,_jsx(_components.code,{children:`Broadcast.go`}),` and paste into it this code:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`25`,language:`go`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`go`,children:_jsxs(_components.code,{language:`go`,numberOfLines:`25`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`package`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` main`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#CE9178`},children:`fmt`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#CE9178`},children:`github.com/plivo/plivo-go/v7`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`func`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` main`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`\tclient`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`err`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` :=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` plivo`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`NewClient`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cauth_id>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cauth_token>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`\u0026`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`plivo`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`ClientOptions`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{})`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`\tif`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` err`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` !=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` nil`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`\t\t\tfmt`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`Print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`err`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`Error`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`())`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`\t\t\treturn`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\t\t}`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`\tresponse`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`err`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` :=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` client`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Calls`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`Create`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`\t\tplivo`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`CallCreateParams`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`\t\t\tFrom`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003ccaller_id>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`\t\t\tTo`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"+14151234567\u003c+14151234568\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`\t\t\tAnswerURL`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://s3.amazonaws.com/static.plivo.com/broadcast.xml\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`\t\t\tAnswerMethod`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"GET\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\t\t},`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\t)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`\tif`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` err`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` !=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` nil`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`\t\t\tfmt`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`Print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`err`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`Error`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`())`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`\t\t\treturn`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\t\t}`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`\tfmt`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`Printf`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Response: `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#9CDCFE`},children:`%#v`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\n`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsxs(_components.p,{children:[`Replace the auth placeholders with your authentication credentials from the `,_jsx(_components.a,{href:`https://cx.plivo.com/home`,children:`Plivo console`}),`. Replace the phone number placeholders with actual phone numbers in `,_jsx(_components.a,{href:`https://en.wikipedia.org/wiki/E.164`,children:`E.164 format`}),` (for example, +12025551234). Destination numbers may also be SIP endpoints, in which case each destination_number placeholder must be a valid SIP URI — for example, sip:`,_jsx(_components.a,{href:`mailto:john1234@phone.plivo.com`,children:`john1234@phone.plivo.com`}),`.`]}),_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(`strong`,{children:`Note:`}),` We recommend that you store your credentials in the `,_jsx(_components.code,{children:`auth_id`}),` and `,_jsx(_components.code,{children:`auth_token`}),` environment variables, so as to avoid the possibility of accidentally committing them to source control. If you do this, you can initialize the client with no arguments and it will automatically fetch them from the environment variables. You can use `,_jsx(_components.code,{children:`os.Setenv`}),` and `,_jsx(_components.code,{children:`os.Getenv`}),` to store environment variables and fetch them when initializing the client.`]})}),_jsx(Heading,{level:`2`,id:`test-7`,children:`Test`}),_jsx(_components.p,{children:`Save the file and run it.`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`go`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` run`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` Broadcast.go`})]}),`\n`]})})})]})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Voice Alerts/Notifications Broadcasting","sidebarTitle":"Voice Alerts Broadcasting","description":"Broadcast voice messages to multiple recipients at once","href":"/voice/use-cases/voice-broadcasting"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[],"tabId":"node"},{"title":"How it works","slug":"how-it-works","depth":2,"children":[],"tabId":"using-xml"},{"title":"Prerequisites","slug":"prerequisites","depth":2,"children":[],"tabId":"using-xml"},{"title":"Create voice alert broadcast application","slug":"create-voice-alert-broadcast-application","depth":2,"children":[],"tabId":"using-xml"},{"title":"Test","slug":"test","depth":2,"children":[],"tabId":"using-xml"},{"title":"Overview","slug":"overview-2","depth":2,"children":[],"tabId":"ruby"},{"title":"How it works","slug":"how-it-works-2","depth":2,"children":[],"tabId":"using-xml-2"},{"title":"Prerequisites","slug":"prerequisites-2","depth":2,"children":[],"tabId":"using-xml-2"},{"title":"Create voice alert broadcast application","slug":"create-voice-alert-broadcast-application-2","depth":2,"children":[],"tabId":"using-xml-2"},{"title":"Test","slug":"test-2","depth":2,"children":[],"tabId":"using-xml-2"},{"title":"Overview","slug":"overview-3","depth":2,"children":[],"tabId":"python"},{"title":"How it works","slug":"how-it-works-3","depth":2,"children":[],"tabId":"using-xml-3"},{"title":"Prerequisites","slug":"prerequisites-3","depth":2,"children":[],"tabId":"using-xml-3"},{"title":"Create voice alert broadcast application","slug":"create-voice-alert-broadcast-application-3","depth":2,"children":[],"tabId":"using-xml-3"},{"title":"Test","slug":"test-3","depth":2,"children":[],"tabId":"using-xml-3"},{"title":"Overview","slug":"overview-4","depth":2,"children":[],"tabId":"php"},{"title":"How it works","slug":"how-it-works-4","depth":2,"children":[],"tabId":"using-xml-4"},{"title":"Prerequisites","slug":"prerequisites-4","depth":2,"children":[],"tabId":"using-xml-4"},{"title":"Create voice alert broadcast application","slug":"create-voice-alert-broadcast-application-4","depth":2,"children":[],"tabId":"using-xml-4"},{"title":"Test","slug":"test-4","depth":2,"children":[],"tabId":"using-xml-4"},{"title":"Overview","slug":"overview-5","depth":2,"children":[],"tabId":"net"},{"title":"How it works","slug":"how-it-works-5","depth":2,"children":[],"tabId":"using-xml-5"},{"title":"Prerequisites","slug":"prerequisites-5","depth":2,"children":[],"tabId":"using-xml-5"},{"title":"Create voice alert broadcast application","slug":"create-voice-alert-broadcast-application-5","depth":2,"children":[],"tabId":"using-xml-5"},{"title":"Test","slug":"test-5","depth":2,"children":[],"tabId":"using-xml-5"},{"title":"Overview","slug":"overview-6","depth":2,"children":[],"tabId":"java"},{"title":"How it works","slug":"how-it-works-6","depth":2,"children":[],"tabId":"using-xml-6"},{"title":"Prerequisites","slug":"prerequisites-6","depth":2,"children":[],"tabId":"using-xml-6"},{"title":"Create voice alert broadcast application","slug":"create-voice-alert-broadcast-application-6","depth":2,"children":[],"tabId":"using-xml-6"},{"title":"Test","slug":"test-6","depth":2,"children":[],"tabId":"using-xml-6"},{"title":"Overview","slug":"overview-7","depth":2,"children":[],"tabId":"go"},{"title":"How it works","slug":"how-it-works-7","depth":2,"children":[],"tabId":"using-xml-7"},{"title":"Prerequisites","slug":"prerequisites-7","depth":2,"children":[],"tabId":"using-xml-7"},{"title":"Create voice alert broadcast application","slug":"create-voice-alert-broadcast-application-7","depth":2,"children":[],"tabId":"using-xml-7"},{"title":"Test","slug":"test-7","depth":2,"children":[],"tabId":"using-xml-7"}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/plivo/65a712f3b49f9843/hubspot.js"],"subdomain":"plivo","siteName":"Plivo","title":"Voice Alerts/Notifications Broadcasting - Plivo","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-10T04:14:35.384Z","originalFileLocation":"voice/use-cases/voice-broadcasting.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Broadcast voice messages to multiple recipients at once\">\u003cmeta data-mint-head name=\"application-name\" content=\"Plivo\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/plivo/jE_tEXMmXghIL4xh/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/plivo/jE_tEXMmXghIL4xh/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/plivo/jE_tEXMmXghIL4xh/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/plivo/jE_tEXMmXghIL4xh/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/plivo/jE_tEXMmXghIL4xh/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/plivo/jE_tEXMmXghIL4xh/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/plivo/jE_tEXMmXghIL4xh/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/plivo/jE_tEXMmXghIL4xh/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/plivo/jE_tEXMmXghIL4xh/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Voice Alerts/Notifications Broadcasting - Plivo\">\u003cmeta data-mint-head property=\"og:description\" content=\"Broadcast voice messages to multiple recipients at once\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Plivo\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://plivo.com/docs/voice/use-cases/voice-broadcasting\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://plivo.mintlify.app/_mintlify/api/og/v2?division=Outbound+Calls\u0026amp;title=Voice+Alerts%2FNotifications+Broadcasting\u0026amp;description=Broadcast+voice+messages+to+multiple+recipients+at+once\u0026amp;theme=0904848171be9743c76b0ea8\u0026amp;signature=cf22692de25f1aa6fa1bf0fe2256051dfcfeb771544cefe0db4377ad9ee51b00\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Voice Alerts/Notifications Broadcasting - Plivo\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Broadcast voice messages to multiple recipients at once\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://plivo.mintlify.app/_mintlify/api/og/v2?division=Outbound+Calls\u0026amp;title=Voice+Alerts%2FNotifications+Broadcasting\u0026amp;description=Broadcast+voice+messages+to+multiple+recipients+at+once\u0026amp;theme=0904848171be9743c76b0ea8\u0026amp;signature=cf22692de25f1aa6fa1bf0fe2256051dfcfeb771544cefe0db4377ad9ee51b00\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/plivo/jE_tEXMmXghIL4xh/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Plivo\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#323dfe\">\u003clink data-mint-head rel=\"canonical\" href=\"https://plivo.com/docs/voice/use-cases/voice-broadcasting\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/voice/use-cases/voice-broadcasting.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://plivo.com/#organization\",\"name\":\"Plivo\",\"url\":\"https://plivo.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/plivo/nlRVupwxTfmW2fPy/logo/newlogodark.svg?fit=max\u0026auto=format\u0026n=nlRVupwxTfmW2fPy\u0026q=85\u0026s=60816eb957f6b8962ef15eddde76449a\"}},{\"@type\":\"WebSite\",\"@id\":\"https://plivo.com/docs#website\",\"name\":\"Plivo\",\"url\":\"https://plivo.com/docs\",\"publisher\":{\"@id\":\"https://plivo.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://plivo.com/docs/voice/use-cases/voice-broadcasting#webpage\",\"url\":\"https://plivo.com/docs/voice/use-cases/voice-broadcasting\",\"name\":\"Voice Alerts/Notifications Broadcasting\",\"description\":\"Broadcast voice messages to multiple recipients at once\",\"dateModified\":\"2026-09-10T04:14:35.384Z\",\"isPartOf\":{\"@id\":\"https://plivo.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://plivo.com/docs/voice/use-cases/voice-broadcasting#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://plivo.com/docs/voice/use-cases/voice-broadcasting#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Voice Tutorials\",\"item\":\"https://plivo.com/docs/voice/use-cases/make-outbound-calls\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Outbound Calls\",\"item\":\"https://plivo.com/docs/voice/use-cases/make-outbound-calls\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Voice Alerts/Notifications Broadcasting\",\"item\":\"https://plivo.com/docs/voice/use-cases/voice-broadcasting\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://plivo.com/docs/voice/use-cases/voice-broadcasting#article\",\"headline\":\"Voice Alerts/Notifications Broadcasting\",\"name\":\"Voice Alerts/Notifications Broadcasting\",\"description\":\"Broadcast voice messages to multiple recipients at once\",\"url\":\"https://plivo.com/docs/voice/use-cases/voice-broadcasting\",\"mainEntityOfPage\":{\"@id\":\"https://plivo.com/docs/voice/use-cases/voice-broadcasting#webpage\"},\"dateModified\":\"2026-09-10T04:14:35.384Z\",\"publisher\":{\"@id\":\"https://plivo.com/#organization\"},\"isPartOf\":{\"@id\":\"https://plivo.com/docs#website\"}}]}\u003c/script>","siteName":"Plivo","nav":{"global":null,"tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/home"}]},{"tab":"SIP Trunking","pages":[{"title":"SIP Trunking","href":"/voice-agents/sip-trunking/overview"}]},{"tab":"Audio Streaming","pages":[{"title":"Audio Streaming","href":"/voice-agents/audio-streaming/overview"}]},{"tab":"Programmable APIs","anchors":[{"anchor":"Voice API","icon":"phone","groups":[{"group":"Getting Started","pages":[{"title":"Voice API Quickstart","href":"/voice/quickstart/quickstart"}]},{"group":"Concepts","pages":[{"group":"Core Concepts","pages":[{"title":"Overview","href":"/voice/concepts/overview"},{"title":"Features","href":"/voice/concepts/features"},{"title":"Terminology","href":"/voice/concepts/terminology"},{"title":"Account and feature limits","sidebarTitle":"Account Limits","href":"/voice/concepts/account-limits"}]},{"group":"Callbacks \u0026 Webhooks","pages":[{"title":"Voice callbacks","sidebarTitle":"Callbacks","href":"/voice/concepts/callbacks"},{"title":"Callback Configurations","href":"/voice/concepts/callback-configurations"},{"title":"Signature validation-V3","sidebarTitle":"Signature Validation","href":"/voice/concepts/signature-validation"}]},{"group":"Compliance (US)","pages":[{"title":"STIR/SHAKEN","href":"/voice/concepts/stir-shaken"},{"title":"Verified Caller ID","href":"/voice/concepts/verified-caller-id"},{"title":"Caller Reputation","href":"/voice/concepts/caller-reputation"}]},{"group":"Compliance (India)","pages":[{"title":"India Calling Regulations","href":"/voice/concepts/india-calling"},{"title":"India Number KYC","href":"/numbers/rent-india-numbers"},{"title":"140-Series Numbers","href":"/voice/concepts/140-series-provisioning"},{"title":"160-Series Numbers","href":"/voice/concepts/160-series-provisioning"},{"title":"UCC Management","href":"/voice/concepts/ucc-management"}]},{"group":"Security","pages":[{"title":"Geo Permissions","href":"/voice/concepts/geo-permissions"},{"title":"Firewall \u0026 Network Configuration","sidebarTitle":"Firewall \u0026 Network","href":"/voice/concepts/firewall-network-configuration"},{"title":"SIP Authentication","sidebarTitle":"SIP Authentication","href":"/voice/concepts/sip-authentication"}]},{"group":"Call Features","pages":[{"title":"Plivo SIP endpoints","sidebarTitle":"SIP endpoints","href":"/voice/concepts/sip-endpoint"},{"title":"Getting started with Speech Synthesis Markup Language (SSML)","sidebarTitle":"SSML","href":"/voice/concepts/ssml"},{"title":"Answering machine/voicemail detection","sidebarTitle":"Machine Detection","href":"/voice/concepts/machine-detection"},{"title":"Voice Alerts (New)","href":"/voice/concepts/voice-alerts"},{"title":"Carrier Failover","href":"/voice/concepts/carrier-failover"}]},{"group":"Analytics","pages":[{"title":"Call Insights","href":"/voice/call-insights"}]}]},{"group":"API Reference","pages":[{"title":"API Overview","href":"/voice/api/overview"},{"title":"Calls","href":"/voice/api/calls"},{"title":"Audio Streams","href":"/voice/api/audio-streams"},{"title":"Multiparty Calls","href":"/voice/api/multiparty-calls"},{"title":"Conferences","href":"/voice/api/conferences"},{"title":"Endpoints","href":"/voice/api/endpoints"},{"title":"Recordings","href":"/voice/api/recordings"},{"title":"Verified Caller IDs","href":"/voice/api/verified-caller-ids"}]},{"group":"XML Reference","pages":[{"title":"Overview","href":"/voice/xml/overview"},{"title":"Call Routing","href":"/voice/xml/routing"},{"title":"Input Collection","href":"/voice/xml/input"},{"title":"Audio Output","href":"/voice/xml/audio-output"},{"title":"Conference","href":"/voice/xml/conference"},{"title":"Multi-party Call","href":"/voice/xml/multiparty-call"},{"title":"Record","href":"/voice/xml/record"},{"title":"Audio Streaming","sidebarTitle":"Audio Streaming","href":"/voice/xml/audio-streaming"},{"title":"Build with an AI coding agent","sidebarTitle":"Build with an AI coding agent","href":"/voice/xml/ai-coding-agent"}]},{"group":"SDKs","pages":[{"group":"Browser SDK","pages":[{"title":"Plivo Browser SDK","sidebarTitle":"Overview","href":"/voice/sdk/browser/overview"},{"title":"JWT Authentication","sidebarTitle":"JWT Authentication","href":"/voice/sdk/browser/jwt-authentication"},{"title":"Browser SDK Reference","sidebarTitle":"SDK Reference","href":"/voice/sdk/browser/reference"},{"title":"Browser SDK Guides","sidebarTitle":"Guides","href":"/voice/sdk/browser/guides"}]},{"group":"Deprecated Mobile SDKs","pages":[{"title":"Mobile SDKs (Deprecated)","sidebarTitle":"Mobile SDKs","href":"/voice/client/androidios/overview"}]}]},{"group":"Troubleshooting","pages":[{"title":"Troubleshooting Call Failures","sidebarTitle":"Call Failures","href":"/voice/troubleshooting/call-failures"},{"title":"Hangup Causes","mode":"wide","href":"/voice/troubleshooting/hangup-causes"}]},{"group":"Voice Tutorials","pages":[{"group":"Outbound Calls","pages":[{"title":"Make Outbound Calls","sidebarTitle":"Make Outbound Calls","href":"/voice/use-cases/make-outbound-calls"},{"title":"Make Bulk Calls","href":"/voice/use-cases/make-bulk-calls"},{"title":"Click to Call","sidebarTitle":"Click-to-call","href":"/voice/use-cases/click-to-call"},{"title":"Voice Alerts","href":"/voice/use-cases/voice-alerts"},{"title":"Voice Notifications","sidebarTitle":"Voice Notification","description":"Send audio notifications via voice calls with text-to-speech or recordings","href":"/voice/use-cases/voice-notification"},{"title":"Voice Alerts/Notifications Broadcasting","sidebarTitle":"Voice Alerts Broadcasting","href":"/voice/use-cases/voice-broadcasting"},{"title":"Voice Surveys","sidebarTitle":"Voice Survey","description":"Automate voice surveys to collect feedback and poll responses via phone","href":"/voice/use-cases/voice-survey"},{"title":"Voice OTP","href":"/voice/use-cases/voice-otp"}]},{"group":"Inbound Calls","pages":[{"title":"Receive Incoming Calls","href":"/voice/use-cases/receive-incoming-calls"},{"title":"Screen Incoming Calls","href":"/voice/use-cases/screen-incoming-calls"},{"title":"Reject Incoming Calls","href":"/voice/use-cases/reject-incoming-calls"},{"title":"Call Forwarding","href":"/voice/use-cases/call-forwarding"},{"title":"Connect a Call to a Second Person","sidebarTitle":"Connect Call to Second Person","href":"/voice/use-cases/connect-call-to-second-person"}]},{"group":"IVR \u0026 Input","pages":[{"title":"Phone system IVR","sidebarTitle":"Phone System IVR","href":"/voice/use-cases/ivr"},{"title":"Receive DTMF and Speech Input","sidebarTitle":"Receive DTMF/Speech Input","href":"/voice/use-cases/receive-input"},{"title":"Voicemail","href":"/voice/use-cases/voicemail"},{"title":"Voicemail Transcription","sidebarTitle":"Transcribe Voicemail","href":"/voice/use-cases/voicemail-transcription"}]},{"group":"Recording","pages":[{"title":"Record Calls","sidebarTitle":"Record a Call","href":"/voice/use-cases/record-a-call"},{"title":"Download Recordings","href":"/voice/use-cases/download-recordings"},{"title":"Participant-Level Recording","sidebarTitle":"Participant Level Recording","href":"/voice/use-cases/participant-level-recording"}]},{"group":"Conferencing","pages":[{"title":"PINless Conference Calls","sidebarTitle":"PINless Conference","href":"/voice/use-cases/call-conference"},{"title":"Conference Calling with a PIN","sidebarTitle":"Conference with PIN","href":"/voice/use-cases/conference-with-pin"},{"title":"Supervisor Coaching","sidebarTitle":"Supervisor Coaching","href":"/voice/use-cases/supervisor-coaching"}]},{"group":"Call Routing","pages":[{"title":"Number Masking","href":"/voice/use-cases/number-masking"},{"title":"Call Tracking","href":"/voice/use-cases/call-tracking"},{"title":"Dial Status Reporting","href":"/voice/use-cases/dial-status-reporting"},{"title":"Pass Custom Headers","href":"/voice/use-cases/pass-custom-headers"}]},{"title":"Build an App That Makes Phone Calls from Raspberry Pi","sidebarTitle":"Raspberry Pi","href":"/voice/use-cases/raspberry-pi"}]},{"group":"Migration Guides","pages":[{"title":"Technical Guide: Migrating from Twilio to Plivo","sidebarTitle":"Twilio to Plivo","href":"/voice/migrate/twilio"},{"group":"SDK Upgrade (Within 4.x)","pages":[{"title":"Upgrade from SDK v4 to v4.8.0 or Latest Version","sidebarTitle":"Within 4.x","href":"/voice/migrate/sdk/active-sdk/active-sdk"},{"title":"Upgrade from Python SDK v4 to v4.9.0 or Latest Version","sidebarTitle":"Python","href":"/voice/migrate/sdk/active-sdk/python"},{"title":"Upgrade from Ruby SDK v4 to v4.9.0 or Latest Version","sidebarTitle":"Ruby","href":"/voice/migrate/sdk/active-sdk/ruby"},{"title":"Upgrade from PHP SDK v4 to v4.25.0 or Latest Version","sidebarTitle":"PHP","href":"/voice/migrate/sdk/active-sdk/php"},{"title":"Upgrade from Java SDK v4 to v4.8.0 or Latest Version","sidebarTitle":"Java","href":"/voice/migrate/sdk/active-sdk/java"},{"title":"Upgrade from .NET SDK v4 to v4.10.0 or Latest Version","sidebarTitle":".NET","href":"/voice/migrate/sdk/active-sdk/dotnet"},{"title":"Upgrade from Go SDK v4 to v4.8.0 or Latest Version","sidebarTitle":"Go","href":"/voice/migrate/sdk/active-sdk/go"}]},{"group":"SDK Upgrade (Legacy to Active)","pages":[{"title":"Upgrade from Legacy to v4.8.0 or Latest Version","sidebarTitle":"From Legacy to 4.x","href":"/voice/migrate/sdk/legacy-to-active-sdk/legacy-to-active-sdk"},{"title":"Upgrade from Python SDK Legacy to v4.9.0 or Latest Version","sidebarTitle":"Python","href":"/voice/migrate/sdk/legacy-to-active-sdk/python"},{"title":"Upgrade from Ruby Legacy to v4.9.0 or Latest Version","sidebarTitle":"Ruby","href":"/voice/migrate/sdk/legacy-to-active-sdk/ruby"},{"title":"Upgrade from PHP SDK Legacy to v4.25.0 or Latest Version","sidebarTitle":"PHP","href":"/voice/migrate/sdk/legacy-to-active-sdk/php"},{"title":"Upgrade from Java Legacy to v4.8.0 or Latest Version","sidebarTitle":"Java","href":"/voice/migrate/sdk/legacy-to-active-sdk/java"},{"title":"Upgrade from .NET SDK Legacy to v4.10.0 or Latest Version","sidebarTitle":".NET","href":"/voice/migrate/sdk/legacy-to-active-sdk/dotnet"}]}]}]},{"anchor":"Messaging API","icon":"message-square-code","pages":[{"title":"Messaging API","href":"/messaging/sms-availability"}]},{"anchor":"SIP Trunking","icon":"utility-pole","pages":[{"title":"SIP Trunking","href":"/sip-trunking"}]},{"anchor":"Verify API","icon":"badge-check","pages":[{"title":"Verify API","href":"/programmable-api/verify/availability"}]},{"anchor":"Phone Numbers API","icon":"file-digit","pages":[{"title":"Phone Numbers API","href":"/numbers"}]},{"anchor":"WhatsApp API","icon":"message-circle","pages":[{"title":"WhatsApp API","href":"/messaging/concepts/whatsapp/prerequisites"}]},{"anchor":"Account API","icon":"building-2","pages":[{"title":"Account API","href":"/account/concepts/subaccounts"}]},{"anchor":"Number Masking","icon":"shield-half","pages":[{"title":"Number Masking","href":"/number-masking/concepts/overview"}]},{"anchor":"Lookup API","icon":"search","pages":[{"title":"Lookup API","href":"/lookup/overview"}]},{"anchor":"CLI","icon":"terminal","pages":[{"title":"CLI","href":"/cli/overview"}]},{"anchor":"Integrations","icon":"blocks","pages":[{"title":"Integrations","href":"/integrations/overview"}]}]},{"tab":"FAQ","pages":[{"title":"FAQ","href":"/faq/messaging/messaging-api"}]}]},"title":"Voice Alerts/Notifications Broadcasting - Plivo","buildId":"dpl_AUojGTPodKNPTVaxVPcxnNvkSVqo","deploymentId":"dpl_AUojGTPodKNPTVaxVPcxnNvkSVqo","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-DSDQiHav.js","DynamicMarkdown-BQC1aHST.js","zoom-image-lightbox-DdOI8a7V.js","lightbox-handle-r17bVUz3.js"]}