プログラミング不要!Googleフォーム→PDF作成→Slack配信 を自動化してみよう【Zapier】
今回は、2月に一般公開されたGoogleドキュメントのAPIを使って、PDF文書の作成から配信までを自動化してみたいと思います。
何をするか
外出先で何らかの調査をして、レポートを作成し、それをチームメンバーに共有する、という業務があるとします。
レポートは決められたテンプレートがあるので項目を埋めるだけ、
しかも、外出先でPCを開くのも面倒である、という状況です。
こういう場合、スマートフォンからフォーム形式で必要事項を入力するだけで、レポート作成と配信まで自動でやってくれると便利ですよね。
例として、飲食業に携わる仕事をしている方が、他社競合店の調査をするというケースを考えます。
実際に見に行ってみないと分からないことは多いですからね。
チーム内では、チャットツールとしてSlackを使っているとしましょう。
会社で実際に使っているという方も多いと思います。
ということで、こんな感じのワークフローを自動化してみます。
① スマホからGoogleフォームで調査項目を入力し、回答を送信
② Googleフォームに新しい回答があったら、その内容をGoogleドキュメントテンプレートの該当箇所に転記
③ 新しくGoogleドキュメントが生成されたら、Slackの指定したチャンネルにPDFファイルリンクを配信
1.Googleドキュメントでテンプレートを作る
レポートの完成イメージを作ってみました。
このタイトルの作成者とか店名とか、基本情報の訪問日やらURLやらの内容を、それぞれフォームの回答から引っ張ってきてやるというわけです。
可変にしたい箇所は、 それぞれ {{FieldName}} のような形式にして、
適当に付けた項目名を {{ }} で括るだけでOKです。
こんな感じになります。
変換後の文字サイズ・フォント・色などは、{{FieldName}} の書式がそのまま引き継がれます。
それから、生成されるドキュメントが保存される専用のフォルダもGoogle Driveに作っておきましょう。
まあ、細かいことは気にせず、とりあえず簡単なものを作って実際に試していきます。
2.Googleフォームを作る
Googleフォームの使い方については、もはや説明不要かと思います。
使ったことがない方は、各自で調べてみてください。
こんな感じで、競合店視察のチェックフォームを作っていきます。
氏名、店名、日付、利用人数、業態、お店のURLなどの基本情報のほかに、
感想や評価など必要なチェック項目を作っていきます。
それぞれの回答がドキュメントのレポートの項目に対応するようにします。
例えば、ドキュメントで利用人数の欄を「 {{number_member}}人 」とした場合、フォームの方は、「3人」ではなく「3」と数値で回答されるように作りましょう。
フォームが完成したら、回答がスプレッドシートに飛ぶようにしておきます。
「回答」タブを開いて、右上にある緑色のアイコンをクリック。
「新しいスプレッドシートを作成」にチェックを入れて「作成」をクリックすればOKです。
ここで、適当でいいので、フォームにひと通り回答して送信しておきます。
回答すると、スプレッドシートにその結果が追加されます。
Zapierの会員登録をする
さて、今回使うのは、Zapierというタスク自動化ツールです。
非プログラマーでも、コードを書かずに、日々の様々なタスクを自動化できる便利なサービスです。
一部機能制限はありますが、無料プランでも十分に使えます。
今回のワークフローは、無料プランでやれる範囲で作成します。
Zapierに似たツールだと、IFTTTが有名ですね。
IFTTTの方がより直感的に使えますが、Zapierの方が自由度が高いと思います。
ということで、Zapierのアカウントをお持ちでない方は、アカウントを作成してください。
GoogleアカウントでSign Upするのが楽です。
では、ここから自動ワークフローの作成をしていきます。
どんなタスクでも、基本的にトリガーとアクション、
つまり、「何をきっかけにして何をさせるか」を設定します。
3.フォーム回答→ドキュメント作成を自動化する
まず、Zapierにログインした状態のホーム画面で、トリガーとアクションをそれぞれ次のように選択します。
【トリガー】Gooleフォーム(Google Forms)で新しい回答がスプレッドシートに追加されたら(New Response in Spreadsheet)
【アクション】Googleドキュメント(Google Docs)でテンプレートから新しいドキュメントを作成する(Create Document from Template)
「Use Zap」を押すと、こんな画面になります。
ここで細かく条件を設定していきます。
「Choose Account」でGoogleアカウントを選択して、
「Customize Response」で、フォームの回答が集計されるスプレッドシートを選択します。
「CONTINUE」を押すと、正常に連携できるかテストをするか聞かれるので、「TEST & CONTINUE」をクリック。
数秒待ってテストが完了すると、Googleフォームの設定画面に緑のチェックマークが付きます。
スプレッドシートの方には接続完了のメッセージが追加されますが、
この行(下図の2行目)は削除してしまってOKです。
次に、Customize DocumentでGoogleドキュメントの設定をします。
テンプレートに設置したそれぞれの {{Field Name}} が、フォームのどの回答に対応するのかをひとつずつ選んでいきます。
まず、先ほど作っておいたドキュメントのテンプレート(Template Document)を選択。
次に、生成されるドキュメントの名前(New Document Name)ですが、「訪店日_視察レポート_店名(訪店者氏名)」となるようにしてみます。
右の+ボタンを押すとフォームの回答項目がドロップダウンで出てくるので、可変にしたい部分とテキストを適当に組み合わせていきます。
サンプルとしてテストの回答が表示されていますね。
次に新しいドキュメントが保存されるフォルダ(Folder for new Document)を指定する欄があります。
デフォルトだと「root」になっていますが、後のステップのことを考えて、ここでは予め作っておいた専用のフォルダを指定します。
残りは全て、テンプレートドキュメント内に設置したそれぞれの {{Field Name}} を、どの値に変換するかを指定する項目になります。
各欄の右の+ボタンを押すと、選択可能なフォームの回答項目が出てくるので、対応するものをひとつずつ選んでいくだけでOKです。
必要に応じて、ファイル名と同様に文字列を組み合わせることもできます。
ひと通り設定したら「CONTINUE」を押して、次の「TEST & CONTINUE」をクリックします。
「Test was successful!」と表示されれば、テストは成功です。
念のため、Google Driveの指定したフォルダに、設定どおりのドキュメントが生成されているか確認してみましょう。
正常にドキュメントが生成されていることが確認できたら、
Zapierに戻って「Done Editing」をクリックし、下部の「ON/OFF」ボタンをONにして完了です。
これで、次回からこのGooleフォームに回答すると、ドキュメントが自動的に生成される状態になりました。
無料版のZapierの場合、トリガーからアクションまで最大15分ほどかかることがありますので、動かしてみるときには頭に入れておいてください。
4.ドキュメント生成→Slack配信を自動化する
次は、「Google Driveの指定したフォルダに新しくファイルが追加されたらSlackの指定したチャンネルに投稿する」というワークフローを作成します。
Zapierのホーム画面で、
【トリガー】Google Drive で New File in Folder があったら
【アクション】Slack で Send Channel Message する
となるように選択して、「Use Zap」を押します。
言葉通りに直感的に選択するだけなので簡単ですね。
次の画面では、まずGoogleアカウント、ドライブ、フォルダを指定します。
「TEST & CONTINUE」ボタンで正常に接続できることが確認できたら、今度はSlackの設定です。
Choose Accountのところでドロップダウンを開き、すでにZapierとSlackの連携を設定済みであれば、そのアカウントを選択します。
未連携の方は、「+Add a New Account」をクリック。
別ウィンドウでAPI接続の許可を求められるので、連携したいSlackのワークスペースを選択して、接続を許可します。
そしたら、Customize Channel Messageで、まず配信したいチャンネルを選択。
次のMessage Textですが、今回は「競合店視察レポートが作成されました」という通知文とともに、ファイル名と生成されたドキュメントのPDFリンクを配信してみましょう。
この場合、下図のようになります。
他にも、ドキュメントのURLや作成日時などが追加できます。
こちらでPDFファイルに変換することなく、ドキュメントをPDFで配信できるのは便利ですね(Word形式のダウンロードURLも選択できるようです)。
このワークフローは、新規で作成されるファイルがドキュメントである必要はないので、スプレッドシートやその他の形式のファイルでも使うことができます。
残りは、全てオプション項目です。
Botとして投稿するか、Botの名前やアイコンはどうするかなど、説明を読みながら、必要があれば設定を変更して構いません。
Botの名前くらいは、分かりやすいように指定した方がいいですね。
あとは、これまで同様「CONTINUE」→「TEST & CONTINUE」をクリックし、Slackの方で正常に投稿されることが確認できたら完成です!
最後にZapをONにして、フォーム回答からSlack投稿まで自動化されるかどうか試してみましょう。
※ 無料版のZapierの場合、トリガーからアクションまで最大15分ほどかかるため、今回のように2つのZapを組み合わせた場合、最大で30分ほどかかると思います。
無料プランのZapierではマルチステップのZapを作成できないため、今回はこういった方法を紹介しました。
有料版をお使いの方は、先ほど作成したワークフローの3つ目のステップにSlack配信のタスクを追加すれば大丈夫です。
その方がシンプルで、挙動も速いです。
まとめ
MicrosoftのExcelやWordも便利ですが、他アプリケーションとの連携や複数人での共有を考えると、やはりGoogleのスプレッドシートやドキュメントは便利ですね。
Zapierも、はじめはとても難しそうなイメージがあるかもしれませんが、ある程度シンプルなフローであれば、直感的に設定できてしまいます。
使い方に慣れれば、仕事でも活用できる場面はたくさんあると思うので、ぜひとも試しにいろいろ作成してみてください。
【簡単にできるおすすめZap例】
・毎日12時に指定した内容のツイートをする(Schedule by Zapier → Twitter)
・お気に入りのクリエイターの新着noteが公開されたらメールに通知する(RSS by Zapier → Gmail)
・インスタに写真を投稿したらFacebookページにもポストする(Instagram → Facebook Pages)
今回のGoogleドキュメントのAPIは、レポート以外にも契約書類の作成など、使える場面は多そうです。
今回使ったAPIの詳細はこちらのブログも参考にしてください。
ちなみに、新しくビジネスを立ち上げられた起業家・個人事業主の方は、G Suite 登録すると非常に便利です。
こちらのプロモーションコードで初年度料金が20%オフになります。
Basic プラン:Y6KJ6G96CE99AMN
Business プラン:3C74AQHPQTVNTPX
以上、不明点等あれば、お気軽にコメントしてくださいませ。
▼こちらもオススメです▼
飲食店の開業を目指して準備をしています。バカな若者をちょっと応援したいと思った方、サポートお願いいたします。 スキ・コメント・SNSシェアだけでもとても嬉しいです。