MarketoとChatworkを連携して、営業連携を効率化する方法。

2022.07.08 | Marketo活用

Marketo Engage(以下はMarketoと表記)などのMAツールを活用する際に重要なのが、タイムリーなフォローです。しかしEメールアドレスへの通知だけでは、問い合わせに即座に対応できない場合もあります。そんなときはChatworkなどのチャットツールと連携させるのがおススメです。非エンジニアの方でもスムーズに設定できるよう、よくあるトラブルもまとめて解説しますので、お役立てください。

◆目次
1. MarketoとChatworkではいろいろな連携ができる!
2. 実装手順:Marketoの問い合わせフォーム入力をChatworkに通知する
3. 実装手順:メッセージだけでなくタスクセットも行う
4. MarketoとChatwork連携における注意点
5. まとめ

1.MarketoとChatworkではいろいろな連携ができる!

MarketoとChatworkを連携させるとさまざまな処理が自動でできます。連携にはAPIとWebhookという仕組みを使います。

APIはWebアプリケーション同士が情報をやり取りするためのルールです。Webhookは情報の登録や更新といった、行動をトリガーにして、他のアプリケーションを操作する仕組みです。

①メッセージを通知する
Marketoの問い合わせフォームに入力があった際に、Chatworkのグループにメッセージを飛ばす、といったことが可能です。問い合わせ対応や営業フォロー管理などに活用できます。


how-to-use-marketo-chatwork-integration_01


②タスクを設定する
メッセージを飛ばすだけでなく、グループに参加している特定のユーザーに対しタスクをセットすることも可能です。たとえば、問合せ対応をサポート担当に期限付きでセットする、といった具合です。


how-to-use-marketo-chatwork-integration_02


③そのほかにもこんなことが可能!
ChatworkではAPI連携することで、他にも下記のようなことが可能です。

・グループチャットを新しく作成する
・チャットのメッセージを更新する
・チャットにファイルをアップロードする

参考・出典:APIドキュメント
https://developer.chatwork.com/ja/endpoint_rooms.html

2. 実装手順:Marketoの問い合わせフォーム入力をChatworkに通知する

Marketoの問い合わせフォームに入力があった際に、Chatworkのグループへメッセージを飛ばす方法について解説します。

①Chatworkでの準備:APIトークンの取得
まずはChatworkで「APIトークン」というものを取得します。APIトークンとは、APIを識別するための情報です。

chartwork-apitokenプロフィールの「サービス連携」から「API Token」を確認しメモしておきましょう。APIトークンの発行にはパスワードが必要です。


②MarketoでWebhookの設定を行う
次にMarketo側でWebhookの設定を行いましょう。ウェブフック名と詳細は自由に設定いただいてOKです。ただし後から見てわかりやすいものにしておきましょう。ポイントは下記の通りです。

marketowebhook-chatwork

・URLを設定
URLのルールは下記の通りです。「room_id」にメッセージを送るグループチャットのルームIDを設定します。
https://api.chatwork.com/v2/rooms/{room_id}/messages
ルームIDは「グループチャットの設定」から確認できます。

chatwork-roomid

・リクエストタイプは「POST」を選ぶ
※POSTとは?
POSTは入力情報を送信するための方法です。主に情報を追加したいときに用いられます。情報を「更新」する際には「PUT」を選択しましょう。

・テンプレートの記述方法はChatworkのドキュメントを参考に
テンプレートが具体的な指示内容になります。こちらはChatworkの公式ドキュメントを参考にするとよいでしょう。メッセージを送る際の記述方法は下記の通りです。

body=問い合わせがありました&self_unread=0



「body=」の後にメッセージ内容を記載しましょう。「&self_unread=0」の「0」を「1」にすると未読状態にできます。
chatwork-unread参考・出典:APIドキュメント
https://developer.chatwork.com/ja/endpoint_rooms.html#POST-rooms-room_id-messages

・リクエスト トークンのエンコードは「フォーム/URL」を選ぶ
・応答タイプは「JSON」を選ぶ

※JSONとは?
JSONは「JavaScript Object Notation」の頭文字を取ったものです。シンプルにいうとプログラム間でデータをやり取りするための書式です。


・カスタムヘッダを設定する
Webhookのカスタムヘッダを設定します。
「ヘッダ」には「X-chatworkToken」、「値」には先ほどメモしたAPIトークンを設定します。

marketo-webhook-customheader

(1)メッセージのカスタマイズは?
Marketoの「マイトークン」を使えば会社名や氏名などをメッセージの中に組み込めます。たとえば下記のようになります。

body=問い合わせがありました。/n氏名:/n会社名&self_unread=1

chatwork-message1

(2)改行について
メッセージを改行して見やすくするにはバックスラッシュ「/n」を使います。

body=問い合わせがありました。/n氏名:/n会社名&self_unread=1

chatwork-message2

参考・出典:JSONで改行を含むテキストデータをハンドリングする
https://hodalog.com/how-to-handle-linebreaks-in-json/

参考・出典:記号の「バックスラッシュ(\)」をキーボードから入力する方法を教えてください。
https://www.fmworld.net/cs/azbyclub/qanavi/jsp/qacontents.jsp?PID=7507-4556

(3)複数のルームへ同時に通知するには?
メッセージを複数のルームへ同時に通知したいという場合もあるかもしれません。その場合は、ルームごとにWebhookを設定し、後述するスマートキャンペーンの設定時に同時に走らせます。


