• MS365tips
  • PowerApps
  • PowerAutomate
  • お客様事例

PowerApps開発事例:営業事務への依頼を入力しTeams/Outlookへ通知するアプリ

弊社で開発支援をおこなった営業事務への依頼アプリについて、紹介します。

—この記事の監修者—

ヒョウノモトハル

  • 1979年神奈川県生まれ
  • 大学卒業後、モラトリアム期間を経て会社員となる
  • 経理・総務・管理といったバックオフィスでの経験を積み、2016年から会社の情報システム部門へ転属
  • その後2021年にキャリアの経験を活かし、Microsoft365関連の講座でUdemy講師としてデビュー
  • 2023年現在、受講生5万人を抱えるベストセラー講師となる

Microsoft365の運用にお困りではありませんか?

株式会社uniteでは、Microsoft365のすべてのアプリを対象に、法人様向けの運用サポートを行っています。

  • 社内メール⇒teamsへの円滑な移行と利用率UP施策
  • SharePointのドキュメントライブラリを活用したファイル管理
  • ExcelやAccessで作成された既存の社内ツールをPowerAppsへリニューアル
  • 手作業で行っている業務をPowerAutomateで自動化

等、MS365を利用した業務改善のお手伝いをさせて頂いております。
ご予算、サポート範囲については完全オーダーメードでサポート対応をしておりますので、お気軽にご相談ください。

開発したシステムの概要

営業やサービスマンから営業事務への事務処理依頼を一元管理するシステム

現状と理想(As is/To be)

現状(As is)

営業やサービスマンから営業事務に依頼を行う際、依頼方法がバラバラ(電話、Teams、Outlookなど)。依頼は一元管理されていない。

依頼方法ごとに完了時のリアクションも異なっている。(メールであれば返信、Teamsであればスタンプなど)

結果、過去の依頼がどうなっているかの確認・依頼の処理等に時間がかかってしまっている。なお、依頼に対する対応自体は、基幹システムやSalesforce等の別システム上で行っている。

理想(To be)

依頼をすべてPower Apps経由に統一し、データの一元管理を行う。

開発したアプリの全体像

開発したアプリの全体像は以下です。

(アプリごとの役割分担)

アプリ名役割詳細
Power Apps画面申請入力・一覧表示
SharePointデータベース申請データの管理
Power Automateアプリ間連携申請データの更新を検知しTeams/Outlookと連携
Teams/Outlook通知申請・申請結果を通知

全体のフロー

  1. 営業はPower Appsで申請内容を入力する
  2. 申請内容はSharePointに更新される
  3. Power AutomateがSharePointへの更新を検知し、営業事務にOutlook&Teamsへ通知が飛ぶ
  4. 営業事務は申請内容に対応し、完了もしくは再申請のステータスを更新する
  5. 申請結果を営業にメールで送信する

Power Appsの概要

Power Appsの処理は大きく2つです。

  1. 新規依頼
  2. 進捗確認のための依頼一覧

(TOP画面)

(依頼内容ごとに処理が分かれている)

新規依頼画面

依頼内容によって処理を分けていますが、ここではサンプル送付の依頼画面で解説します。
入力項目や更新先のSharePointが異なるだけで、ほかの処理もフローは同じです。

(サンプル送付の新規依頼画面)

サンプル送付時に必要な情報を入力項目として配置しています。

専用の画面があることで、必要な項目を漏れなく入力できます。
従来のメールや電話の依頼時にありがちな、必要な情報の伝達漏れを防ぐことができます。

進捗確認画面

依頼を一覧で確認できる画面です。

こちらも依頼内容によって画面を分けているため、サンプル送付依頼の一覧画面を例として紹介します。

  • 希望納期
  • 担当者
  • ステータス

の3つで絞り込みが行えます。

Power Automateの概要

フローは大きく2つです。

  1. 新規依頼作成時のフロー
  2. 貯まったデータを定期的に削除するフロー

新規依頼作成時のフロー

Power Appsから新規の依頼が入力された場合に実行されるフローです。

大まかな流れは、以下となっています。

  1. (トリガー)該当のSharePointに項目が作成されたとき*
  2. 複数添付ファイルを添付できるように処理*後述
  3. Microsoft上の営業事務グループ全員のアドレスを取得し、全員宛に通知を送信できるように処理*後述
  4. 営業事務グループ全員へ通知を送信し、承認を待機
  5. 承認/非承認時にステータスを更新&依頼を行った営業にメールを送信

*Power Appsから新規依頼時、SharePointに項目を作成します。「SharePointに項目が作成されたとき」をトリガーとすることで、新規依頼時に、Power Automateのフローが走るようにしています。

貯まったデータを定期的に削除するフロー

データが増えすぎないよう、1週間以上前の「承認済み」データを、定期的に削除するフローです。

