Getting started with Plivo applications

What is an application?

Whenever a call is made using Plivo, call flows such as forwarding the call or connecting to a conference can be done by using Plivo XML. A Plivo application acts as an interface to fetch these XMLs whenever required and post details about a call or message to desired URLs for further processing.

How do I create a Plivo application?

There are two ways of creating a Plivo application

  1. One way is programmatically by using our APIs and Server side SDKs. You can find more information about creating applications using our Applications API in our documentation.
  2. The other way of creating an application is by using the Plivo dashboard. This is explained below.

You need to sign up for a Plivo account before creating an application. Once you sign up and login click on the “Applications” tab and select “New application” as shown below.

Application creation

Once you click on new application, you will see a screen as shown below.

You can create the application by providing the above details and clicking on ‘Create’. You can refer to what each of the fields mean in the “Using Application fields” section.

The created application can either be attached to a number or attached to an endpoint. Once it is attached to a number or an endpoint any incoming messages or calls can be controlled using the fields provided while creating an application.

Using Application Fields

The application fields can be used to handle the following.

  • Incoming messages: Whenever a Plivo number in your account receives a message, the message URL will be invoked with the parameters specified here. The response for this request is expected to be a XML to control next actions based on the message. The XML file should have tags as mentioned in Plivo XML documentation.
  • Incoming calls: Whenever an endpoint or a number in your account receives a call, the answer URL will be invoked with the parameters specified here. Similar to message URL, the response for this request needs to be a Plivo XML to control further call flow. In case the answer URL is not reachable or doesn’t provide a valid XML, the fallback URL will be invoked to check for a valid XML. If fallback URL also fails, the call will be disconnected.
  • Outgoing calls from a endpoint: Whenever an endpoint is used to make an outbound call (using BrowserSDK, iOS or Android SDKs) the answer URL in the application will be used to control further flow similar to incoming calls.
  • Hanging up calls: Whenever a call is hung up you might need some data about the call for processing. Hence on call hangup the following details are posted to the URL mentioned in the hangup URL with the parameters specified here.