見出し画像

非プログラマに挑戦してみてほしいお手軽自動化 Web システム?の作成(Microsoft Forms + Power Automate 版)

(かなり前ではあるけれども)以前、Power Apps ネタを書いたのですが、自分が思っていたよりも好評だったので、手軽に使える何かの方がウケが良いのかも、ということで今回は簡単な事務仕事で使える Web システムっぽいものでも作ってみることにします。テーマとしては「自動化に使えるもの」、です。
あと、一応技術レベルはプログラマ以外の人でも使えるように書いてるつもりなので、実際に役に立った時など、何かコメントでも寄せてもらえると色々と励みになります。

目指したい自動処理

さて、自動化は Power Automate のクラウドのものを使用しますが、自動化では定番の「メール受信によるトリガー」は使いません。
動作するタイミングが個人的にあまり好みではなかったりして…
これは何度か自動化に使おうと試みた上での感想です。

メールの受信トリガーが何故に気に入らないか、というとそのタイミングにあります(この辺り自分の使い方が悪いのであれば申し訳無いのですが…)。よくあるメール受信のトリガーですが、「メールサーバーに届いたタイミング」ではなく、「自分がチェックしてサーバーに届いていることが分かったタイミング」だったりします。つまり、下の図みたいな感じ。

メール受信トリガーによる残念な自動化

で、そんな時に使える代替手段として
Microsoft Forms を挙げてみます。
これの何が良いのかと言うと、
・簡単な入力(選択肢、テキスト入力)を「社内外問わず不特定多数の人が」操作可能な Web 画面を用意出来る。
・入力フォームに従って入力するので、データ形式が安定する
・相手が回答し終えたタイミングで処理を蹴ることが出来る(たとえ自分のパソコンの電源が入ってなくても、だ !)
これらの点があるので自分は Microsoft Forms をちょっとだけ見直しました。
ある程度の簡単な入力なら自分でプログムを作成したり、サーバー立てたりしなくても、社外の人も含めてインターネット上からアクセス出来るシステムの入口を用意出来るのです。
※ この辺り Google Form でも出来そうなので、気が向いたらやります

さて、では実際に簡単な例ではありますが、作ってみましょう。
例題としては「顧客から簡単な注文や問い合わせがあり、そのフィードバックを自動化する」とします。

ここで強調しておきたい前提条件として
・顧客は今回のシステムを使うことが出来る特別なアカウントを持っている必要がなく、誰でも Web から入力が出来る
ということ。
流石にインターネット禁止されてる顧客の場合はダメですが、顧客専用のアカウントとか作らなくてもシステムを使えるのは良いと思います。

と、そうこう言ってる内に Microsoft Forms を使ってフォームを作ってしまいました。
フォームの作り方とかは特に説明しませんが、下の図の下線を引いた URL の「id=…」と出ている部分の < フォームのID > は後から使用する要素なので作成したフォームの URL からコピー出来ることを覚えておいてください。
フォームの方はこれで一旦完了です。

適当なフォーム

次に Power Automate の方です。
こちらが本命なのでゆっくり進めます。
今回は「自動化したクラウドフロー」を使います。
クラウドフローはインターネット上で起きたことをトリガーに、インターネット上の作業を自動化できます。

自動化したクラウドフローを作ります

ここでトリガー(自動処理のきっかけとなる出来事)は Microsoft Forms の「新しい応答が送信されるとき」にします。これを使うとフォームに回答が登録された時に、自動処理のスイッチが入る訳ですね。

フローの名前は適当に決めてしまいます

「フォームID」には少し前の部分で説明した URL からコピーした ID を入力します。
※ URL 全部を貼り付けるのではなく、「一部」であることに注意
「カスタム値の入力」にすれば ID を貼り付けられると思います。
またこの時、新しいステップを追加して「応答の詳細を取得する」のブロックを追加しておくと、回答された内容を読み取ることが出来ます。
「応答ID」というのがよく分からないかもしれませんが、動的コンテンツから選べると思うので、そちらを指定しておきましょう(フローを開始する一番最初のトリガーの時にこの応答 ID が取得出来ています = 最新の回答)。

回答された内容を直後に取得

次に今回はとりあえずメールで通知を送ることにします。
メールはトリガーにするには扱いづらいと前述しましたが、アクションとして自動処理の最後の通知などの意味合いで使うのは割と分かりやすいと思います。

Forms の詳細を取得するブロックを追加していると動的なコンテンツから回答内容を選べるようになってるので、メールの本文などに入れるのも良いでしょう。
基本の流れは以上なので、フローは保存しておきます。

これで大まかには完成

では、動作のテストを行ってみましょう。

Microsoft Forms 上で回答を送信すると、フローに設定したメールアドレスに対してメールが届くかと思います。
メール本文に回答した内容が入っていることも確認したら完成です。

メールが届いた

Microsoft Forms は主にアンケートを取ったりするツールですが、たとえば、商品の発注用のフォームを作成して、送信された際に関係各所にメールが飛ぶようにするなど自動処理を入れておくことで、非常に便利に使えるかと思います。

上手く活用出来れば、システム開発会社に依頼しなくても、インターネットから指示を送ることの出来るシステムが作成出来る訳ですね。

入力された内容を読み取って処理を変えても面白い

ここまでお読みいただき、ありがとうございました。

さて、今回のオマケですが、ここから更に「簡単なユーザー認証機能」を付けることにします。
と言っても、正確には Web アプリでよくある認証ではありませんが、今のままだとどこの誰がフォームに入力したのか分かりませんし、名前を利用者が入力するにしても別人のふりをすることも出来てしまうので、そうしたイタズラがしづらい仕組みを入れてみます。

簡単かつ実用的な、コストパフォーマンスの良い内容になっていると思いますのでよろしければご覧ください。


ここから先は

1,653字 / 6画像

¥ 500

日常が少しでも良くなるように工夫したこと、アイディアなどを書き留めていこうと思います。 もしよろしければサポートをお願いします。