やりたかった事
・お問い合わせ内容によって自動で業者へメール送れない?
⇒業者へ発注の自動化
・お問い合わせがあった事を担当へ転送
⇒クラウドソーシングサイトなどの運営に応用
①サービス利用者は運営サイトより出品者を探す
②気に入った出品者のサービスを購入・申し込み
③運営者側のお問合せ窓口へメールが届く
④条件分岐をして、サービス提供者へ購入・申し込みのメールを自動転送
みたいな流れが自動で出来ないの?と聞かれ考察してみました。
完成品
お問い合わせメールはwordpressのcontact form7を利用しています。
1.contact form7から送られた値をwebhookで受け取る
2.googleスプレッドシートに記録
3.チェックボックスの値によって、担当者のメールアドレスを代入
4.gmailを利用して、担当者へ自動転送メール
環境
・wordpress
・contact form7
・WP Webhooks – Contact Form 7 Integration
・Integromat
事前準備
wordpressサイトにお問い合わせフォームプラグインの定番conatct form7と
contact form7でwebhookが使えるようにする【WP Webhooks – Contact Form 7 Integration】をインストールします。
WP Webhooks – Contact Form 7 Integration
通常のお問い合わせフォーム設定にwebhookタブが追加されました。
Integromat設定
1.ユーザー登録
googleのアカウントなどでログインしておくと楽です。
3.【webhook】
webhookと検索をして、webhookを選択し【continue】
5.【Webhook name】入力
任意の名前を付けます。今回はcontact7-hookにしてみます。入力したらsaveを忘れずに
6.【URL発行】
以上でcontact form7とIntegrematの下準備は終了です。
Integrematとcontact form7を接続
1.wordpressのcontact form7の設定へ行き
Integrematで発行されたURLを入力します。
3.Integrematへ戻ると
設定したwebhookを利用して、2の手順でお問い合わせを行ったデータの受信が成功した事がわかります。okボタンをクリック。
4.【Add another module】でスプレッドシートと接続します。
5.接続するシートを選択
事前にgoogle driveにスプレッドシートを作成しておくと良いと思います。
・Connection ー 作成したシートのgoogleアカウント
・Mode ー Select Spreadsheet and sheet
・Spreadsheet ー 作成したスプレッドシートを選択
スプレッドシートの中のシートを選択してheadersで1行目を読み込みます。
まだ何も設定をしていないので、A列~からの情報を受け取っています。
6.Run once
Run onceを押した後、実際にお問い合わせをしてみてデータを送信する事を忘れないでください。
7.Integrematでcontact form7の情報を受け取った情報を元に
お問い合わせフォームには、メールを振り分けるフックとなるチェックボックスを追加しています。
また、contact form7で使える特殊タグから送信日時も取得してみました。
9.もう一度スプレッドシートアイコンをダブルクリックします。
シートの見出しと受け取ったデータをドラッグで紐づけます
10.もう一度【Run once】
Run onceを押した後、実際にお問い合わせをしてみてデータを送信する事を忘れないでください。
成功!
contact form7 ⇒ スプレッドシート
への自動化は成功しました。
この後は、受け取る値(今回はチェックボックスの値)を工夫して、値によって特定のメールアドレスへ自動転送する仕組みを構築していきます。
スプレッドシートを確認
せっかくなのでGASではなくIntegromatでメールの転送まで実装
spred sheet右側の+ボタンをクリックします。
switchで条件分岐
Toolの中に入っているswitchを利用して、担当者のメールアドレスを自動で割り振りします。
この使い方ですこし躓きました。。。
実は簡単で
・input ー 条件分岐したい項目を設定
・pattern ー inputの値が何だったらという条件を入力
・output ー 返す値を設定
patternの部分に、check[]==test1 と入力してしまっていて、outputが空の状態が長く続きました。
単純に、右側の値だけを入力すれば良かったと自己解決出来ました。
Gmailを選択
Send an email
toにoutputの値を代入
まとめ
一連の動作を終え、とても凄いことに気づきました。
スプレッドシートいらない!!