非技術者が実践!
Microsoft Power Automateを使った
営業業務改善

【技業LOG】技術者が紹介するNTTPCのテクノロジー

2024.04.30
その他
小島 康平

深耕セールス
小島 康平

取得資格:MCPCモバイルシステム技術検定2級、ITIL Foundation

技業LOG

前書き

私は営業活動において顧客への業務改善提案を行ってきましたが、一方で、自らの抱えるルーチンワークや定型業務を改善しようと思いつつも、既存の社内システムに依存し、なかなか改善できない状況が続いていました。
そんな私が、このままではいけない!と奮起し、個々の業務改善を進めるために簡単に利用できるツールとして使い始めたのがMicrosoft Power Automateを利用したRPA(Robotic Process Automation)です。
Power Automateはローコードツールであり、プログラミング言語とは無縁の方でも簡単に扱うことができます。

本記事は、これからRPAを使って業務改善してみたい方、Power Automateのフロー作成に苦労している方の手助けになればと思い、自身の経験を元に書いてみました。
なお、本記事は2023年12月時点の仕様を元に作成しています。Power Automateおよび関連アプリケーションの最新仕様については、サービス提供元の公式情報をご確認ください。

1. Power Automateとは

Power Automateの特長について、Microsoft社サイトで次のように記載されています。

  • ローコードと AI を利用した包括的なエンドツーエンドのクラウド自動化プラットフォーム。
  • AI とデジタルおよびロボティック プロセス オートメーションにより、ほぼ無制限のシステム、デスクトップ アプリ、Web サイト全体を自動化できます。

Power Automateは、イベント発生をトリガーにフローを自動実行することで、人手をかけずにスピーディーかつ正確にタスクを処理することが可能です。いわゆるRPA(Robotic Process Automation)の機能を有します。

利用イメージ

利用イメージ

利用例)

  • 定型フォームへ入力した内容を、メールやチャットで自動送信する。
  • 特定の相手から受信したメールを、分類して管理表へ自動入力する。
  • 毎月1日の朝10時になったら、リマインドと作業マニュアルが届く。
  • RPA導入のメリット
  • 定型作業を自動化 ⇒ やりたい業務に注力できる
  • 人の作業量の軽減 ⇒ 人為ミス(誤送信など)による不意の事故を防止できる
  • フローの可視化  ⇒ フローを横展開し、組織全体の業務を効率化できる

2. 利用条件

Power Automateの利用条件は次のとおりです。Microsoft 365をすでに導入している企業であれば、コストをかけずに利用できる可能性が高いため、自社環境を確認してみてください。

項目 内容 備考
アカウント Microsoft365アカウントでPower Automateを利用できること 確認方法は本記事末尾の参考1参照
環境 Microsoft365アカウントでログイン済みの端末を利用
利用するアプリケーションは、標準コネクタ対応であること コネクタは本記事末尾の参考2参照
費用 追加費用なし
(上記アカウント、環境の条件に当てはまる場合)

3. Power Automateを使ってノーコードでフローを作ってみる

それではさっそく、Power Automateで簡単なフローを作ってみましょう。
今回は、Formsに入力した情報をメール送信するフローを作成してみます。

まずはPower Automateを立ち上げます。
Microsoft365トップページから次のようにアクセスします。

アクセス手順
  • アプリ欄でPower Automateが見つからない場合は、「その他のアプリ」をクリックして探します。

次に、Power Automateでフローを作成します。①~④のような流れになります。

  • Formsアプリでフォーム作成
  • Power Automateでフローを作成
  • フロー作成ページでフローを作り込む
  • フロー保存、フロー開始、テスト

① 先にFormsアプリでフォームを作成する

本事例では次のフォーム名とします。
フォーム名:【サンプル】イベント参加表明フォーム

② Power Automateでフローを作成する

「作成」→「一から作成」→「自動化したクラウド フロー」と進めていきます。

本事例では下記の設定としました。

