【Power Automate × SharePoint】選考通過者にPDFでオファーレターを自動送信する方法

  • URLをコピーしました!
目次

こんなお悩み、ありませんか?

  • 「内定通知のメールを毎回作るのが面倒…」
  • 「PDFのオファーレターを都度作成して送るのが手間…」
  • 「もっと採用業務を自動化できないかな…」

そんな方に向けて、この記事では Power Automate × SharePoint を活用し、オファーレター(内定通知)を自動でPDF化&送信する仕組みを、初心者でもわかるように丁寧に解説します!


実現すること(完成イメージ)

  1. HRがSharePointリストに内定者情報を入力
  2. ステータスを「送信済」に設定して保存
  3. Power Automateのフローが自動実行!
  4. Wordテンプレートにデータが差し込まれ…
  5. PDF化されたオファーレターが作成
  6. 内定者に自動でメール送信!

必要な準備

✅ SharePointリスト

以下のような列を持つ「社員オファーレター」リストを作成:

列名データ型
タイトル自動生成(空欄でOK)
名前(Employee Name)一行テキスト
メールアドレス(Email)一行テキスト
部署(Department)選択肢
職種(Job Title)選択肢
入社日(Joining Date)日付
受諾期限(Acceptance Deadline)日付
年収(Salary)通貨
ステータス(Status)選択肢(例:下書き、送信済など)

✅ SharePointドキュメントライブラリ

  1. フォルダ名:Offer Letter Templates
  2. Wordテンプレートをここにアップロード

✅ Wordテンプレートの作成方法

  1. Wordで「開発」タブを有効にする
     → リボンを右クリック →「リボンのユーザー設定」→「開発」にチェック
  2. 開発タブから「テキストコンテンツコントロール」を挿入
     → 例:「{{EmployeeName}}」「{{Salary}}」などタグを設定
  3. 作成後、SharePointのOffer Letter Templatesフォルダへアップロード

フロー構築の流れ(Power Automate)

✅ トリガー設定

「SharePointアイテムが作成または変更されたとき」

  • 条件付きトリガー:
    • Status = Sent
    • Title が空(未設定)

なぜタイトルが空かを条件にするの?
→ フロー内に「リストの更新処理」があると、ループが無限に回ってしまう可能性があるため、最初の1回だけ実行する工夫です。


✅ ステップ① Get item

  • 対象のアイテムから情報を取得
  • 使用:Get item アクション

✅ ステップ② Populate Word Template(Wordテンプレートへの差し込み)

  • アクション:Populate a Microsoft Word Template
  • 接続元:Word Online (Business)
  • 入力:
    • テンプレートファイル
    • SharePointライブラリパス
  • 各プレースホルダーに対応するフィールドをマッピング

✅ ステップ③ Wordファイルを作成(仮)

  • アクション:Create file
  • ライブラリ:オファーレターフォルダ
  • ファイル名:<社員名>_OfferLetter_日付.docx
  • ファイル内容:前ステップの出力内容(Wordの本文)

✅ ステップ④ PDFに変換

  • アクション:Convert Word Document to PDF
  • 入力:前ステップで作成したWordファイル名

✅ ステップ⑤ PDFファイルを保存

  • アクション:Create file
  • ファイル名:<社員名>_OfferLetter_日付.pdf
  • 内容:PDF変換ステップの出力

✅ ステップ⑥ メール送信

  • アクション:Send an email (V2)
  • 宛先:SharePointから取得した内定者のメールアドレス
  • 件名:例)「Global SharePointより内定通知」
  • 本文:テンプレート+差し込み(ジョブタイトル、部署、日付など)
  • 添付ファイル:作成したPDFファイル

✅ ステップ⑦ タイトル列の更新(Offer Letter ID)

  • アクション:Update item
  • 条件:タイトルが空のときのみ実行
  • 内容:OfferLetter_年月日_連番 のような形式で生成

✅ ステップ⑧ Wordファイル削除(後処理)

  • アクション:Delete file
  • 対象:一時的に作成したWordファイル
  • 理由:PDFだけを残すため

よくある質問(FAQ)

Q1. Power Automateの「Populate Word Template」って無料ですか?

いいえ、これはPremiumコネクタです。Microsoft 365 Business Standard以上か、個別ライセンスが必要です。


Q2. Wordテンプレートに追加したタグはどこで設定しますか?

「開発タブ」の「プレーンテキストコンテンツコントロール」で追加し、**「タグ」や「タイトル」**を設定します。


Q3. PDFファイル名は自動で変更できますか?

はい、Power Automateの concat() 関数を使って、動的にファイル名を構築できます。

concat(triggerOutputs()?['body/EmployeeName'], '_OfferLetter_', utcNow())

Q4. メール本文に動的値を埋め込むには?

HTML形式の本文に、以下のようにフィールドを差し込むことで可能です。

<p>Dear @{outputs('Get_item')?['body/EmployeeName']},</p>
<p>We are pleased to offer you the role of @{outputs('Get_item')?['body/JobTitle']} in the @{outputs('Get_item')?['body/Department']} department.</p>

Q5. PDFファイルをTeamsにも送れますか?

はい、Post message in a chat or channel アクションを使えば、Teamsチャネルにも自動通知可能です。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

目次