Search
Duplicate

Zapierと連携する方法

iPaaSと呼ばれる、SaaSツール同士を繋げられるZapierというサービスを使って、チャネルトークとSalesforce、hubspot、zendeskなど様々なCRMツールと連携できるようになります。

0. Zapierでアカウントが作成してあり、Premiumのツールが使えるプランであることを前提にします

a by Zapierを使うためにpremium appsが使える必要があります。(Starterプラン以上)

1. Create Zapしましょう!

Zapierの管理画面のZapsメニューにて、Create Zap ボタンを押して、作成開始しましょう

2. トリガーにてWebhooks by ZapierCatch Hook を選択してContinueボタンを押します

3. 生成されたWebhook urlをコピーして、Continueボタンを押します

4. チャネルトーク管理画面にて、チャネルの設定>開発者向け>Webhook管理>新しいWebhookを作成にて、URLの項目に先ほどコピーしたwebhook urlを貼り付けます。その他も以下のように設定して確認します

※Webhook使用のためには、有料プランをご利用している必要があります。

5. こちらのプレビューページを開いて、テストでチャットを送ってみます!

こちらのプレビュー画面のチャットボタンを開いて、以下のように何かしらのメッセージを送ってみてください

6. トリガーのテストで、先ほどのメッセージがwebhook urlに飛んだかをテストします

このように表示されれば成功です!
Continueボタンを押して、他のCRMとのつなぎこみに入って行きましょう!
webhookのpayload一番上のeventには、pushpost の2種類がありますが、 postはdeprecatedされているため、pushのみフィルタリングして活用いただければ幸いです。
この後のアクションは、以下のpayloadサンプルを見ながら実装してみてください
チャネルトーク問い合わせ情報を、hubspot、salesforce、zendesk、slackに連携することができますが、Zapierが万能だとは思わずに、なるべく最小限のプロパティが連携から始めるのをおすすめします! 連携したい情報やプラットフォームによって、連携方法が異なるため、簡単な連携アドバイスとして2つの連携方法例を以下に説明します!

例1) 新しいチャットが生成されると、該当ユーザーのアクション履歴(もしくはチケット)に追加 一番簡単!でtask数も少なく、おすすめ

1.
新しいチャットのみフィルタリング
【前提知識☕️
type には、userChatmessage の値が存在します
userChat は以下の条件でイベント送信されます
1.
新しいチャットが生成された時 (チャットボットのボタン選択は含まず、最初に担当者にプレーンテキストを送信した時)
2.
担当者が終了リクエストをした後に、お客様が「チャットを続ける」をクリックして、さらにプレーンテキストを送信しもう一度チャットを始めた場合
【設定方法
→ そこで、以下のようにフィルタリングをかける
userChatにフィルタリングをかける
上記の2. のパターンを除外して完全に新しいuserChatが開かれた時のみをフィルタリングするために、Entity First Opened At (完全に最初にuserChatが開かれた時)と Entity Opened At (終了リクエスト後にお客様が「チャットを続ける」をクリックしてもう一度チャットを始めた場合更新される)が一致するとき
2. アクションで、プラットフォームで該当ユーザーを探して、チャット履歴を追加する
【前提知識☕️
プラットフォーム側のチャット履歴の題名をわかりやすいようAya, 内容:こんにちは!のように連携したい場合、以下のように連携できます
Entity Name , 内容:Refers Message Plain Text
接客チャットへのリンクを連携するとクリックひとつで該当の問い合わせに飛べるので便利です。以下のように連携できます。
https://desk.channel.io/#/channels/Entity Channel id/user_chats/Entity Id
(接客チャットのId(Entity Chat Id)も、プラットフォームのプロパティに追加しておくと、検索時に楽になるため連携をおすすめします)
(refers.user.profile のオブジェクトの中にチャネルトークのフォーム機能や会員情報連携で取得している顧客プロフィール情報が入っています)
(Refers User Profile Email Refers User Profile name Refers User Profile Mobile Number などで取得できます)
【設定方法
顧客プロフィール情報の中で、プラットフォームで該当ユーザーを探すキーになるものをFind(検索)して、Createしましょう (もしくは単純にチケットをcreateしましょう)
プラットフォームによって方法が異なりますので、プラットフォームに合う方法で設定しましょう。Find アクションやCreate アクションがあるプラットフォームの場合可能です。※ チャネルトークでは把握しきれていないため、ご自身でのリサーチをお願いいたします!

例2) チャネルトークのフォーム機能でemailや電話番号などの情報を取得したらカスタマーを追加する方法

1.
顧客プロフィールにemailなどの情報が入っているときのみフィルタリング
【前提知識☕️
チャネルトークのフォーム機能にて顧客情報が追加されると、Refer User Profile EmailRefer User Profile Mobile Number などのプロフィール情報が送られるようになります
【設定方法
Refer User Profile Email が存在する場合
もしくは
Refer User Profile Mobile Number が存在する場合
をフィルタリング
2. Find or Create CustomerやContactなどのアクションで検索しましょう。検索結果がない場合は、新規でCreateするようにしましょう
Find or Create Customer in Shopify
Find or Create Contact in Hubspot
などのアクションを使いましょう
3. 2.にて検索結果がある場合は、最新情報にUpdateしましょう
Update Customer in Shopify
Update Contact in Hubspot
などのアクションを活用しましょう

