Nocodeツールの代表格として、最近時折名前を聞くようになったZapier(ザピアー)。
とはいえ、具体的にどういうことができるのか、どういうメリットがあるのかについて具体的に語られた記事は意外と探しにくいです。
筆者・とうせの本業はとあるIT企業でプロダクトマネージャー(PdM)をしています。webディレクターと名乗っていた時期を含めると、業務経験は通算で10年ほどです。ソーシャルゲームからキャリアを始めたのですが、現在は各種webサービス・アプリサービスの経験もあるので「ゲームから●●まで何でもやる」状態になっています。
去る2021年8月11日にご縁がありまして、NocodeCampさんのイベントで登壇させていただきました。このイベントでは「PdMが教える!現場で使えるZapier講座」と題して、自動化に向いている手順の見つけ方や、Zapを作るときに陥りがちな罠についていくつか解説しました。
このイベント中に、うっかり私が「IT企業の業務なら8割効率化できますね!」と大上段で回答してしまったので、その説明をどこかでせねば……ということで、8割効率化できる理由について掘り下げた解説をします。
そうなんです、決して放言したわけじゃないんです。
企画系PdMはなぜZapier使いになったのか
端的にいうと、非エンジニアでも手順が直感的にわかりやすいからです。
同種の業務効率化ツールと言えば、古くはIFTTT(イフト)が人気だった時期もあります。
夫婦で情報共有用にSlackを運用するのが便利という話を聞き、当時の会社ではSlack未対応だったので、Slackに慣れる目的で夫婦Slackを始めました。ゆくゆくはそこでbot飼ってみたいな~などと思っていたこともあり、私もIFTTTを試しに使ってみようとしたことがあります。
しかし……夫婦Slackの場合、「運用上自動化しないと困る」ネタがそこまでなかったのでした。
最終的には口頭で話せばどうにかなり、Slackのチャンネルとリアクションで用が足りてしまったのでIFTTTを勉強する必然性がなく、そのままになっていたのです。
そうこうしているうちに、業務時間外で個人で色々サービス作ったりして遊びたいなぁ、と思い始めたのがおよそ2年前くらいなのですが、その頃ちょうどクラウド・GUIベースで実用に耐えうるNocodeツールが出始めて、日本語での紹介記事が出てきたタイミングだったので、物は試しと使ってみることにしたのです。
もともと、業務効率化や自動化(のディレクション)は得意分野なので、業務経験や知識がそのまま使えそう!と思ったのもZapierを選んだ理由の一つでしたね。そして、Zapierの「ありものをつなげてプロダクトのようにする」という発想が個人的に好きです。その方が効率よくMVP検証できますし、捨てるものも最小限になりますからね!
実はプロダクトを作る前に試したほうがいいことって結構あるんですよ。これは書くと長くなるので、別の機会にお話します。
「8割効率化できる」と言い切った根拠
IT企業の業務で、普段使っているツールを書き出すとわかります。
- GoogleWorkspace(Gmail・Googleカレンダーも含みます)
- Slack/Chatwork……チャットツール
- Google Meet/Zoom……会議ツール
- Salesforce……CRM
- JIRA/Asana……タスク管理
- Twitter/Instagram……SNS
- Confluence/Notion……ドキュメント管理
IT企業にお勤めの方であれば馴染みがありすぎて首がもげる、これらのツールは全てZapier対応です。
つまり、IT企業で普段使っている外部ツールであれば、業務フローさえ整理できれば全て、Zapierでの自動化の対象に入るのです。
少なくとも、メールはGmailを使っているようであれば、Gmailで対応している範囲は自動化できるということです。
つづいて、具体的なシナリオ例を設定して、ここまでZapierで組めるよ!という解説をしていきます。
効率化例:ミーティングの設定
シナリオ例
関係者のGoogleカレンダーを確認して、空き時間を見て日程を決めています。
ミーティング設定時は、カレンダーでzoomURLを生成しておいて、アジェンダとしてgoogleドキュメントを添付しています。
ミーティング設定時には通知メールを送る設定にしているのですが、メールが多くて気づいてもらえません。
その対策として、ミーティング設定後関係者にメンションをつけてSlackで通知するようにしています。
この時、Slackのリマインダーも設定しないと怒る人がいるんですよね。ちょっと面倒です。
でも、リマインダー設定はコマンドがめんどくさくて、よく設定を忘れてしまってそのメンバーから怒られます。
手順を分解する
このシナリオは、こういう感じの手順で書き下せます。
- Googleカレンダーで予定設定
- 日程調整
- zoomURL生成
- ドキュメント添付
- 確定時に「メールで通知」のオプションをオンにして確定(オプションは任意でOK)
- Slackでメンションをつけて通知
- Googleカレンダーの参加者と対応したslackアカウントに通知させたい
- SlackでGoogleカレンダーの予定の前にリマインダーを設定する
- Googleカレンダーの予定に対応した日時のリマインダーをセットしたい
この場合、私なら「Googleカレンダーで予定設定」はZapierで自動化しません。
というのも、「日程調整」~「ドキュメント添付」はGoogleカレンダー上で全て完結する機能であり(※zoomURL生成はGoogleカレンダー-Zoom間でアカウント連携すると使えます)、ミーティングの召集メンバー・状況・内容によって臨機応変な判断が求められるタスクだからです。
人によっては「メールで通知」も自動化すれば?という意見があるかもしれませんが、「埋もれる」のがわかっているものをさらに増やすのはあまり意味がありません。
そして、Zapierのタスク実行可能数も無限ではないので、出来る限り手数が少ない方がいいです。
一方、Slackでのメンション通知やリマインダー設定はZapierでの自動化・効率化の余地が十分にあります。Slackで通知すれば参加予定者に気づいてもらえるので、この設定はできれば忘れたくないタスクです。また、繰り返し、似た設定内容を別の方法で登録する、という作業はZapierのほうが得意です。Zapierなら絶対忘れませんからね!
Zapとして組むとたぶんこうなる
したがって、上記を踏まえると、下記のようなZapになります。
- トリガー:Googleカレンダーで日程作成時
- 条件を絞るトリガー(new events matching search)を使うと非instantになる。よほどのことがない限り、絞らない方が即時通知できてよい
- ただ、規模が大きな会社では絞らないと事故になるのでケースバイケース
- Slackで通知
- Googleカレンダーの参加者とある程度対応したチャンネルに通知させることはできそう
- 直接連携・対応は工夫が要りそう
- 「参加者のメールアドレス」は取得可能
- ZoomURLも連携可能
- Googleカレンダーの参加者とある程度対応したチャンネルに通知させることはできそう
- (分岐)「特定の参加者が存在するときのみ」
- Slackで「特定の参加者」に対してリマインダーを設定する
- Googleカレンダーの予定に対応した日時のリマインダーをセットしたい
- ただし、全員でなくていい
追加した分岐と、変更した要件は、Zapier上で連携できた項目をみて調整したものです。
当初の要件通りにつくるなら、個別に通知する必要がありますが、そこはGoogleカレンダーの本来の機能(メール送信)でもカバー可能なので、バランスを考えて機能を落としました。出来る限りシンプルに作った方がメンテナンスしやすいです。
また、分岐の追加は「具体的にリマインダー設定しないと怒る人が特定の人に限定されている」ことを踏まえて追加しました。状況によってはチャンネルでの通知でもよいでしょう。
Slackで通知すべきはまずは「予定を追加したこと」「日時」「参加するためのzoomURL」あたりで十分だと思います。
それでも目的が果たせなかった時はその時改めて対策を考えてZapを更新すればよく、状況を見て内容を微調整できるのもZapierの強みです。
Zapierの可能性は無限大!
他にもZapierで効率化できるものはまだまだあります。
「もっと詳しく聞いてみたい」「この場合はどうなのか知りたい」場合は、NocodeCampで一緒に頑張りましょう!