🪛
データ自動連携設定(SmartHR → Power Automate → YESOD)
前提条件・事前準備
連携を構築する前に、以下の準備とお手元に情報が揃っているかをご確認ください。
1. 必要なライセンス
- Power Automate Premium ライセンス: 外部システムと通信を行う「HTTPトリガー」および「HTTPアクション」を利用するため、フローを作成・実行するユーザーにPremiumライセンスが割り当てられている必要があります。
2. YESOD 側の事前準備
- APIトークンの取得: インポートAPIを実行するためのAPIトークンを発行してください。手順はYESODヘルプ:APIトークンの発行手順をご参照ください。
3. SmartHR 側の事前準備
- Webhook設定権限: SmartHRの管理画面から、共通設定 > Webhook設定 へアクセスできる管理者権限が必要です。
🛠️ 1. Power Automate:受け口(トリガー)の作成
SmartHRからのデータ(Webhook)をキャッチする入り口を作ります。
- Power Automateにログインし、「マイ フロー」 > 「新しいフロー」 > 「自動化したクラウド フロー」 を選択します(トリガーの選択画面はスキップして構いません)。

- スキップボタンをクリックします

- 「トリガーを追加する」をクリックします

- トリガー検索窓で「要求」と入力し、組み込みコネクタ 「HTTP 要求の受信時」 を配置します。

- パラメーターを以下の通り設定します。
| 項目 | 設定値 | 備考 |
|---|---|---|
| フローをトリガーできるユーザー * | 誰でも (Anyone) | SmartHRからの外部アクセスを許可するために必須です |
| HTTP URL | (初回保存時に自動生成されます) | 保存後にコピーしてSmartHRに設定します |
- 「要求本文の JSON スキーマ」 の下にある「サンプル ペイロードを使用してスキーマを生成する」をクリックし、以下のJSONを貼り付けて「完了」を押します。
🛠️ 2. Power Automate:データの整形(CSVの作成)
SmartHRから受け取ったデータを、YESODのインポートAPIが要求するCSV形式の文字列に変形します。
🔽 変数の初期化
- 「HTTP 要求の受信時」トリガーの下に、「変数を初期化する」 アクションを追加します。
- 以下の通り設定します。名前: 種類: 値: 空欄のままでOK

🔽 変数の設定(数式マッピング)
- 「変数を初期化する」の下に、「変数の設定」 アクションを追加します。
- 名前に を選択します。
- 値の入力欄に、以下のテキストと数式を入力します。

⚠️
重要(入力方法)
1行目はテキストを手入力し、必ずEnterキーで改行してください。
2行目の
の部分は、入力欄の横にある
「fx(式)」アイコン
をクリックして数式を貼り付けて追加します(紫色のブロックになります)。各ブロックの間は半角カンマ
で区切ります。※会社コードは固定値を入力します
と直接入力します。
【値パラメーターの入力イメージ】
【貼り付ける各数式(fx)の内容】
| 列名 | 貼り付ける数式(fx) | 備考 |
|---|---|---|
| last_name | triggerBody()?['crew']?['last_name'] | 姓 |
| first_name | triggerBody()?['crew']?['first_name'] | 名 |
| triggerBody()?['crew']?['email'] | メールアドレス | |
| entered_at | triggerBody()?['crew']?['entered_at'] | 入社日 |
| emp_code | triggerBody()?['crew']?['emp_code'] | 社員番号 |
| department_id | triggerBody()?['crew']?['departments']?[0]?['code'] | 先頭の部署コード取得 |
| companycode | (なし)手入力で Y0001 などの会社コードを記述 | 固定値の会社コード |
変数の設定について
本ハンズオンで記述している
については、あくまで最小限の構成サンプルです。
実際にお客様の環境で運用される際は、要件(性別、生年月日、役職、カスタムフィールドの追加など)に応じて1行目のCSVヘッダー部と2行目の数式マッピングを増減させる必要があります。
🛠️ 3. Power Automate:YESOD APIへの送信
整形したデータをYESODのメンバーインポートAPIへPOSTします。
- インポートAPI ヘルプ
- インポートAPI Open APIドキュメント
- 「変数の設定」の下に、「HTTP」 アクションを追加します。

- パラメーターを以下の通り設定してください。
| 項目 | 設定値 |
|---|---|
| 方法 * | POST |
| URI * | https://yesod.io/api/v21.07/members/import |
- ヘッダー(2行追加します)
| キー | 値 | 備考 |
|---|---|---|
| Content-Type | application/json | |
| Authorization | Bearer {あなたの本番用APIトークン} | Bearer とトークンの間には必ず 半角スペース を1つ入れてください。 |

- 本文 (Body)以下のJSON構造をそのままコピーして「本文」欄に貼り付けます。マッピング項目
※"csv" の値部分(@{variables('CsvData')})は、貼り付けると自動的に「CsvData」変数ブロックに変換されます。
項目マッピングの設定について
本ハンズオンで記述している
内の属性IDや項目数は、あくまで最小限の構成サンプルです。
実際にお客様の環境で運用される際は、要件(性別、生年月日、役職、カスタムフィールドの追加など)に応じてCSVの列数およびマッピング定義を増減させる必要があります。
詳細なマッピングの定義方法や、指定すべきYESOD側の属性ID一覧については、必ず以下のマニュアルをご参照ください。

5. 運用とテスト
⏹️ フローの開始・停止方法
Power Automateの自動クラウドフローは、保存とテストが完了した時点で**自動的に「オン(稼働中)」**になります。一時的に連携を停止したい場合や再開したい場合は、一覧画面の「︙(その他のコマンド)」から「オフにする」または「オンにする」をクリックして切り替えます。
🧪 テストと確認
設定完了後、実際にSmartHR側でテスト用の従業員を新規登録し、連携が成功するか確認してください。
- Power Automate側の確認: 実行履歴ですべてのステップに緑色のチェックマークがついているか確認します。
- YESOD側の確認: YESODのメンバー一覧に、設定した項目(社員番号、氏名、メールアドレス、入社日、会社、組織)が正しく反映されているか確認します。

