目次
こんなお悩み、ありませんか?
- 「内定通知のメールを毎回作るのが面倒…」
- 「PDFのオファーレターを都度作成して送るのが手間…」
- 「もっと採用業務を自動化できないかな…」
そんな方に向けて、この記事では Power Automate × SharePoint を活用し、オファーレター(内定通知)を自動でPDF化&送信する仕組みを、初心者でもわかるように丁寧に解説します!
実現すること(完成イメージ)
- HRがSharePointリストに内定者情報を入力
- ステータスを「送信済」に設定して保存
- Power Automateのフローが自動実行!
- Wordテンプレートにデータが差し込まれ…
- PDF化されたオファーレターが作成
- 内定者に自動でメール送信!
必要な準備
✅ SharePointリスト
以下のような列を持つ「社員オファーレター」リストを作成:
| 列名 | データ型 |
|---|---|
| タイトル | 自動生成(空欄でOK) |
| 名前(Employee Name) | 一行テキスト |
| メールアドレス(Email) | 一行テキスト |
| 部署(Department) | 選択肢 |
| 職種(Job Title) | 選択肢 |
| 入社日(Joining Date) | 日付 |
| 受諾期限(Acceptance Deadline) | 日付 |
| 年収(Salary) | 通貨 |
| ステータス(Status) | 選択肢(例:下書き、送信済など) |
✅ SharePointドキュメントライブラリ
- フォルダ名:
Offer Letter Templates - Wordテンプレートをここにアップロード
✅ Wordテンプレートの作成方法
- Wordで「開発」タブを有効にする
→ リボンを右クリック →「リボンのユーザー設定」→「開発」にチェック - 開発タブから「テキストコンテンツコントロール」を挿入
→ 例:「{{EmployeeName}}」「{{Salary}}」などタグを設定 - 作成後、SharePointの
Offer Letter Templatesフォルダへアップロード
フロー構築の流れ(Power Automate)
✅ トリガー設定
「SharePointアイテムが作成または変更されたとき」
- 条件付きトリガー:
Status = SentTitleが空(未設定)
なぜタイトルが空かを条件にするの?
→ フロー内に「リストの更新処理」があると、ループが無限に回ってしまう可能性があるため、最初の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チャネルにも自動通知可能です。
