インテリジェントIVRにより何が可能になるのでしょうか?
オペレーターが追加の業務や複雑さを感じることなく、顧客体験を強化します。
オペレーターが追加の業務や複雑さを感じることなく、顧客体験を強化します。
コールルーティング
オペレーターエスカレーション
セルフサービスの自動化
AI仮想エージェント
プロアクティブ通知
緊急通知
ウィジェットライブラリからフローを構築
ビジュアルエディタの「Studio」により、事前構築済みのIVRフローを使って開始します。次に、お客様のビジネスに合わせてカスタマイズし、電話ツリーとロジックをお客様が完全に制御できるようにします。
現場で繰り返し、適応
Twilioでは、顧客の新たなニーズの出現やビジネスプロセスの変化に応じて、IVRフローを簡単に調整できます。
基本的なセルフサービスタスクを自動化
オペレーターが介入することなく、予約の確認、支払いの処理、情報の取得ができる機能を構築します。
IVRで顧客体験を強化
通常のボタン操作式メニューを超えるIVRの機能により、顧客が目的の情報をすぐに見つけられるようにします。コンテクスチュアルインテリジェンスを活用したセルフサービスを提供します。
オペレーターのプレッシャーを軽減
基本的なタスクを自動化するIVRワークフローを使用して通話量を管理し、最も重要な通話のためにオペレーターのリソースを確保します。
オペレーターを効率化
顧客のIVRのインタラクションからコンテキストを収集し、通話がエスカレーションされるまでにオペレーターが状況の全体像を把握できるようにします。
強固な接続基盤を備えた最新のIVRを構築し、必要な機能に合わせてカスタマイズします。
セットアップ手順 |
オプション |
機能 |
詳細はこちら |
---|---|---|---|
1.電話番号 |
|
200以上の番号の種類、対象国は100か国以上 既存の番号を使用 |
|
2.接続 |
|
4,500のグローバルキャリアとの接続 既存のPSTNキャリアを使用 |
|
3.構築 |
|
<Pay>、<Gather>、 ロー/ノーコードエディタ、IVRフロー用テンプレート |
|
4.チャネル |
|
テキストを音声に変換、通話 SMS、MMS、WhatsApp、信頼性の高いリアルタイム配信 |
無料のTwilioアカウントに登録すると、新しいIVRフローの構築をすぐに開始できます。クイックスタート(ガイド)、最新のドキュメント、Twilio CLI、Code Exchangeを利用して、プロトタイプをすぐに構築できます。
from twilio.twiml.voice_response import VoiceResponse
from ivr_phone_tree_python import app
from ivr_phone_tree_python.view_helpers import twiml
@app.route('/')
@app.route('/ivr')
def home():
return render_template('index.html')
@app.route('/ivr/welcome', methods=['POST'])
def welcome():
response = VoiceResponse()
with response.gather(
num_digits=1, action=url_for('menu'), method="POST"
) as g:
g.say(message="Thanks for calling the E T Phone Home Service. " +
"Please press 1 for directions." +
"Press 2 for a list of planets to call.", loop=3)
return twiml(response)
@app.route('/ivr/menu', methods=['POST'])
def menu():
selected_option = request.form['Digits']
option_actions = {'1': _give_instructions,
'2': _list_planets}
if option_actions.has_key(selected_option):
response = VoiceResponse()
option_actions[selected_option](response)
return twiml(response)
return _redirect_welcome()
require 'twilio-ruby'
class TwilioController < ApplicationController
def index
render plain: "Dial Me."
end
# POST ivr/welcome
def ivr_welcome
response = Twilio::TwiML::VoiceResponse.new
response.gather(num_digits: '1', action: menu_path) do |gather|
gather.say(message: "Thanks for calling the E T Phone Home Service. Please press 1 for
directions. Press 2 for a list of planets to call.", loop: 3)
end
render xml: response.to_s
end
# GET ivr/selection
def menu_selection
user_selection = params[:Digits]
case user_selection
when "1"
@output = "To get to your extraction point, get on your bike and go down
the street. Then Left down an alley. Avoid the police cars. Turn left
into an unfinished housing development. Fly over the roadblock. Go
passed the moon. Soon after you will see your mother ship."
twiml_say(@output, true)
when "2"
list_planets
else
@output = "Returning to the main menu."
twiml_say(@output)
end
end
<?php
namespace App\Http\Controllers;
use App\Http\Requests;
use Illuminate\Http\Request;
use Twilio\Twiml;
class IvrController extends Controller
{
public function __construct()
{
$this->_thankYouMessage = 'Thank you for calling the ET Phone Home' .
' Service - the adventurous alien\'s first choice' .
' in intergalactic travel.';
}
/**
* Responds with a welcome message with instructions
*
* @return \Illuminate\Http\Response
*/
public function showWelcome()
{
$response = new Twiml();
$gather = $response->gather(
[
'numDigits' => 1,
'action' => route('menu-response', [], false)
]
);
$gather->say(
'Thanks for calling the E T Phone Home Service.' .
'Please press 1 for directions. Press 2 for a ' .
'list of planets to call.',
['loop' => 3]
);
return $response;
}
/**
* Responds to selection of an option by the caller
*
* @return \Illuminate\Http\Response
*/
public function showMenuResponse(Request $request)
{
$selectedOption = $request->input('Digits');
switch ($selectedOption) {
case 1:
return $this->_getReturnInstructions();
case 2:
return $this->_getPlanetsMenu();
}
$response = new Twiml();
$response->say(
'Returning to the main menu',
['voice' => 'Polly.Amy', 'language' => 'en-GB']
);
$response->redirect(route('welcome', [], false));
return $response;
}
const VoiceResponse = require('twilio').twiml.VoiceResponse;
exports.welcome = function welcome() {
const voiceResponse = new VoiceResponse();
const gather = voiceResponse.gather({
action: '/ivr/menu',
numDigits: '1',
method: 'POST',
});
gather.say(
'Thanks for calling the E T Phone Home Service. ' +
'Please press 1 for directions. ' +
'Press 2 for a list of planets to call.',
{loop: 3}
);
return voiceResponse.toString();
};
exports.menu = function menu(digit) {
const optionActions = {
'1': giveExtractionPointInstructions,
'2': listPlanets,
};
return (optionActions[digit])
? optionActions[digit]()
: redirectWelcome();
};
package com.twilio.phonetree.servlet.ivr;
import com.twilio.twiml.TwiMLException;
import com.twilio.twiml.VoiceResponse;
import com.twilio.twiml.voice.Gather;
import com.twilio.twiml.voice.Play;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class WelcomeServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest servletRequest, HttpServletResponse servletResponse)
throws IOException {
String mp3file = "https://raw.githubusercontent.com/TwilioDevEd/"
+ "ivr-phone-tree-servlets/master/et-phone.mp3";
VoiceResponse response = new VoiceResponse.Builder()
.gather(new Gather.Builder()
.action("/menu/show")
.numDigits(1)
.build())
.play(new Play.Builder(mp3file)
.loop(3)
.build())
.build();
servletResponse.setContentType("text/xml");
try {
servletResponse.getWriter().write(response.toXml());
} catch (TwiMLException e) {
throw new RuntimeException(e);
}
}
}
using System.Web.Mvc;
using Twilio.AspNet.Mvc;
using Twilio.TwiML;
using Twilio.TwiML.Voice;
namespace IVRPhoneTree.Web.Controllers
{
public class IVRController : TwilioController
{
// GET: IVR
public ActionResult Index()
{
return View();
}
// POST: IVR/Welcome
[HttpPost]
public TwiMLResult Welcome()
{
var response = new VoiceResponse();
var gather = new Gather(action: Url.ActionUri("Show", "Menu"), numDigits: 1);
gather.Say("Thank you for calling the E.T. Phone Home Service - the " +
"adventurous alien's first choice in intergalactic travel. " +
"Press 1 for directions, press 2 to make a call.");
response.Append(gather);
return TwiML(response);
}
}
}
このクイックスタートに従い、Twilioを使用した最初のIVR電話ツリーの設定方法を学習します。
Code Exchangeに構築済みのアプリを使用し、SMSと音声を使用する基本的なIVRを数分で実装できます。
Twilio製品チームによる11のベストプラクティスを使用し、IVRの音声認識の性能を向上させます。
信頼できるTwilioパートナーの協力のもと、コーディングのサポートを受けたり、事前構築済みのソリューションを検討したりできます。
Chimeでは、IVRを構築し、顧客がオペレーターから回答を迅速に得られるようになりましたが、その後ワークフローをセルフサービスに対応させました。これには、バックアップとしてのオペレーターのサポートを含みます。
Chopeでは、IVRと待ち行列の管理技術を活用し、レストランの予約を管理しています。予約が確定したお客様に確認通知を自動的に送信できるため、収入減を回避できます。
Marks & Spencerでは、IVRを大幅に見直し、月に数百万件の通話を処理して、顧客を適切な担当者や店舗に最短時間で案内できるようにし、リクエストを何度も繰り返さなくて済むようにしました。
解決までのコストを削減しながら、顧客満足度を高めます。
単一のIVRアドオンから開始することも、IVRシステム全体を最新化することもできます。Twilioでは、セルフサービスの自動化により膨大な通話量を管理できるように拡張できるため、コールセンターのコストを削減しながら、オペレーターの負担を軽減できます。
月間100万件以上の着信通話
Marks & Spencerの新しいIVRで処理
無駄なく、賢い働き方AI仮想エージェントをワンクリックで追加し、自然言語によるサポートを提供。コンテキストを欠いた硬直したメニューによる混乱を避けることができます。発信者の意図を理解するようにカスタマイズされた、仮想エージェントフローを作成します。
消費者の86%
パーソナライズされたサービスはロイヤルティ向上に役立つと回答
新しいものに置き換える必要はありません。Twilio IVRを既存のコンタクトセンターに追加し、機能を迅速に拡張できます。次に、必要に応じて、新しい機能やフローが必要とする際にエクスペリエンスを微調整できます。
企業の97%
デジタル顧客エンゲージメントへの投資が2倍になると予想