- Python & Flask
- Python & Django
- Python & FastAPI
- Python & Sanic
Get Started with Python Using Flask Framework
Start by signing up for a free trial account that you can use to experiment with and learn about our services. The free trial account comes with free credits, and you can add more as you go along. You can also add a phone number to your account to start testing the full range of our voice and SMS features. A page in our support portal walks you through the signup process.You can start making and receiving calls 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
Install Python, Flask, and the Plivo Python SDK
You must set up and install Python, Flask, and Plivo’s Python SDK before you make your first call.Install Python
Download and install Python from its official site.Install Flask and the Plivo Python SDK
Create a projects directory and change into it.Make your first outbound call

Set up a Flask server to handle outbound calls
Create a file calledmakecall.py and paste into it this code.Note:
We recommend that you store your credentials in the
auth_id and auth_token environment variables to avoid the possibility of accidentally committing them to source control. If you do this, you can initialize the client with no arguments and Plivo will automatically fetch the values from the environment variables. You can use os.environ to store environment variables and retrieve them when initializing the client.Test
Save the file and run your code.Receive your first inbound call

Set up a Flask server to handle incoming calls
Create a file calledreceive_call.py and paste into it this code.Expose your local server to the internet
To receive incoming calls, your local server must connect with Plivo API services. For that, we recommend using ngrok, which exposes local servers running behind NATs and firewalls to the public internet over secure tunnels. Using ngrok, you can set webhooks that can talk to the Plivo server.


Create a Plivo application to receive calls
Associate the Flask server you created with Plivo by creating a Plivo application. Visit Voice > Applications and click Add New Application. You can also use Plivo’s Application API.Give your application a name — we called oursReceive_call. Enter the server URL you want to use (for example https://<yourdomain>.com/receive_call.php/) in the Primary Answer URL field and set the method to POST. Click Create Application to save your application.
Assign a Plivo number to your application
Navigate to the Numbers page and select the phone number you want to use for this application.From the Application Type drop-down, selectXML Application.From the Plivo Application drop-down, select Receive_call (the name we gave the application).Click Update Number to save.
Test
Make a call to your Plivo number using any phone.Forward an incoming call

Set up a Flask server to forward calls
Create a file calledforward_call.py and paste into it this code.Create a Plivo application to forward calls
Associate the Flask server you created with Plivo by creating a Plivo application. Visit Voice > Applications in the Plivo console and click on Add New Application, or use Plivo’s Application API.Give your application a name — we called oursForward Call. Enter the server URL you want to use (for example https://<yourdomain>.com/forward_call/) in the Answer URL field and set the method to POST. Click Create Application to save your application.Assign a Plivo number to your application
Navigate to the Numbers page and select the phone number you want to use for this application.From the Application Type drop-down, selectXML Application.From the Plivo Application drop-down, select Forward Call (the name we gave the application).Click Update Number to save.