項目 内容 備考
フロー名 イベント参加表明 命名設定は任意
トリガー Microsoft Forms 新しい応答が送信される時

③ フロー作成ページでフローを作り込む

次のようにフローを作り込んでいきます。

キャプチャ画面統一のため、本事例では右上の「新しいデザイナー」をON→OFFにして作成を進めます。
「新しいデザイナー」ONのままでフロー作成していただいても問題ありません。

「フォームID」を確定させます。確定方法は次のいずれかとなります。

項目 内容 備考
フォーム名選択 一覧表示されるフォーム名から選択 一覧にない場合はカスタム値指定
   or
カスタム値指定 Forms URLから一部を入力 入力方法は次(参考)を参照

(参考)カスタム値に指定するURLについて
Formsアプリのフォーム作成ページのURLのうち、「design&id=」より右側を指します。

https://forms.office.com/Pages/DesignPageV2.aspx?origin=NeoPortalPage&subpage=design&id=これ以降を切り取る

本事例では、「design&id=」の後に続く「xrUe9~(末尾まで)」が該当します。

「新しいステップ」をクリックし、フローの作り込みを進めます。

項目 内容
コネクタ Microsoft Forms
項目 内容
アクション 応答の詳細を取得する
項目 内容 備考
フォームID 上述と同様の指定をする フォーム名選択orカスタム値指定
応答ID 応答ID
※動的なコンテンツから指定
応答ID欄をクリックすると
「動的なコンテンツ」が出現する

フロー全体図で見ると、本事例は下図のように作り込んでいきます。
「終了」ステップは終了明示のためとなり、必ずしも作る必要はありません。

ここまでフローを作成できたら次を進めます。

④ フロー保存、フロー開始、テスト

ここまで完了したら、フローを保存してテストしてみましょう。

【フローの保存】
次の手順を進めてフローを保存します。

手順 備考
右上の「保存」をクリック エラー時は保存不可
   ↓
次の表示を確認
「フローを開始する準備ができました。テストすることをお勧めします。」
緑色で表示
   ↓
作成したフロー名をクリックし、画面遷移 本事例は「イベント参加表明」

【フロー開始】
下図のページへ遷移後、下記を確認します。

確認項目 状態
所有者 自身のアカウントである
状況 オン(=フローが作動中)
接続(=コネクタ) 必要なアプリケーションが表示されている
アプリケーションが自身のアカウントで認証されている

【テスト】
Formsを入力・送信し、メールを受信できることを確認します。

Formsに必要事項を入力、送信ボタンを押す

メールが受信できることを確認

Power Automateの実行履歴が「成功」となっていることを確認

これでフロー作成は完了です。

4. フロー作成応用1(機能を活用する)

前項までは、Power Automateの内容と作り方について紹介しました。
この項では、私が活用している便利な機能をご紹介します。

【フロー基本構成】
まずはPower Automateで作るフローの基本構成をつかみます。
フローは下図の流れで作成します。

フロー

【既設フローの活用】
前項では、フローを「一から開始する」で作成しましたが、次のようにテンプレートやパッケージを活用することが可能です。

活用方法 利用方法
Microsoftのテンプレートを利用する 「作成」タブ → テンプレートから開始する
「テンプレート」タブ
社内の有識者からパッケージをもらう 「マイフロー」タブ → インポート → パッケージのインポート(レガシ)

【活用例】
1項の利用イメージに加え、私がフロー作成で活用した機能を4つ紹介します。

① Microsoft 365に登録済みの社員情報を活用する

  • 機能:
    トリガー情報と社員情報を紐づけ、各アプリケーションで利用する
  • 活用例:
    Formsに入力者情報(氏名、連絡先)欄を設けなくても、Microsoft 365の登録情報を元に入力者宛に受領メールを自動送付する。
項目 内容
コネクタ Office 365 Users
アクション ユーザープロフィールの取得

