Twilio Flex の始め方（準備編）

:::note alert
2023年5月1日を持ちまして、株式会社KDDIウェブコミュニケーションズのTwilioリセール事業が終了したため、本記事に記載されている内容は正確ではないことを予めご了承ください。
:::

# はじめに

みなさん、こんにちは。
KDDIウェブコミュニケーションズの Twilio事業部エバンジェリストの高橋です。

記念すべき [Twilio Flex Advent Calendar 2021](https://qiita.com/advent-calendar/2021/twilio-flex) 初日の記事となります。
初日なので、あまりエンジニアチックな話ではなく、そもそも Twilio Flex ってどうなの？ウチには向いているの？初期コストってどのくらいかかるの？というあたりにフォーカスを当てて紹介したいと思います。

# Twilio Flexとは

![スクリーンショット 2021-11-27 10.39.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/86046/d1253850-02b3-b77b-c814-feb1e7eb7c4d.png)

もっとも簡単に言えば、Twilio Flex はクラウド型のコンタクトセンターソリューションです。
いまや世の中にはクラウド型のコンタクトセンターソリューションもかなりの数が存在しています。これら多くのサービスが、「初期導入の低さ」、「設備投資が不要」、「在宅での運用」などを謳っていますが、Twilio Flex も同様、これらの恩恵は受けられます。
たとえば、Twilio Flex はサインアップからほんの数分でもっともシンプルなコンタクトセンターが立ち上げられます。

が、しかし。

Twilio Flex の本当の魅力は、**フルカスタマイズが可能な**コンタクトセンタープラットフォームであるという点です。

## なぜフルカスタマイズが可能なのか

Twilio Flex は、もともと Twilio が提供してきた以下のAPIから構成されています。

- [Programmable Voice](https://jp.twilio.com/docs/voice/api)
- [Programmable Messaging](https://jp.twilio.com/docs/sms)
- [Programmable Conversation](https://jp.twilio.com/docs/conversations)
- [Phone Numbers](https://jp.twilio.com/docs/phone-numbers/api)
- [TaskRouter](https://jp.twilio.com/docs/taskrouter)
- [Proxy](https://jp.twilio.com/docs/proxy)
- [Studio](https://jp.twilio.com/docs/studio/user-guide)
- [Sync](https://jp.twilio.com/docs/sync)

Twilio Flex は、全体としてみるとコンタクトセンターの統合されたソリューションに見えますが、一方で一つ一つの部品がAPIレベルでチューニングが可能であることが特長となっています。言い換えれば、コンタクトセンターのシステム自体がブラックボックスになっているのではなく、部品レベルで仕様が確認でき、それぞれをチューニングすることはもちろん、新しい部品の追加も容易におこなえるということです。

もしみなさんが車を所有しているのであれば、エンジンルームの中身が自分たちで確認でき、チューニングができることで、車自体を自分の好みに改造したり、故障の修理ができることをとてもメリットと感じるでしょう。
まさに Twilio Flex はそのような思想によってできています。
![エンジンルーム.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/86046/e46f9f71-aabe-85c8-6e5e-871db8374aa6.png)

## Twilio Flex の特長

車のエンジンルームの例えを聞いて、これはちょっと難しそうだなーと思った方、実はあなたは間違っていません。
実際、Twilio Flex を始めるのは簡単です。アカウントを作成して、Flexプロジェクトを作成するウィザードを起動すれば、いくつかの質問に答えるだけでFlexが使えるようになります。車で言えば、すでに走れる状態です。
しかし、この状態では思ったような働きはしてくれないでしょう。そう、ここからチューニングが始まるのです。エンジンルームの蓋を開ける必要がでてくるのです。

残念なことに、現状Flexの詳細を日本語で解説してくれている記事がほとんどなく、Twilio の提供する膨大なドキュメントと格闘することになります。そしてほとんどの方は、ここで挫折してしまいます。
これは非常に残念なことで、Twilio Flex の普及の阻害要因となっていると思います。

**そこで、今回のアドベントカレンダーを使って、Flexをよりわかりやすく、系統立てて解説することで、ぜひ多くの方にTwilio Flex を知ってもらおうという気持ちでこの記事を書いています。**

正直、自分たちでチューニングなんてしないし、車が故障したらディーラーに直してもらえばいいよという考えの方は、Twilio Flex は向いていないかもしれません。逆言うと、自分が乗る車なので、自分たちの思ったようにチューニングして、気持ちよく車に乗りたい、また多少の故障は自分たちで直していきたいし、新しいパーツも色々つけたいという気持ちの方は、ぜひFlexを検討してください。

実際、海外ではFlexはかなり好調に売れています。
日本でも知られている企業でいえば、

- [lyft](https://customers.twilio.com/249/lyft)
- [Hubspot](https://customers.twilio.com/2055/hubspot)
- [shopify](https://customers.twilio.com/2075/shopify-2)

などの事例をみることもできます。

このような企業に共通して言えることは、「自分たちのコンタクトセンターは自分たちで成長させていく」という絶対的な考え方です。従来、コンタクトセンターのソリューションというのは、初期コストが高く、チューニングはある程度してもらえるものの、一度導入してしまうと、当面の間はそれを使っていかなくてはなりません。
しかし考えてみると、世の中の状況は日々変化していきます。今回のコロナウィルスなどもその典型で、このような状況になったときに、自分たちのシステムを自分たちで変えることができなければ、システムを停止させるか、もしくは人間が犠牲になる世界です（実際、コロナ禍で出勤を強制されているコールセンターオペレーターは数多くいたようです）。
コロナのような劇的な変化だけでなくても、小さな環境の変化というのは常に起きています。
これらの変化にいち早く対応し、場合によってはABテストを繰り返して、日々顧客接点を改善していくという考え方が、先に挙げた企業の特長です。
そして、その考え方を実現することができるのが、Twilio Flex です。

私はいつも、Flexの始め方をこのように説明しています。

![スクリーンショット 2021-11-27 11.36.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/86046/8bdbd145-0886-2fee-828e-1332ca292ff1.png)

最初から完全なチューニングをやろうと思ってはうまくいきません。
まずは最低限の機能で始めてみましょう。そして、気になるところをちょっとずつ改善していきましょう。
そうしているうちに、Twilio Flex がなくてはならない非常に重要な武器になっていることに気がつくはずです。

# Flexを始める準備

先程からなんども、Flexは簡単に始められると説明してきましたが、実際に始めるにあたってはいくつか準備をしなければならないことがあります。

## Twilio アカウントの作成に必要な準備（取引時確認の準備）

Flexを始めるには、まずは Twilio のアカウントが必要です。
アカウント自体は法人でも個人でも開設できるのですが、現時点では**個人で日本の電話番号を購入することができない**ため、法人でのアカウント開設が必要になります。日本の番号は不要だったり、電話は使わないというかたは個人でも大丈夫です。

また、アカウントを開設するにあたっては、開設される方に対する取引時確認の手続きが別途必要となります。これは、Twilio というサービスが日本国内における通信事業サービスに該当するものであることから、取引を行う際には本人確認（法人の場合は法人確認）を必ず行わなくてはならないという国のルール（犯罪収益移転防止法）に基づくものです。
日本における Twilio の販売代理店であるKDDIウェブコミュニケーションズ（KWC）経由でアカウントを開設する場合は、KWCとの間で取引時確認が必要になります。

ここでは、法人としてアカウントを開設することを想定して説明をします。
法人アカウントの作成では、以下の書類が必要になってきます。取得に日数がかかるものもあるかと思われますので、事前に準備しておくとよいでしょう。

- ~~登記簿謄本（履歴事項全部証明書もしくは現在事項全部証明書）~~ [法人番号](https://www.houjin-bangou.nta.go.jp/)での申請が可能になりました！ <font color='red'>**2022-1-21 Update!**</font>
- 担当者様の本人確認書類（運転免許証など）
- 委任状（担当者様が代表者出ない場合に必要）

書類の種類などは、[こちら](https://cloudapi.kddi-web.com/magazine/other/corporate-transaction-confirmation-information-registration-method)に詳細がございますので、ぜひ確認してください。

すでにアカウントを持っている方については、そのアカウントを利用してFlexプロジェクトを新規に作成することもできますが、取引時確認はプロジェクト単位に行う必要があるため、取引時確認の手続きが必要になります。~~ただし、すでに取引時確認を行っているアカウントをお持ちの方は、そちらのアカウントをご提示いただくことで書類の提出は不要となります。~~不要ではなく、再度登録が必要でした。すみません。

取引時確認の具体的な手順については、以下の記事を御覧ください。
[取引時確認の全体的な手続きの流れを教えてください-法人のお客様-](https://cloudapi.zendesk.com/hc/ja/articles/900004816703)

## 日本の電話番号を購入するための準備

取引時の確認に加えて、日本国内の電話番号を購入する場合には、Bundlesの作成が必要です。こちらは、Twilio のシステム上必要となる作業となります。
Bundlesの登録方法については、以下の記事を御覧ください。
[Twilio上で日本の電話番号を購入する方法（2021年9月版）](https://qiita.com/mobilebiz/items/8c51ac4dce7baa49aa36)

## 初期導入に関する費用

初期費用を考える前に、まずは Twilio Flex の料金について理解しましょう。
2021年12月時点、Twilio Flex の料金は以下の通りとなります（KWCの提供価格）。

### 月額固定費用（税込み）

以下のいずれかを選択することができます。

- 1時間あたり：110円
- 1席あたり：16,500円

時間あたりは、1ユーザーが1時間利用した場合の単価です。
1席あたりは、1ユーザーの1ヶ月の固定単価です。
たとえば、オペレーターが一人しかいない場合であれば、概ね1日8時間で20日以上稼働するのであれば席単位が安くなります。一方で、オペレーターが複数人いて、それぞれは20日も稼働しないのであれば、時間単位にしておいたほうが有利です。
一度選択したプランの変更は後からはできないため、どちらを選択するかはよく考える必要があります。

### 無料枠

Flexにはプロジェクトの開始時に、5,000時間の無料枠が用意されています。無料枠を利用中に上記のいずれかのプランに変更することができますが、変更すると残りの無料枠はなくなりますので注意が必要です。
無料枠には以下の費用は含まれません。

- 電話番号利用料
- PSTNへの発信料・着信料
- SMSの送信料・受信料

これ以外にも録音ストレージなどの一部の料金が含まれませんが、TaskRouterやStudio、Conversationなど多くのAPI利用はFlex料金に包含されています。

### 初期費用

Flexには上記無料枠があることから、初期にかかるコストは概ね以下の通りです。

- Twilioアカウントのアップグレード（2,000円〜）
- Flexのカスタマイズに関するエンジニア料金

このうち、アカウントのアップグレードについて少しだけ補足します。
Twilioは、API利用料や電話番号利用料などを事前に購入したポイントから引き落とすことで支払いを行います。
Twilioアカウントを開設時に500円分のポイントが自動的に付与されますが、Flexプロジェクトを作成した際に、US電話番号料として110円が引かれています。また、アップグレードしていない状態では、電話番号は1つしか購入できないため、事実上日本の番号はアップグレードしないと購入できません。
アップグレードするには、Twilio上に決済用のカードの登録と、最低2,000円以上のポイント購入が必要です。ですので、明示的な初期コストとしては、まずは2,000円が必要になります。

具体的なアップグレード方法や、クレジットカードではなく請求書で支払いたいなど、ポイントに関する詳しい説明はぜひ以下の記事を参照してください。
[Twilioで開発を始める前に知っておくこと（ポイント編）](https://qiita.com/mobilebiz/items/0eea42755bfbe21478da)

## エンジニアの確保

前述の通り、Flexをセットアップした状態では実運用には耐えられませんので、カスタマイズをしていく必要があります。カスタマイズの難易度は、どの部分をカスタマイズするのかによって異なります。

### IVRのカスタマイズ

IVRについては、基本的には Twilio Studio を使いますので、ドラッグアンドドロップでカスタマイズが可能です。ただし、外部のAPIを呼び出したり、営業日判定をするなどの少々凝ったことをやろうとするとプログラミングの知識も必要になります。

### ACDのカスタマイズ

コールやメッセージをどのオペレーターにアサインするかをカスタマイズするのも管理コンソールから行えるため、基本的にはプログラミングの知識は不要です。

### UIのカスタマイズ

オペレーターの画面をカスタマイズするには、Reactを中心としたフロントエンドのプログラミング知識が必要になります。よって、最終的にFlexをフルカスタマイズしたい場合は、エンジニアリソースの確保が必要となります。

最初から自社内でエンジニアリソースが確保できれば、導入当初からプロジェクトに参加してもらうのがよいでしょう。もし、社内にエンジニアリソースがない場合は、立ち上げ当初は外部のエンジニアリソースに依頼することになります。
依頼する場合は、社内で要件を定義してそれを実装してもらう丸投げ方式ではなく、要件定義に対してアドバイスをしてもらい、実装についても可能な限り社内のリソースを活用する形で、システム開発の伴走をしてくれるような業者を選択することをおすすめします。
これは、いずれFlexを自社で開発・運用していくために必要な考え方ですので、ぜひ実践していただければと思います。

# まとめ

いかがでしょうか。Twilio Flex の魅力は伝わりましたか。
この記事を読んだ時点では、やはり難しそうだなーとか、準備が面倒くさいなーと思われた方も多いかと思います。
しかし、長い目で考えたときに、顧客接点の最適化が企業にとっての生命線であることを理解し、まずははじめてみようという方が一人でも増えてくれれば、この記事を書いた意味があるかと思っています。

★次の記事
[Twilio Flexの始め方（部品を知ろう編）](https://qiita.com/mobilebiz/items/e7f965dbda8c29c50f1e)

---
### Twilio（トゥイリオ）とは

https://cloudapi.kddi-web.com
Twilio は音声通話、メッセージング（SMS /チャット）、ビデオなどの 様々なコミュニケーション手段をアプリケーションやビジネスへ容易に組み込むことのできるクラウド API サービスです。初期費用不要な従量課金制で、各種開発言語に対応しているため、多くのハッカソンイベントやスタートアップなどにも、ご利用いただいております。

自己紹介|　
:--|:--
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/86046/b51a8b88-abd5-ce5e-195a-de3564ba2ae6.png" height='200' width='150'/>|高橋克己（Katsumi Takahashi） 自称「<font color='red'>赤い芸人</font>」<br />グローバル・インターネット・ジャパン株式会社　代表取締役<br />株式会社KDDIウェブコミュニケーションズ　Twilio事業部エバンジェリスト<br /><br />2001年より大手通信事業者の法人サービスの教育に携わり、企業における電話のしくみや重要性を研究。2016年よりTwilio事業部にジョインし、Twilioを使ったスマートコミュニケーションの普及活動を精力的に行っている。<br />2015 Hall of Doers<br />2019 Twilio Champions