例3) チャットをチケットに追加して、ステータス管理

1.
ステータス管理に便利なチャットのみフィルタリング
【前提知識☕️
チャネルトークではuserChatmessage の2種類のイベントを連携できるが、含まれるデータが異なるため、それぞれのZapを作成(計2つのZap)して連携をするとわかりやすい
チャネルトークでは、チャットのステータスとして以下のように管理します
unassigned :担当者なし
assigned :担当者あり
holding :保留中
solved :終了リクエスト済み
closed :終了済み
trash:削除済み
ステータス管理には必要ないbotが実際の送ったメッセージ(「保留にしました」などのlog以外)は除外する
接客チャット中のみ連携するため、State プロパティがあるときだけ連携する
【設定方法
message TypeとuserChat Type でそれぞれのZapを作成していく
message Typeの場合、
Typemessage と等しい
Refers User Chat State が存在するときだけ
Entity Person Typeuser と等しい
→ これにより接客チャットが始まってからのuserからのメッセージは全て受け付ける
もしくは、
Typemessage と等しい
Refers User Chat State が存在するときだけ
Entity Log Action が存在するときだけ
→ これにより接客チャットが始まってからのlogメッセージは全て受け付ける
userChat Typeの場合、Type
Entity Message Person Typebot と等しくない
TypeuserChat と同じ
Entity State が存在するときだけ
→ これにより接客チャットが始まってからのuserChat Typeのイベントは全て受け付ける
message typeの場合
userChat typeの場合
2. Code by Zapierを使って、チャネルトークとプラットフォームのステータスIDをマッチング
【前提知識☕️
チャネルトークで提供するステータス(unassigned assigned holding solved closed trash )とプラットフォームで提供するステージIDが異なるため一致させる必要があります
【設定方法
Code by Zapierをアクションで追加し、Run Javascriptを選択する
Input Dataに
一つ目の入力欄に stateと入力
二つの目の入力欄は、
message Typeの場合、Refers User Chat State
userChat Typeの場合、Entity State
コードは以下のように記入する
コードサンプル
3. すでに該当の問い合わせのチケットが存在するか検索してObject IDを取得する、なければチケットをCreate(作成する)
【前提知識☕️
Find Ticket アクション(hubspotの場合、Find Ticket in Hubspotアクション)などを活用するのがおすすめ
Find(検索)結果がある場合は、プラットフォーム側のチケットのIDであるObject IDを取得でき、次のアクションでこのObject IDに対してUpdate(更新)ができる
Find(検索)結果がない場合に、Create Ticketをしてくれるオプション設定があるためこれを利用する
プラットフォーム側でチャネルトークの Chat Id を連携するためのプロパティをカスタム追加しておくことで、重複なく正確にチケットの追加と更新ができます
チャネルトーク以外のプラットフォームのアクションは、該当プラットフォームのガイドやサポートチームに問い合わせください。チャネルトークでは全てを把握しておりません
【設定方法
プラットフォームにchat_idなどのプロパティを追加しておきます(追加方法はプラットフォーム側のガイドやサポートチームにお問い合わせください)
Find(検索)する際は、プラットフォームにカスタム追加したchat_id プロパティとチャネルトークのChat Id が一致するチケットを探します
message Typeの場合、
userChat Typeの場合、
Find(検索結果)がない場合に、チケットをCreateするかというオプションをオンにしてください
Createする場合の設定は以下のようにする
message Typeの場合、
userChat Typeの場合、
4. 検索したチケットがある場合、最新のステータスに更新する
【前提知識☕️
3. で検索結果があり、Object IDが取得できたら、このObject ID のチケットに対してUpdate(更新)をかけられる
2. でチャネルトークのState とマッチングさせたステージIDをUpdate(更新)する
【設定方法
以下のように設定しましょう
ZapierのProfessional以上を使っている場合、処理が遅れたり失敗するとZap Historyページにて、waiting(Scheduled)ステータスになり、AUTOPLAY(一定時間待機後に自動で再実行)がされますが、上記のようにステータスの変更を連携したい場合、順番が狂ってしまうためオフにしておくのをおすすめします。 もしくは、遅れがちな処理の間にDelay by Zapierを噛ませて、待機してから実行するのも方法かもしれません
このほかZapierを使って、担当者idや顧客のプロフィール情報など様々な連携ができます。 ただし、異なるプラットフォームを繋げるため上記連携のように、チャットリンクと顧客名、最初のメッセージ(本文)のみなどなるべくシンプルに連携されるのをおすすめします。 チャネルトークがwebhookから提供している情報をほかにも見たい場合は、こちらをご覧ください