活用できる情報

  • 所属会社名
  • 部署名
  • 表示名(姓+名)
  • 役職
  • 電話番号
  • ニックネーム  など
  • くれぐれもプライバシーにご配慮ください。

② 自分宛にTeamsで通知する

  • 機能:
    特定の情報を自身のTeams宛に通知する
  • 活用例:
    ワンタイムパスワードなど、特定のメールをTeamsへ転送させる。
    • 自身を投稿者にすると自身宛のメンションは機能しませんが、フローボットを投稿者とすることでメンションも利用可能です。

フローボットから通知させる場合

項目 内容
コネクタ Microsoft Teams
アクション チャットまたはチャネルでメッセージを投稿する
投稿者 フローボット
投稿先 Chat with Flow bot
Recipient 自身のメールアドレス
Message チャットで伝えたい内容を自由記載
動的なコンテンツから指定するなど

(参考)メンション機能を利用したい場合は、「チャットまたはチャネルでメッセージを投稿する」の手前で次のアクションが必要です。

項目 内容
コネクタ Microsoft Teams
アクション ユーザーの@mentionトークンを取得する
ユーザー 自身のメールアドレス
注意! 「チャットまたはチャネルでメッセージを投稿する」フローのMessage欄で、動的なコンテンツ「@mention」を指定すること

③ トリガーの内容を元にフローを分岐させる

  • 機能:
    フローチャート図の「判断」にあたる部分を自動化する
  • 活用例:
    顧客のお問い合わせ内容にあるワードから依頼先を自動判別し、内容を転送する
    • 顧客向けお問い合わせフォームと連携することで問い合わせの選別業務の削減を図る
項目 内容 備考
コネクタ コントロール
アクション 条件 はい/いいえで分岐させる場合
スイッチ 特定ワードの有無で分岐させる場合

④ ファイルを送る

  • 機能:
    ファイルをメールなどに添付して送付する
  • 活用例:
    ファイルをFormsにアップロードすると、メールで自動送信する
  • 注意!
    ファイルをFormsへアップロードすると、OneDriveのフォルダーに格納されます。
    ファイルをOutlookやTeamsに添付する際はOneDriveに取りに行くことになりますが、元のファイル名が書き換わっており、そのままでは活用できません。
    • ファイル名に"アップロード者の姓名(かな表記)"が書き加えられます。
      そのため、次の方法で活用します。

活用方法:

【前提】OneDriveの格納場所について
「【サンプル】イベント参加フォーム」というフォーム名にアップロードしたファイルは、
下記のフォルダーへ格納されます。

自分のファイル > アプリ > Microsoft Forms > 【サンプル】イベント参加フォーム > 質問

1. アップロードしたファイルを特定する

項目 内容
コネクタ OneDrive for Business
アクション フォルダー内のファイルの検索
検索クエリ ファイル名を記載(拡張子は不要)
※事例は「テスト.pptx」の「テスト」を記載
フォルダー OneDriveのフォルダー名を記載
ファイル検索モード Pattern

2. ファイル名から姓名(かな表記)を削る

項目 内容
コネクタ OneDrive for Business
アクション パスを使用したファイルの移動または名前変更
注意! ここで「Apply to each」が出現
気にせず進める
以前の手順から出力を選択 本文 ※動的コンテンツから指定
ファイルパス パス ※動的コンテンツから指定
対象のファイルのパス 任意のOneDrive上のパス/ファイル名+拡張子
上書きする はい
※同一フォルダーに同じファイル名が乱立することを避けるため
※「いいえ」の場合は削除フローが別途必要
事例における「対象ファイルのパス」:
/アプリ/Microsoft Forms/【サンプル】イベント参加フォーム/質問/テスト.pptx

3. 元のファイル名を活用できる状態にする

項目 内容
コネクタ OneDrive for Business
アクション パスによるファイルコンテンツの取得
ファイルパス OneDrive上のパス/ファイル名+拡張子

4. メール送信を行う