大まかな流れ

  1. (トリガー)毎週月曜日に
  2. 1週間前の時間を習得し、日本時間に変換
  3. 依頼データを、「ステータスが承認でかつ、作成日時と更新日時が一週間以上前」のデータに絞り込み
  4. 対象のデータを削除

このフローは、Power Appsの「委任に関する警告」への対応です。
「委任に関する警告」とは、データが増えすぎた場合に、一部のデータしか処理の対象にならない可能性があることに対する警告のこと。
「委任に関する警告」について、詳しくは以下の記事を参照ください。

開発上の工夫点

開発において工夫した点は、以下3点です。

1.複数ファイルの添付&メール送信

Power Appsの新規依頼時には、複数ファイルを添付できます。

「承認」アクションにて、メール/Teamsそれぞれで添付ファイルを確認できるように実装しました。

メール
Teams

詳細は以下の記事をご参考ください。

2.Office365上の営業事務グループ全員宛のメール送信

依頼が来た際は、Outlook/Teamから営業事務グループ全員に通知を行います。
Office 365上に作成された営業事務グループ宛にメールを送るための処理内容を解説します。

全体の流れは、以下のとおりです。

※グループ宛のメール送信と関係のないフローは割愛しています。

(繰り返し前の準備)

  1. メールアドレスを格納する変数の準備
  2. Office 365のグループメンバーの一覧表示

(メンバーの数だけ繰り返す処理)

  1. 一覧表示から取得したメールアドレスを、変数に追加する

(繰り返し後)

  1. 宛先にメールアドレスを格納した変数を指定する

(繰り返し前の準備)

準備として、以下の2つをおこなっています。

メールアドレスを格納する変数の準備

文字列型の変数「メールアドレス」を用意します。

「グループメンバーの一覧表示」アクション

「Office 365 グループ」の「グループメンバーの一覧表示」アクションを実行します。
グループIDには、候補から営業事務グループを指定しています。

(繰り返し)

メンバーの数だけ、変数へのメールアドレスの追加を繰り返します。

「文字列変数に追加」アクションで、「グループメンバーの一覧表示」アクションで取得した「メール」を変数に追加します。

変数の値をそのままメールアドレス欄に入力する文字列として使用するため、「;」をメールの後ろに記入しています。
「;」があることで、「abc@xyz.jp;def@xyz.jp;ghi@xyz.jp;」など、メールアドレスとして正しい形式で変数の値を設定できます。

宛先にメールアドレスを格納した変数を指定する

宛先に、メールアドレスを格納した変数「メールアドレス」を指定します。(後ろのセミコロンは自動で入力されます)

以上の設定で、営業事務グループのメンバー宛に通知が行われます。

3.承認が却下された場合の再申請

承認が却下された場合、元の依頼データを元に再申請できるようにしています。

再申請ボタンの表示

却下されたデータのみ、再申請ボタンが表示されます。

これは、再申請ボタンのVisibleに、以下の式を設定して実現しています。

IF(ThisItem.ステータス="却下",true)

上記の式によって、ステータスが却下の時だけ、「再申請ボタン」が表示されます。

再申請押下時の動作

再申請ボタンを押した時、元のデータをコピーし、IDだけを新規で振り直しています。
入力の手間を省きつつ、却下された元データも上書きせずに残すように配慮しました。

4.Power Apps委任に関する警告への対処

委任とは、データの計算や絞り込みなどの処理を、Power Apps側ではなく、データベース側に依頼することです。

委任できる関数と委任できない関数があり、委任できない関数を使用している場合、「委任に関する警告」が表示されます。
警告が出ている状態だと、Power Appsで取得できるデータの件数が500件まで*に限定されてしまうのです。
*設定で2000件まで変更可能

(例)
依頼データが4000件ある場合であっても、一覧上500件までしか表示されない。

今回作成したアプリにおいても、一覧画面上で、委任に関する警告が表示されています。
警告が表示されている場合、件数の上限を超えたデータが表示されない可能性があるということです。

今回は、「貯まったデータを定期的に削除するフロー」をPower Automate上で定期実行させ、そもそも上限値までデータが貯まらないようにすることで委任問題を回避しました。
扱うデータ量がそもそも少なく、依頼が完了したデータは削除しても支障がなかったためです。

(参考リンク)

Microsoft365の運用にお困りではありませんか?

株式会社uniteでは、Microsoft365のすべてのアプリを対象に、法人様向けの運用サポートを行っています。

  • 社内メール⇒teamsへの円滑な移行と利用率UP施策
  • SharePointのドキュメントライブラリを活用したファイル管理
  • ExcelやAccessで作成された既存の社内ツールをPowerAppsへリニューアル
  • 手作業で行っている業務をPowerAutomateで自動化

等、MS365を利用した業務改善のお手伝いをさせて頂いております。
ご予算、サポート範囲については完全オーダーメードでサポート対応をしておりますので、お気軽にご相談ください。