ノーコードツール(PowerAutomate)で業務改善はできるか

はじめまして、マクロミルGlobal IT本部の黒木と申します。
今回の記事では、Microsoftのノーコードツールである「PowerAutomate」についてご紹介します。最近話題になることが多いノーコードツールですが、マクロミルでも業務自動化のツールとして期待が高まっており、実業務への活用を試みるプロジェクトなども始動しています。黒木自身そのプロジェクトに携わっており、その中で感じたPowerAutomateの特徴や、実際の活用例などについてご紹介していきます!

ノーコードツールとは?

そもそもノーコードツールとは、その名の通り、コードを記述することなく短時間で簡単にソフトウェア開発ができてしまう便利なツールです。できることはサービスによって様々で、例えば「Shopify」ではECサイトを簡単に作ることができたり、「yappli」ではスマートフォン向けアプリを開発することが可能です。

現在黒木が担当するプロジェクトでは、Microsoftの「PowerAutomate クラウドフロー」を主に利用しています。PowerAutomateでは、ツールとツールの情報連携をノーコードで自動化することで、業務効率化を図ることが可能です(※厳密にはローコードとしてExcel関数のような機能を利用することもあります)。例えば、電子メールで特定の件名のメールを受信したら、そのメール内容をTeamsに投稿する、といった連携フローをプログラミングなしで、ものの数分で構築することができてしまいます!

PowerAutomateでは、下記画像のようにコンソール上で、サービスごとに提供されている「トリガー」や「アクション」(処理内容)を組み合わせて、直感的な操作でフローを作成できます。また、Excelを読み込ませてその情報を後続の処理で利用する、といった便利な機能も備わっています。本来システム開発というと複数人&数カ月の単位で開発工程が組まれますが、シンプルな自動化であれば、専門的な知識がいらず、1人で且つ数分単位で実現できてしまうことが、ノーコードツールの最大の強みと言えるでしょう。

マクロミルでの活用例

実際に活用している例の1つとして、「納品日の自動リマインド」というものがあります。マクロミルでは案件運用者が、アンケート調査結果などの成果物をクライアント様へ約束した納品日に納品しています。この納品日を失念してしまっては当然大きな問題になりますので、担当者に「今日はこの案件が納品日なので忘れないでね」とTeamsにて自動でリマインドしています。

方法としてはシンプルです。細かい詳細は省きますが、まずExcelのアクション「表内に存在する行を一覧表示」を利用して、Excelで管理している表を読み込み、案件ごとに納品日と担当者名を取得しています。その後は「条件」(プログラミングでいうif文)を使い、納品日とフロー実行日が一致すれば、Teamsのアクション「チャットまたはチャネルでメッセージを投稿する」で、担当者にTeamsで通知する、という流れです(フローは毎日定期実行)。自動リマインドを活用することで、毎日各担当者がどの案件を納品すべきなのか確認する手間を減らすことができます。その上、業務を効率化するだけでなく、システム化することにより抜け漏れなくリマインドができることも、トラブルを抑制するという意味で大きなメリットです。

※ここからは、PowerAutomateのよりテクニック的な話になりますので、「まだそこまで聞いても分からないよ!」という方は、次のトピックまで飛んでいただければ幸いです。

さて、PowerAutomateの特徴ですが、できることが明確に定められている分、その枠外のことを実現しようとすると難易度が高くなっていきます。例えば、Teamsで特定のチャンネルをメンションして、チャンネル内のメンバー全員へ投稿をしたい場合でも、PowerAutomateに「チャンネルをメンションする」という機能が存在しないため、実現ハードルが高くなります。

 1行目のようにメンションしたいができない

そのような場合でも、諦めるのはまだ早いかもしれません。今回のプロジェクトでは、下記画像のように、チャンネルのメンバー全員へ個別にメンションをつけることで、実質的に、全員への通知付き投稿を実現しています。

その方法ですが、まず送信したいグループの詳細を「Officeグループメンバーの一覧表示」にて取得しています。ここにメンバー全員のアドレスが含まれているので、「Apply to each」の処理を使ってメンバーのアドレスごとに後続の処理を実行します(「Apply to each」はプログラミングでいうfor each文です)。後続の処理ですが、「ユーザーの@メンショントークンを取得する」という機能を利用し、Teamsメンションを作成します。作成された値は、「<at>〇〇〇@text.com</at>」という文字列になっています。この値をメンバーごとに作成して別の配列に要素として追加していきます。最後に、作成された配列の各値を半角空白スペースで結合することで、複数人をTeamsでメンションするための文字列を作成することができました。

導入に至るポイント

実際の業務で活用していく上では、上記で紹介したように、「機能が提供されていないように見えても、使い方次第では実現できる」ということが重要な点だと考えています。ツール上の限界を頻繁に意識しなくてはいけない、というのがノーコードツールならではの制約ですが、考え方を変えたり、時には現行の業務フローを適宜調整したりすることで、最終的には自動化のメリットを創出する事ができるかもしれません。

また、実業務への適用の仕方については、「システム部門と運用部門が密接に関わりながら細かい調整を進めていく」ことが、よりスピーディに適用していく上で重要な点となりました。短時間で作れて修正もすぐできる特徴を活かして、実物ベースで具体的に、細かく調整を重ねていったことが、今回のプロジェクトでは良い開発方法となりました。

ノーコードツールを実際の業務に100%適用していくにはまだまだ多くの課題があると思います。しかし、PowerAutomateを含め様々なツールがここ最近急激に発展して便利な機能を提供してくれていますので、その可能性を最大限に引き出して、今後も業務改善を進めていきたいと思います!