項目 内容
コネクタ Office 365 Outlook
アクション メールの送信(V2)
添付ファイル名 任意のファイル名を記載
添付ファイルコンテンツ ファイルコンテンツ
※動的コンテンツから指定
宛先、件名、本文は通常のメール送信どおりに入力する

5. フローを実行し、「ファイル名が変更できていること」「メールが送信されていること」が確認できれば完了です。

(参考)不要ファイルを削除する方法
Formsにアップロードしたファイルは、OneDriveに残り続けるので、定期的に削除することをお奨めします。
特に、手順2で「上書きする:いいえ」を選択した場合はフォルダー内に同じ名前のファイル名が共存できず、フローが回らない可能性があります。

1. トリガーを指定(定期的に削除するフローで作成する)

「作成」→「一から作成」→「自動化したクラウド フロー」と進めます。

項目 内容
フロー名 任意で記載
開始日 任意で設定
繰り返し間隔 任意で設定

2. 右図のように「Recurrence」(繰り返し)トリガーが出来上がります。
さらにフローの作り込みを進めます。

OneDrive上のファイル削除は以下のとおりです。

項目 内容
コネクタ OneDrive for Business
アクション ファイルの削除
ファイル OneDrive上のパス/ファイル名+拡張子

フローを実行すると下図のようにファイルが削除されます。

  • 注意!

テストを実施したところ、「Recurrence」(繰り返し)トリガーが定刻に発動しない場合があります。開始時刻がグリニッジ標準時(協定世界時、UTC)となっている可能性が高いため、時間を調整することで希望時間にトリガーが発動するようにします。

項目 内容
コネクタ スケジュール
アクション Recurrence(繰り返し)
タイムゾーン (UTC+9:00)大阪、札幌、東京 ← 変更不要
開始時刻 yyyy-mm-ddThh:mm:ssZ ← 希望時間のマイナス9時間とする
例)2024年3月1日10:00希望 ⇒ 2024-03-01T01:00Z

5. フロー作成応用2(コードを少し使ってみる)

3項のようにPower Automateはコードを使わずにフロー作成を行うことが可能です。しかし、コードを使わないと次のような問題が出てきます。

