Voice

connect with confidence

Boost customer engagement and build trust

Start real-time conversations with crystal clear audio, low latency and deeper insights.

Get started
Trusted by 30,000+ global businesses
RazorpayXiaomiUnacademyDream11IndeedIndian OilIxigo
curl --request POST \
  --url https://control.msg91.com/api/v5/voice/call/ \
  --header 'Authkey: <authkey>' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{"template":"yourtemplate","caller_id":"91999999999","client_number":"918888888888","callback_url":"https://status.callback.com","variables":{"var1":{"type":"number","as_digits":true,"value":"1234"},"var2":{"type":"currency","currency_code":"USD","value":"100"}}}'
const http = require("https");

const options = {
  "method": "POST",
  "hostname": "control.msg91.com",
  "port": null,
  "path": "/api/v5/voice/call/",
  "headers": {
    "Authkey": "<authkey>",
    "accept": "application/json",
    "content-type": "application/json"
  }
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({
  template: 'yourtemplate',
  caller_id: '91999999999',
  client_number: '918888888888',
  callback_url: 'https://status.callback.com',
  variables: {
    var1: {type: 'number', as_digits: true, value: '1234'},
    var2: {type: 'currency', currency_code: 'USD', value: '100'}
  }
}));
req.end();
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://control.msg91.com/api/v5/voice/call/",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"template\":\"yourtemplate\",\"caller_id\":\"91999999999\",\"client_number\":\"918888888888\",\"callback_url\":\"https://status.callback.com\",\"variables\":{\"var1\":{\"type\":\"number\",\"as_digits\":true,\"value\":\"1234\"},\"var2\":{\"type\":\"currency\",\"currency_code\":\"USD\",\"value\":\"100\"}}}",
  CURLOPT_HTTPHEADER => [
    "Authkey: <authkey>",
    "accept: application/json",
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://control.msg91.com/api/v5/voice/call/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["Authkey"] = '<authkey>'
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"template\":\"yourtemplate\",\"caller_id\":\"91999999999\",\"client_number\":\"918888888888\",\"callback_url\":\"https://status.callback.com\",\"variables\":{\"var1\":{\"type\":\"number\",\"as_digits\":true,\"value\":\"1234\"},\"var2\":{\"type\":\"currency\",\"currency_code\":\"USD\",\"value\":\"100\"}}}"

response = http.request(request)
puts response.read_body
import http.client

conn = http.client.HTTPSConnection("control.msg91.com")

payload = "{\"template\":\"yourtemplate\",\"caller_id\":\"91999999999\",\"client_number\":\"918888888888\",\"callback_url\":\"https://status.callback.com\",\"variables\":{\"var1\":{\"type\":\"number\",\"as_digits\":true,\"value\":\"1234\"},\"var2\":{\"type\":\"currency\",\"currency_code\":\"USD\",\"value\":\"100\"}}}"

headers = {
    'Authkey': "<authkey>",
    'accept': "application/json",
    'content-type': "application/json"
    }

conn.request("POST", "/api/v5/voice/call/", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
Features
feature
Call MonitoringIntroducing the next-level communication experience with our all-new Call Monitoring features We're putting you in the driver's seat of your conversations. These robust features give you greater control and insight during your calls, ensuring enhanced communication and customer satisfaction. Call spying: your secret weapon for quality assurance! Call barging: real-time support, is just a click away! Call whispering: guidance at your fingertips!
feature
Direct calling from browserSkip the 2-way calling and directly call from browser. Enhance customer experience and save your agent's calling time in India. Seamlessly connect two phone numbers without putting one on hold, ensuring efficient customer conversations.
feature
IVR FlowModern IVR for streamlined customer interactions in India Experience a cutting-edge IVR system in India that simplifies customer engagement. This smart IVR offers more than just query resolution. You can create time-based or agent-based settings and record personalized messages for a hassle-free experience.
feature
Bulk VoiceEngage with your audience in India through a single call Effectively communicate with your audience by recording and broadcasting voice messages in India. A ringing phone call is hard to ignore, making this a powerful way to convey your messages.
feature
Multiple Way to Upload FileVarious ways to upload your audio message in India Optimize customer interaction with personalized voice messages in India. Record messages for bulk voice calls or IVR menus using text-to-speech, browser mic, or phone calls.
feature
Bulk voice with IVRConnect your voice calls to the IVR in India Extend your reach by sending bulk voice messages and collecting responses in India. Record your messages and transmit them to your customers using an IVR system.
feature
Real time connect with agent on user input on bulk callDirect users to your support agents in India Elevate the customer experience in India by offering real-time support. Connect users to your customer support agents based on their input during bulk calls.
Start building your ideal customer engagement experience