③Marketo上でスマートキャンペーンの設定を行う
スマートキャンペーンとはMarketoの核となる機能の一つです。「スマートリスト」「フロー」「スケジュール」の3つから構成されます。下図のとおり、「スマートリスト」できっかけや対象を選択、「フロー」で処理を指定するという流れです。Webhookはこの「フロー」で設定します。最後に「スケジュール」で処理のタイミングを指定します。

marketo-flow参考・出典:スマートキャンペーンについて
https://experienceleague.adobe.com/docs/marketo/using/product-docs/core-marketo-concepts/smart-campaigns/understanding-smart-campaigns.html?lang=ja

ステップは下記の通りです。
例:お問い合わせフォームから問い合わせがあった場合に、Chatworkに通知をする場合

・新規スマートキャンペーンを作成する
まずは新しいスマートキャンペーンを作成します。

・「フォームの入力」のトリガーを選択
今回は「お問い合わせフォームの入力」がきっかけですので、スマートリストは、トリガーから「フォームの入力」を選びます。その後、該当のフォームを選択します。
marketo-smartcampaign-trigger

・「ウェブフックを呼び出し」のフローを選択
フローのタブに移動し、先ほど作成したWebhook「Chatworkメッセージ連携」を選択します。marketo-smartcampaign-flow

・「スケジュール」でキャンペーンを有効化
スケジュールタブでキャンペーンを有効化しましょう。これで設定はOKです。

marketo-smartcampaign-on

3.実装手順:メッセージだけでなくタスクセットも行う

MarketoとChatworkを連携させると、メッセージを通知するだけでなくタスクの登録もできます。具体的に見ていきましょう。

①Chatworkでの準備:アカウントIDの確認
MarketoからChatworkのメンバーにタスクを割り当てるためには、誰かを特定しなければなりません。その際に用いるのが「アカウントID」です。アカウントIDは「環境設定」→「Chatworkについて」から確認できます。「チャットワークID」とな異なるので注意しましょう。

②MarketoでWebhookの設定を行う
Webhookの設定はメッセージの通知と同じ流れで行います。

marketowebhook-chatwork2
・URLを設定
URLのルールは下記の通りです。「room_id」にメッセージを送るグループチャットのルームIDを設定します。
https://api.chatwork.com/v2/rooms/{room_id}/tasks

・リクエストタイプは「POST」を選ぶ

・テンプレートの記述方法はChatworkのドキュメントを参考に下記の通り設定します。

body=営業担当を割り当ててください&to_ids=○○○&limit=○○○&limit_type=time



「body=」の後にタスクの内容を設定します。期限については公式ドキュメントを見ると「Unix timeで入力してください」とあります。「Unix time」とはコンピューターで時間を処理するときに使うデータ形式です。下記サイトで日付からUnix timeを生成できます。

・リクエスト トークンのエンコードは「フォーム/URL」を選ぶ

・応答タイプは「JSON」を選ぶ

・カスタムヘッダを設定する
Webhookのカスタムヘッダを設定します。
「ヘッダ」には「X-chatworkToken」、「値」には先ほどメモしたAPIトークンを設定します。

marketo-webhook-customheader

③Marketo上でスマートキャンペーンの設定を行う
Webhookの設定が完了したら、Marketo上でスマートキャンペーンの設定を行いましょう。

・新規スマートキャンペーンを作成する
まずは新しいスマートキャンペーンを作成します。

・「フォームの入力」のトリガーを選択
今回は「お問い合わせフォームの入力」がきっかけですので、スマートリストは、トリガーから「フォームの入力」を選びます。その後、該当のフォームを選択します。
marketo-smartcampaign-trigger

・「ウェブフックを呼び出し」のフローを選択
フローのタブに移動し、先ほど作成したWebhook「Chatwork連携タスクの追加」を選択します。marketo-smartcampaign-flow2

・「スケジュール」でキャンペーンを有効化
スケジュールタブでキャンペーンを有効化しましょう。これで設定はOKです。

marketo-smartcampaign-on

お問い合わせがあった際に、下記のようにChatworkのタスクを追加できます。

chatwork-task-1

4. MarketoとChatwork連携における注意点

MarketoとChatworkを連携する際によくあるトラブルについて解説します。

①APIトークン発行者をルームに入れておく必要がある
意外と盲点なのが、「APIトークン発行者」をグループチャットのルームに参加させておく必要がある点です。APIトークンを発行するのは情シス担当であることも少なくありません。その場合、情シス担当がルームに入っていないとメッセージ等を送れないのです。

②ChatworkIDとアカウントIDは別物
すでに解説したとおり、タスクを割り振る際には「アカウントID」を使用します。普段よく使用する「チャットワークID」とは別物なので注意しましょう。「アカウントID」は「環境設定」から確認できます。

chatwork-accountid

5. まとめ

MarketoとChatworkを連携することで、タイムリーな対応を実現できます。対応漏れはもちろんのこと、情報共有が効率的に行えますので、ぜひ活用してみてください。

BrizzyではMarketoをはじめとしたMAの運用代行や導入支援を行っていますので、お困りごとがあった際には、お気軽にご相談ください。

 

Brizzyはマーケティングの実務を支援します。

Lead Brizzy
マーケティングオートメーション導入・運用支援
Marketo Engage連携 Kintoneプラグイン

お問い合わせ
ezgif.com-gif-maker (15)