【コードを使わない場合の問題】

  • 内容が読みにくい
  • -
    改行なしの文章
  • -
    英語の日付表記(例:2024年1月12日 ⇒ 1/12/2024と表記)
  • -
    カンマなしの数字(例:1,000,000円 ⇒ 1000000円)
  • 情報を活用できない
  • -
    時差表記(例:メールに本日の日付を自動記入したいのに、昨日の日付となる)
  • -
    不要記号(例:トリガーから取得した情報に不要記号(例:[ " , ] )が入る)

Power Automate活用の幅を広げるためにも、私がこのような問題を解決した方法をご紹介します。

【コードを使う時の前提】
Power Automateでコードを使うには「動的なコンテンツ」を式として認識できる形に変換する必要があります。動的なコンテンツ部分をマウスで選択し、メモ帳に貼り付けることで変換できます。

例)Formsの場合
動的なコンテンツをマウスで選択し、メモ帳へコピー&ペーストすると次の形になります。

@{outputs('応答の詳細を取得する')?['body/~']}

ここから「@{ }」を取り除き、

outputs('応答の詳細を取得する')?['body/~']

を式に活用します。

【活用例】
私のPower Automate活用例を紹介します。私自身がいろいろな技術ブログから得て活用した情報をまとめましたので、お役立てください。

① 文字の改行

uriComponentToString(replace(uriComponent(ここに入れる), '%0A', '<br>'))

活用例:Formsの「長い回答」を改行付きでテキスト反映させる
この式を使用しないと、「長い回答」が1行で表示されるので読みづらい文章になります。

② 時差表記の修正

addHours(utcNow(),9,'yyyy年MM月dd日HH時mm分')

活用例:フローを動作させた時に日本時間へ修正する際に使用
上の式では「yyyy年MM月dd日HH時mm分」としていますが、「MM月」のように柔軟に表現させることが可能です。

応用:時差修正だけでなく、過去や未来の日付を表記させたい場合にも利用可
例)10日前の日付を表示させたい時

formatDateTime(addDays(utcNow(), -10), 'MM月dd日')

③ カンマ付き数字に修正

活用例:Formsで入力された数字にカンマを付けて表示する
作成手順:

1.数字のテキスト情報を整数型データに変換

項目 内容
コネクタ 変数
アクション 変数を初期化する
名前 分かるように自分で命名
種類 整数
int(ここに入れる)

2.数値の書式設定でカンマ区切りのフォーマットを作成

項目 内容
コネクタ 数値関数
アクション 数値の書式設定
番号 変数初期化時の名前
※動的コンテンツから指定
フォーマット ###,###,###,###
ロケール Invariant Language (Invariant Country)

3.アウトプットするフォーマットに入力する

入力値 指定元
書式設定された数値 動的なコンテンツ

カンマ付き数字に修正する手順は以上です。

④ 不要記号の削除

活用例:Formsの複数選択可の内容 ["3月1日","3月2日","3月3日"]から [ " ]を削除する

1つずつ消す式:

replace(ここに入れる,'消したいもの','')

3つまとめて消す式:

replace(replace(replace(ここに入れる,'消したいもの1',''),'消したいもの2',''),'消したいもの3','')

例えば、消したいものが[ " ]である場合、[ " ] のうち、[のみを消す式は次のようになります。

replace(outputs('応答の詳細を取得する')?['body/~'],'[','']

[ " ]のすべてを消す式は次のとおりです。

replace(replace(replace(outputs('応答の詳細を取得する')?['body/~'],'[',''),']',''),'"','')

不要記号を削除すると、下図のようになります。

6. 課題

私自身がPower Automateを調べて活用した経験から、Power Automateを使って組織全体で業務改善を実現するには次の課題があると感じています。

  • 業務内容をフローに起こすスキルの獲得
    Power Automateでフローを作る前提として、現在の業務フローを理解しておく必要があります。現在の業務の中で効率化できる部分を見つけ出し、フローに落とし込むスキルを身につけていく必要があります。
  • スキルの蓄積
    Power Automateは世界中で利用されているツールのため、インターネット上で情報を得て作れる気軽さがある一方で、ノウハウが組織全体に広がらず個人に集中する懸念があります。ノウハウを組織内で共有し合い、業務改善に向けて組織全体で活用する仕組みを作る必要があります。

7. 今後やりたいこと

私自身、"自分の業務改善をしたい"という思いだけで、何の知識もないままPower Automateの導入を進めてきましたので、まだまだ知らないことがあると考えています。
今後は下記の取り組みを行うことでスキルを蓄積し、組織全体で業務改善を進めたいと考えています。

  • AI機能の活用
    AI Builderなど、AI機能を有した機能を活用することでさらなる業務改善を図る
  • 社内でのノウハウ蓄積
    この記事で紹介した事例など、社内に集約することで社内全体へノウハウを蓄積し、業務改善活動を活発にする

(参考1)アカウントの確認方法
自身のMicrosoft 365アカウントでPower Automateを利用できるかについては次の方法で確認できます。
Microsoft 365マイアカウントページ
→「マイアプリ」ページにて確認する

(参考2)標準コネクタとプレミアム コネクタ(2023年12月22日時点)
Power Automateを利用する際は各アプリケーションへ自身のアカウントでログインし、接続状態とする必要があります。その機能を果たすのがコネクタです。コネクタには標準コネクタとプレミアム コネクタの2種類があります。

  • 標準コネクタ:
    追加費用なしで利用できるコネクタ
  • プレミアム コネクタ:
    Power Automate有償プランを契約することで利用できるコネクタ

標準コネクタ対応のアプリケーション例 全151コネクタ

プレミアム コネクタ対応のアプリケーション例 全667コネクタ

(参考3)Power Automate有償プランについて
現在のPower Automate有償プランは「Power Automate プレミアム」と「Power Automate プロセス」の2種類のようです。(2024年1月10日時点)

有償プランを契約すると、プレミアム コネクタやAI Builderを利用できるというメリットがあります。有償プランの最新情報については次のサイトよりご確認ください。
https://powerautomate.microsoft.com/ja-jp/pricing/
https://learn.microsoft.com/ja-jp/power-platform/admin/power-automate-licensing/types

(参考4)Power AutomateとPower Automate Desktopの違い
Power Automateの分かりづらい点に似た名前のサービスがあることです。Microsoft社にはPower Automate Desktopというサービスが存在します。

  • Power Automate:
    クラウドフロー(クラウド内でフローを自動実行する仕組み)
  • Power Automate Desktop:
    デスクトップフロー(端末内でフローを自動実行する仕組み)

それぞれの動作イメージ

(参考文献)
本記事の制作にあたっては、下記のWebサイトやQiitaコラムなどを参考にさせてもらいました。ありがとうございました。

Microsoft Power Automate | 誰でもできる業務改善講座 (sekenkodqx.jp)
Power Automate | 仕事のあれこれ (ippu-biz.com)

  • 「Microsoft Power Automate」、「Microsoft Forms」およびそのロゴ、「Microsoft 365」およびそのロゴ、「Microsoft Teams」およびそのロゴ、「Microsoft Outlook」およびそのロゴ、「Microsoft SharePoint」およびそのロゴ、「Microsoft Dataverse」およびそのロゴ、「Microsoft Word」およびそのロゴ、「Microsoft Excel」およびそのロゴ、「PowerPoint」およびそのロゴ、「Azure」およびそのロゴ、「Dynamics 365」およびは、米国Microsoft Corporationの米国およびその他の国における商標または登録商標です。
  • 「X(旧Twitter)」およびそのロゴは、X Corp.の商標または登録商標です。
  • 「Google ドライブ」およびそのロゴ、「Googleスプレッドシート」およびそのロゴは、Google LLC の商標です。
  • 「slack」は、Slack Technologies, Inc.の登録商標です。
  • 「Adobe」およびそのロゴ、「Acrobat」およびそのロゴ は、Adobe Systems Incorporated(アドビ システムズ社)の商標または登録商標です。
  • 「Captisa Forms」およびそのロゴ、「Cognito Forms」およびそのロゴ、「Elastic Forms」およびそのロゴ、「iManage Work」およびそのロゴ、「Plumsail forms」およびそのロゴlは、米国Microsoft Corporationの米国およびその他の国における商標または登録商標です。
  • 「Box」、Boxロゴは、Box, Inc.の商標または登録商標です。
  • 「Dropbox」は米国Dropbox, Inc.の商標または登録商標です。
  • 「Webex Meetings」および「Cisco Webex Meetings」は、米国Cisco Systems, Inc.の登録商標です。
  • 「kintone」は、株式会社サイボウズの登録商標です。
  • 「ServiceNow」、「ServiceNowのロゴ」、「Now」、その他のServiceNowマークは米国およびその他の国におけるServiceNow, Inc.の商標または登録商標です。その他の会社名と製品名は、関連する各会社の商標である可能性があります。
  • 「Zendesk」およびそのロゴ は、Zendesk, Inc.の商標または登録商標です。
  • 「Salesforce」およびそのロゴは、Salesforce.com Inc.の商標または登録商標です。
  • 「DocuSign」は、DocuSign, Inc.の米国およびその他の国における商標または登録商標です。
  • 「Oracle」「Oracle Database」およびそのロゴはOracle Corporationおよびその子会社、関連会社の米国 およびその他の国における登録商標または商標です。

技業LOG

NTTPCのサービスについても、ぜひご覧ください

このエントリーをはてなブックマークに追加
一覧へ戻る

おすすめ記事

    お気軽にご相談ください