BambooHRをデータパイプラインソースとして設定
BambooHRをデータパイプラインソースとして設定し、従業員レコード、ジョブおよび報酬の履歴、休暇、時間追跡、カスタムテーブルデータを宛先に抽出します。 このガイドを使用して、サポートされる機能の確認、前提条件の完了、BambooHRのWorkatoへの接続、パイプラインの設定、同期動作と既知の制限事項の理解を行います。
サポートされている機能
BambooHRをパイプラインソースとして使用する場合、次の機能がサポートされます。
- クラウド接続: BambooHRはクラウド専用SaaSです。 Workatoは会社のサブドメインを使用して
https://api.bamboohr.com/経由で接続するため、オンプレミスエージェントは不要です。 - APIトークンとOAuth 2.0認証: BambooHR APIキーを使用するか、BambooHRにサインインして接続します。 設定手順については、コネクションの設定を参照してください。
- フル同期と増分同期: 増分同期は、
employeesオブジェクト、すべての従業員テーブルオブジェクト、time_off_requestsでサポートされています。 詳細は同期モードを参照してください。 - 削除追跡: 削除を検出し、宛先で削除済みレコードをマークします。 詳細については、削除追跡を参照してください。
- カスタムフィールドとカスタムテーブルの検出: BambooHRアカウントで定義されたカスタム従業員フィールドとカスタム従業員テーブルを検出して同期します。
- スキーマドリフトの検出と処理: 新しいフィールドを自動同期でスキーマの変更を自動的に検出して適用するか、新しいフィールドをブロックでスキーマを固定します。
- フィールドレベルのデータ保護: 機密フィールドをそのままレプリケートするか、宛先に到達する前にハッシュ化します。
- 構成可能な同期頻度: 時間ベースの間隔またはcron式を使用して同期をスケジュールします。 最小同期間隔は15分です。
前提条件
BambooHRをデータパイプラインソースとして接続する前に、次のものを取得します。
- BambooHRアカウント。
- BambooHRサブドメイン。 たとえば、
https://acme.bamboohr.comでサインインする場合、サブドメインはacmeです。 - 選択した認証方法の認証情報:
- APIトークン: BambooHRで生成されたAPIキー。 設定手順については、BambooHRでAPIキーを生成を参照してください。
- OAuth 2.0: BambooHRユーザーアカウント。 コネクションを作成するときにBambooHRにサインインし、アクセスを承認します。
必要な権限
BambooHRは、接続ユーザーのアクセスレベルをすべてのAPIレスポンスに適用します。 報酬データを含め、同期する予定のすべてのフィールドとテーブルへの読み取りアクセス権を持つアカウントからAPIキーを生成します。 詳細については、権限で制限されたデータは省略されるを参照してください。
コネクション設定
BambooHRコネクターは、次の認証タイプをサポートしています:
API token
APIトークン認証を使用して、BambooHRポータルで生成された静的キーでBambooHRに接続します。
BambooHRでAPIキーを生成する
Workatoで接続する前にAPIキーを生成するには、次の手順を実行します:
BambooHRポータルにサインインします。
My Account > API Keysに移動します。
BambooHR API Keysに移動
Add New Keyを選択して新しいAPIキーを作成します。
この新しいAPIキーに、workato_userなどのわかりやすい名前を指定します。
APIトークン認証を使用したBambooHRへの接続
WorkatoでBambooHRへのAPIトークンコネクションを設定するには、次の手順を実行します:
作成 > コネクションをクリックするか、Cを2回押します。
BambooHRを検索し、アプリとして選択します。
コネクション名フィールドに、コネクションの一意の名前を入力します。
APIトークンコネクションを設定する
ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。
認証タイプドロップダウンメニューを使用して、APIトークンを選択します。
BambooHRでAPIキーを生成するで生成したAPIトークンを、APIトークンフィールドに入力します。
BambooHRサブドメインをサブドメインフィールドに入力します。 これは通常、会社名です。
接続をクリックします。
OAuth 2.0
OAuth 2.0を使用して、静的キーを管理せずにBambooHRに接続します。 接続時にBambooHRを通じてコネクションを承認します。
OAuth 2.0を使用してBambooHRに接続する
WorkatoでBambooHRへのOAuth 2.0コネクションを設定するには、次の手順を実行します:
作成 > コネクションをクリックするか、Cを2回押します。
BambooHRを検索し、アプリとして選択します。
コネクション名フィールドに、コネクションの一意の名前を入力します。
OAuth 2.0コネクションを設定する
ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。
認証タイプドロップダウンメニューを使用して、OAuth2.0を選択します。
BambooHRサブドメインをサブドメインフィールドに入力します。 これは通常、会社名です。
接続をクリックします。
プロンプトが表示されたらBambooHRにサインインし、アクセスを承認してコネクションを完了します。
パイプラインの設定
BambooHRをデータパイプラインソースとして設定するには、次の手順を実行します。
作成 > データパイプラインを選択します。
データパイプライン名フィールドにデータパイプラインの名前を入力します。
データパイプライン設定
ロケーションドロップダウンメニューを使用して、データパイプラインを保存するプロジェクトを選択します。
ビルドを開始をクリックします。
ソースアプリから新規/更新済みレコードを抽出トリガーをクリックします。 このトリガーは、パイプラインがBambooHRからデータを取得する方法を定義します。
利用可能なソースアプリのリストからBambooHRを選択します。
このパイプラインに使用するBambooHRコネクションを選択します。 または、+ 新規コネクションをクリックして新しいコネクションを作成します。
オブジェクトを追加をクリックして、新しいオブジェクトを追加パネルを開きます。
オブジェクトを追加
利用可能なBambooHRオブジェクトのリストを検索または参照し、同期するオブジェクトを選択して、追加をクリックします。
新しいオブジェクトを追加
同期モード
増分同期をサポートしていないオブジェクトは、実行ごとに常にフル同期を実行します。 各オブジェクトでサポートされる同期モードについては、サポートされるオブジェクトを参照してください。
選択した各オブジェクトのスキーマを確認してカスタマイズします。 オブジェクトを選択すると、BambooHRアカウントで定義されたカスタムフィールドを含むスキーマがパイプラインによって自動的に取得されます。
任意のオブジェクトを展開して、そのフィールドを表示します。 使用可能なすべてのデータを抽出するにはすべてのフィールドを選択したままにし、データ抽出とスキーマレプリケーションから除外するには特定のフィールドの選択を解除します。
任意です。 オブジェクトを展開し、各フィールドの処理方法を選択して、フィールドレベルのデータ保護を設定します。
- そのまま複製: ソースのデータ値が宛先に同一に複製されます。
- ハッシュ: 宛先に同期する前に、フィールド内の機密データ値をハッシュ化します。
Workatoでは、個人を特定できる情報(PII)やその他の機密フィールドをハッシュ化することを推奨します。 PIIが一般的に含まれるフィールドのリストについては、機密データの処理を参照してください。
さらにオブジェクトを追加するには、もう一度オブジェクトを追加をクリックします。 この手順を繰り返して、追加のBambooHRオブジェクトをパイプラインに含めます。
スキーマ変更の処理方法を選択ドロップダウンメニューを使用して、スキーマドリフトの処理オプションを選択します。
- 新しいフィールドを自動同期: ソースに追加された新しいフィールドを自動的に検出して同期します。
- 新しいフィールドをブロック: パイプラインの開始後、スキーマを固定します。 新しいフィールドは手動で追加する必要があります。
BambooHRアカウントではカスタムフィールドとカスタムテーブルが追加されることが多いため、Workatoでは新規フィールドを自動同期を推奨しています。
頻度フィールドで、パイプラインがBambooHRから宛先にデータを同期する頻度を設定します。 標準の時間ベースのスケジュールを選択するか、カスタムcron式を定義します。
サポートされるオブジェクト
BambooHRデータパイプラインは、BambooHR REST APIからデータを同期します。 次の表は、サポートされているオブジェクトをカテゴリ別に示しています。 各オブジェクトは、宛先内の個別のテーブルとして同期されます。 一部のオブジェクトには、特定のBambooHRモジュールが必要です。 詳細については、モジュールで制限されるオブジェクトを参照してください。
従業員データ
| オブジェクト | 同期モード | 削除追跡 |
|---|---|---|
employees | 完全同期、増分 | はい(ソフト) |
employees_directory | Full sync | はい |
従業員テーブル
従業員テーブルオブジェクトには、ジョブ情報や報酬など、従業員ごとの履歴レコードが含まれます。 各行は親従業員に属します。
| オブジェクト | 同期モード | 削除追跡 |
|---|---|---|
employee_job_info | 完全同期、増分 | いいえ |
employee_compensation | 完全同期、増分 | いいえ |
employee_employment_status | 完全同期、増分 | いいえ |
employee_bonus | 完全同期、増分 | いいえ |
employee_commission | 完全同期、増分 | いいえ |
employee_earnings | 完全同期、増分 | いいえ |
employee_emergency_contacts | 完全同期、増分 | いいえ |
employee_dependents | 完全同期、増分 | いいえ |
employee_education | 完全同期、増分 | いいえ |
employee_certifications | 完全同期、増分 | いいえ |
employee_assets | 完全同期、増分 | いいえ |
employee_equity_grants | 完全同期、増分 | いいえ |
employee_stock_options | 完全同期、増分 | いいえ |
employee_passports | 完全同期、増分 | いいえ |
employee_visas | 完全同期、増分 | いいえ |
| カスタム従業員テーブル(動的) | 完全同期、増分 | いいえ |
BambooHRアカウントで定義されたカスタムテーブルセクションは自動的に検出され、追加の選択可能なオブジェクトとして表示されます。
休暇と時間追跡
| オブジェクト | 同期モード | 削除追跡 |
|---|---|---|
time_off_requests | 完全同期、増分 | いいえ |
time_off_types | Full sync | はい |
time_off_policies | Full sync | はい |
whos_out | Full sync | はい |
timesheet_entries | Full sync | はい |
福利厚生、トレーニング、パフォーマンス
| オブジェクト | 同期モード | 削除追跡 |
|---|---|---|
employee_benefits | Full sync | はい |
employee_training | Full sync | はい |
training_types | Full sync | はい |
goals | Full sync | はい |
応募者追跡
| オブジェクト | 同期モード | 削除追跡 |
|---|---|---|
ats_applications | Full sync | はい |
ats_job_openings | Full sync | はい |
参照データ
参照オブジェクトは、フィールド定義やドロップダウンリストオプションなどのルックアップデータを提供します。
| オブジェクト | 同期モード | 削除追跡 |
|---|---|---|
meta_fields | Full sync | はい |
meta_lists | Full sync | はい |
| BambooHRデータセット(動的) | Full sync | はい |
| カスタムレポート(動的) | Full sync | はい |
アカウントで利用可能なBambooHRデータセットとカスタムレポートは自動的に検出され、追加の選択可能なオブジェクトとして表示されます。
同期モード
BambooHRデータパイプラインは、フル同期と増分同期をサポートしています。 同期モードは、パイプラインに追加するときにオブジェクトごとに設定されます。
フル同期
フル同期では、選択したオブジェクトについてBambooHRから利用可能なすべてのレコードを読み取り、宛先テーブルを上書きします。 各実行でテーブルの内容が置き換えられるため、BambooHRでの削除は宛先に反映されます。 増分同期をサポートしていないオブジェクトは、常にフル同期を実行します。
増分同期
増分同期では、最後に成功した実行以降に変更されたレコードのみが抽出されます。 BambooHRの増分同期では、オブジェクトに応じて次のメカニズムが使用されます。
employees: WorkatoはBambooHR Changed Employeesデータを使用して、最後の同期以降に作成、更新、または削除された従業員を識別し、変更された従業員の完全なレコードのみを抽出します。 削除された従業員によって削除マーカー行が生成されます。 詳細については、削除追跡を参照してください。- カスタム従業員テーブルを含む従業員テーブルオブジェクト: WorkatoはBambooHRの変更済みテーブルデータを使用して、最後の同期以降にテーブル行が変更された従業員を識別し、変更された従業員についてそのテーブル内のすべての行を再抽出します。
time_off_requests: Workatoは、各申請の休暇期間の日付に基づいて日付ウィンドウを進め、各実行で直近のローリングウィンドウを再読み取りして、ウィンドウの同期後に作成または更新された申請を取得します。
増分同期をサポートするオブジェクトについては、サポートされるオブジェクトの表を参照してください。
削除追跡
Workatoは、オブジェクトの同期モードに応じて2つのメカニズムで削除を追跡します。
employeesオブジェクトの場合、Workatoはソース主導のソフト削除追跡を使用します。 WorkatoはBambooHR Changed Employeesデータを通じて従業員の削除を検出し、宛先から行を削除する代わりに、_workato_is_deleted列がtrueに設定された削除マーカー行を書き込みます。
フル同期のみをサポートするオブジェクトでは、各実行でオブジェクトのレコードが完全に置き換えられるため、ソースでの削除は宛先に反映されます。 削除はBambooHRで発生した時点ではなく、次回のフル同期時に反映されます。
スキーマとデータ型の処理
BambooHRからデータを同期するときは、スキーマとデータ型に関して次の考慮事項が適用されます。
カスタムフィールドとカスタムテーブル
BambooHRは、従業員プロファイル上の顧客定義カスタムフィールドと、完全なカスタムテーブルセクションをサポートしています。 Workatoは両方を自動的に検出します。
- カスタム従業員フィールドは、
employeesオブジェクト上の追加列として同期されます。 - カスタム従業員テーブルは、個別の選択可能なオブジェクトとして表示され、標準の従業員テーブルオブジェクトと同じ動作で同期されます。
パイプライン設定中に新規フィールドを自動同期を選択し、パイプライン開始後に追加されたカスタムフィールドを同期します。 詳細については、パイプラインの設定を参照してください。
データ型
BambooHRはこれらのフィールドに構造化値を返す場合があるため、通貨および金額フィールドは文字列として同期されます。 休暇申請の承認詳細など、休暇および時間追跡オブジェクト上のネストされた値は、JSON文字列として同期されます。
合成列
Workatoは、特定のオブジェクトの宛先テーブルに次の合成列を追加します:
| 列 | 適用先 | 目的 |
|---|---|---|
_workato_is_deleted | employees | BambooHRで削除された従業員についてtrueに設定されます。 詳細については、削除追跡を参照してください。 |
_workato_id | BambooHRデータセットオブジェクト | 宛先内の各データセット行を一意に識別する、生成されたサロゲートキー。 |
カスタムレポートスキーマ
BambooHRはカスタムレポート用のスキーマエンドポイントを提供していません。 Workatoは各カスタムレポートからレコードをサンプリングし、そのサンプルからスキーマを構築するため、すべてのカスタムレポートフィールドは宛先で文字列として同期されます。
機密データの処理
BambooHRはHR情報システムであり、ほぼすべてのオブジェクトに従業員のPIIが含まれます。 次のオブジェクトには、一般的に機密フィールドが含まれます:
| オブジェクト | 機密フィールド |
|---|---|
employees | ssn, dateOfBirth, gender, ethnicity, maritalStatus, address1, city, state, zipCode, workEmail, workPhone, mobilePhone, payRate, payType |
employee_compensation | rate, type, reason |
employee_bonus, employee_commission | amount |
employee_benefits | 福利厚生プランの加入詳細 |
employee_dependents | fullName, relationship, dateOfBirth |
employee_emergency_contacts | 非従業員の名前、電話番号、住所 |
goals | パフォーマンス評価データ |
ats_applications | 応募者の名前と連絡先情報 |
PIIが送信先に到達する前に保護するには、パイプライン設定中にフィールドレベルのデータ保護でHashオプションを使用します。 詳細については、パイプラインを構成手順を参照してください。
制限事項
BambooHRをデータパイプラインソースとして使用する場合、次の制限事項が適用されます。
権限で制限されたデータは省略される
BambooHRは、接続ユーザーのアクセスレベルをAPIレスポンスに適用します。 接続ユーザーがアクセスできないテーブル、行、フィールドは、スキーマ検出および同期結果から省略されます。 employee_compensationオブジェクトを同期する予定の場合は報酬フィールドを含め、同期する予定のすべてのデータへの読み取りアクセス権を持つアカウントで接続します。
モジュールで制限されるオブジェクト
timesheet_entries、goals、ats_applications、ats_job_openingsオブジェクトには、時間追跡や応募者追跡など、対応するBambooHRモジュールが必要です。 BambooHRアカウントに対応するモジュールが含まれていない場合、これらのオブジェクトは同期できません。
タイムシートエントリ履歴は1年に制限される
timesheet_entriesオブジェクトの初回同期では、より前の履歴同期開始日を設定している場合でも、過去365日間のレコードが抽出されます。
休暇申請は休暇日付別に同期される
BambooHRは、休暇申請を申請作成日ではなく、休暇期間の日付に基づいて返します。
大量データの初回同期
従業員数が多いアカウントでは、従業員テーブルオブジェクト、およびemployee_benefits、employee_training、goalsオブジェクトの初回同期に長時間かかる場合があります。 初回同期はオフピーク時間帯にスケジュールすることを検討してください。
データセットとカスタムレポートの同期はソースエラーで失敗する
要求されたフィールドに対してBambooHR APIが5xxエラーを返す場合、データセットおよびカスタムレポートオブジェクトの同期が失敗する可能性があります。 これは通常、BambooHR側の破損したデータまたはマッピングのバグが原因です。 これを解決するには、オブジェクトのスキーマから1つ以上の列を削除して同期を再試行するか、Workatoサポートにお問い合わせください。
最小同期頻度
サポートされる最小同期間隔は15分です。 これより高い頻度で同期をトリガーすることはできません。
最終更新日: