こんにちは、新卒2年目に突入しました。金丸です。
1年目として新卒研修の内容をメインに記事を書かせていただいていましたが、2年目最初の記事は少しレベルアップした技術者視点の記事を書いていきます。
1年目の自習タスクとして、PowerAutomateやAlteryxといったノーコードツールを使用して業務の自動化を検討し、0から自動化システムを構築しました。そこで得た知見を紹介したいと思います。
ツール導入に至った経緯
私の部署は事業部の社員が使用するシステムを開発・運用しており、システムを利用する社員からの問い合わせを受け付けていますが、その問い合わせ業務に関して、いくつかの課題がありました。
まず一つ目は、問い合わせ窓口が統一されていないことです。個別のチャットやメールなどから問い合わせを受け付けていたため、問い合わせ内容のチーム内共有にリアルタイム性が欠けていました。二つ目は、問い合わせ内容をRedmineを使用して進捗管理を行う際、問い合わせ内容を手動で登録しており、多くの工数が発生していたことです。この二つの課題を何とか自動化して、業務効率化を図りたいという要望があり、開発に至りました。
実現できたもの
PowerAutomateでまずは開発を進めました。PowerAutomateに関してはこちらの記事でも紹介されているのでぜひ参考にしてみてください。
PowerAutomateはノーコードツールのため、要件が固まっていればそれを実現してくれるツールを検索し、設定を書くことで、簡単に実行可能です。
今回は、問い合わせをFormsを使用して作成し、Formsで受信した問い合わせ内容をマクロミルで導入しているメールやチャットツールであるOutlook・Teams・Plannerでチーム内に共有する設定を行いました。Formsでの受信をトリガーに動くので、問い合わせを受け付けたと同時に自動でチーム内への共有が実現しました。
・・・と、ここまでは難なく実現できたのですが、問い合わせ内容を登録し、進捗を管理するために用いているRedmineというツールへの自動チケット登録に苦戦しました。
実際にはセキュリティ上の問題でPowerAutomateとRedmineを繋げることができなかったため、自動でチケット起票をするフェーズのみAlteryxを使用することになりました。
(参考元:https://qiita.com/t0tsukawa/items/03f7373665e734b3c7d7)
Alteryxとは、データ準備やデータ前処理、ブレンディング、分析、共有をワンストップで提供するETLツールです。
Alteryxでのフローは以下の通りです。
(1)SharePointをデータレイクとして、問合せ内容を読込
(2)データ型や改行を設定
(3)起票内容をJSON形式に変換し、REDMINE起票
(4)起票済み確認

フォーミュラツールというものを使用すると、JSON形式でsharepointで取得した問合せ内容を変数に格納して、JSONに埋め込むことができます。JSONの形式はこちら(リンク)を参考にフォーミュラツールに記述し、問合せ内容の変数を適切な場所に埋め込み、起票内容を整えます。
ここでハマったのが、改行の漏れです。JSON形式でうまくいったと思いきや、400エラー(BadRequest)がずっと続いてしまいました。問い合わせのタイトルの箇所(今回の場合Inquiry_Title)の改行に異常があり、この問題は「正規表現ツール」で解消できました。
以下のような設定をフォーミュラの前に追加します。

最後にダウンロードツールを使用して、Redmineと接続し、起票に成功しました。ダウンロードツールは、図の箇所のように設定して起票に成功しました。

実際に導入して、問合せ内容の共有がリアルタイムでチーム内に行き届くことによって、対応時間の短縮化、十分なコミュニケーションができています。一番の課題であったチケット起票の自動化に関しても実現できたことで業務効率が上がりました。
ツールを使用してみての感想・今後の課題
今回のプロジェクトで私は初めて、ノーコードツールに触れました。ノーコードツールの優れた点は、何より実現したいことを直感で操作できる点です。
裏で動いているのはコードなのですが、自分が操作するのはコードとして出来上がったツールなので、PowerAutomate上にあるテンプレートを参考にするなどして、実例の書かれたサイトを参考にフローを作成していくことができました。
フローチェッカーやテストメニューもあるので、わざわざ環境を変える必要もなく、簡単にテストができるのも取り組みやすい点でした。
PowerAutomateやAlteryxは目的に応じて様々なツールが用意されているため、漠然とした目的を明確にしていくことによって、必要なツールを識別し、フローを作成してテストするという流れで進めていくことができました。開発工程としてはプログラミングと変わらないのですが、コードを考えない点で開発が簡単にでき、エラー部分の箇所も詳しく教えてくれるので、バグの修正、さらに変更や機能追加も簡単です。
ただ、先ほども申したように裏で動いているのはコードなので、コードを読み取る力は最低限必要であり、コードを理解しているとより幅白い開発に使えるツールになると思います。
業務効率化はマクロミルの課題の一つでもあるので、今回の知見を糧に様々な業務を効率化できる一助になれたらと思います。まだまだノーコードツール初心者ですが、コードも勉強しながら使いこなしていけるよう、頑張っていきたいと思います!