Google Workspaceにユーザーを追加
このユースケースでは、Google Workspaceにプログラムでユーザーを追加したり、BambooHRで新入社員が検出されたときにユーザーを追加したりするAPIレシピとカスタムエンドポイントを作成するための手順を説明します。 これにより、Google Admin consoleに手動でログインして新入社員または新入社員のグループを追加する代わりに、CLI(コマンドラインインターフェース)またはHRシステムからユーザープロビジョニングを自動化できます。
ユースケースは例示のみを目的としています
ユースケースは例として使用することを目的としています。 APIトリガーの設定、アクションの設定、条件ロジックなどのAPIレシピの変更は、特定のセットアップに合わせて調整が必要になる場合があります。
このAPIレシピの機能
このAPIレシピを使用すると、Google Workspaceにプログラムでユーザーを追加したり、BambooHRで新入社員が検出されたときにユーザーを追加したりできます。
APIレシピを作成する
Google Workspaceに新入社員を追加するAPIレシピを作成するには、次の手順を実行します:
Workatoにサインインします。
レシピを作成する予定のプロジェクトを選択します。
Google Workspaceのコネクションを作成します。
Google Workspaceのコネクションを作成
この手順では、WorkatoとGoogle Workspaceアカウント間のコネクションを作成します。 Google Workspaceコネクターは次の認証方法をサポートしています:
OAuth 2.0認証
OAuth 2.0認証を使用してGoogleワークスペースに接続するには、次の手順を実行します:
作成 > コネクションをクリックするか、Cを2回押します。
コネクションとしてGoogleワークスペースを検索して選択します。
コネクション名フィールドにコネクションの名前を入力します。
ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。
認証タイプドロップダウンメニューを使用して、OAuth 2.0を選択します。
任意です。 詳細設定セクションを展開し、コネクションにリクエストするOAuth 2.0スコープを選択します。
選択したスコープに加えて、Workatoはデフォルトで次のスコープをリクエストします:
| 説明 | リクエストされるスコープ |
|---|---|
| ドメイン上のユーザーのプロビジョニングの表示と管理 | admin.directory.user |
| ドメイン上の組織部門の表示と管理 | admin.directory.orgunit |
| 顧客のドメインのプロビジョニングの表示と管理 | admin.directory.domain |
| ドメイン上のユーザースキーマのプロビジョニングの表示と管理 | admin.directory.userschema |
| ドメイン上のグループのプロビジョニングの表示と管理 | admin.directory.group |
| ドメイン上のグループサブスクリプションの表示と管理 | admin.directory.group.member |
| 組織内のユーザー間のデータ移行の表示と管理 | admin.datatransfer |
| 管理タスクを実行してモバイルデバイスを管理 | admin.directory.device.mobile.action |
| Googleワークスペースドメインの監査レポートの表示 | admin.reports.audit.readonly |
| Googleワークスペースドメインの利用状況レポートの表示 | admin.reports.usage.readonly |
| ドメインの委任された管理者ロールの管理 | admin.directory.rolemanagement |
| ドメイン上のユーザーのデータアクセス権限の管理 | admin.directory.user.security |
スコープの詳細については、Google Directory APIスコープまたはGoogle APIのOAuth 2.0スコープガイドを参照してください。
Googleでサインインをクリックします。
Googleワークスペースに接続
Googleアカウントでサインインします。 Googleワークスペースで組織全体の変更を行うには、Googleアカウントに管理者権限が必要です。
許可をクリックして、WorkatoによるGoogleアカウントへのアクセスを有効にします。
WorkatoがGoogleアカウントにアクセスできるようにする
サービスアカウント認証
Googleサービスアカウントを設定するには、次の手順を実行します:
GCPプロジェクトでサービスアカウントを作成します。
IAMと管理>サービスアカウントに移動します。 ダッシュボードのスコープが、サービスアカウントを含むプロジェクトに設定されていることを確認します。
ダッシュボードのスコープを確認します。
使用するサービスアカウントのメールをクリックします。
使用するサービスアカウントのメールをクリックします。
サービスアカウントのメールをコピーし、後でコネクションを設定するために保存します。
アカウントのメールをコピーします。
キータブに移動します。
秘密鍵を生成し、JSON形式でダウンロードします。 キーは1回しかダウンロードできません。
JSONファイルを開き、秘密鍵全体を-----BEGIN PRIVATE KEY-----から-----END PRIVATE KEY-----\nまで(両端を含む)コピーして、後でコネクションを設定するために保存します。
APIリクエストレシピを作成する予定のプロジェクトを選択します。
作成>レシピをクリックするか、C+Rを押します。
新しいレシピを作成
Nameフィールドにレシピの名前を入力します。
Locationドロップダウンメニューを使用して、レシピを保存するプロジェクトを選択します。
ビルドを開始をクリックします。
レシピの構築を開始
開始点を選択をクリックし、アプリからのトリガーを選択します。 APIリクエストトリガーでは、コネクションを確立する必要はありません。
Select an app and trigger eventをクリックします。
新規APIリクエストトリガーを設定します。
新規APIリクエストトリガーの設定
この手順では、レシピがAPIリクエストを処理して応答できるようにするAPIリクエストとレスポンスを作成します。
API platform by Workatoを検索し、アプリとして選択します。
新規APIリクエストトリガーを選択します。
新規APIリクエストトリガー
次の手順を実行して、リクエストスキーマを設定します。
リクエストスキーマセクションに移動し、+フィールドを追加をクリックします。
名前フィールドとラベルフィールドにUsersと入力します。
Data typeドロップダウンメニューを使用してObjectを選択します。
任意ドロップダウンメニューを使用して、いいえを選択します。
保存をクリックします。
Usersオブジェクト
名前フィールドとラベルフィールドにusernameと入力します。
データ型ドロップダウンメニューを使用して、文字列を選択します。
任意ドロップダウンメニューを使用して、いいえを選択します。
Usernameリクエストスキーマ
ネスト先ドロップダウンメニューを使用して、Usersを選択します。
保存をクリックします。
リクエストスキーマセクションに戻り、+フィールドを追加をクリックします。
名前フィールドとラベルフィールドにfirstnameと入力します。
データ型ドロップダウンメニューを使用して、文字列を選択します。
任意ドロップダウンメニューを使用して、いいえを選択します。
ネスト先ドロップダウンメニューを使用して、Usersを選択します。
保存をクリックします。
リクエストスキーマセクションに戻り、+フィールドを追加をクリックします。
名前フィールドとラベルフィールドにlastnameと入力します。
データ型ドロップダウンメニューを使用して、文字列を選択します。
任意ドロップダウンメニューを使用して、いいえを選択します。
ネスト先ドロップダウンメニューを使用して、Usersを選択します。
保存をクリックします。
設定済みリクエストスキーマ
次の手順を完了して、リクエストレスポンスを設定します。
レスポンスセクションに移動し、レスポンスを追加をクリックします。
レスポンスを追加をクリック
名前フィールドにReturn resultを入力します。
HTTPSステータスコード標準レスポンスドロップダウンメニューを使用して、200 - OKを選択します。
レスポンススキーマセクションに移動し、フィールドを手動で追加をクリックします。
名前フィールドとラベルフィールドにresultを入力します。
データ型ドロップダウンメニューを使用して、文字列を選択します。
任意ドロップダウンメニューを使用して、いいえを選択します。
保存をクリックします。
設定済み200 - OKレスポンス
もう一度レスポンスを追加をクリックします。
名前フィールドにError outputを入力します。
HTTPSステータスコード標準レスポンスドロップダウンメニューを使用して、400 - Bad Requestを選択します。
レスポンススキーマセクションに移動し、フィールドを手動で追加をクリックします。
名前フィールドとラベルフィールドにresultを入力します。
データ型ドロップダウンメニューを使用して、文字列を選択します。
任意ドロップダウンメニューを使用して、いいえを選択します。
保存をクリックします。
設定済み400 - Bad Requestレスポンス
+ステップを追加をクリックし、エラーを処理を選択します。
ステップを追加 > エラーを処理をクリック
エラー処理制御ステートメントはどのように機能しますか?
エラー処理制御ステートメントを使用すると、プログラミング言語のtry/catchの概念と同様に、レシピ内のアクションのエラーを監視できます。 エラーが発生した場合、次のアクションを実行できます:
ネットワークの問題などの一時的なエラーであった場合に備えて、一連のアクションを再試行します。
メールまたはアプリ内のエラーメッセージを通じてユーザーにエラーを通知する、ロールバックを実行するなどの修復アクションを実行します。 たとえば、作成済みまたは作成途中のレコードを削除することで、ジョブを元に戻すことができます。
この制御ステートメントは、監視ブロックとエラーブロックの2つのブロックで構成されます。 エラーを監視する予定のアクションを監視ブロック内に配置します。 すべてのアクションが成功した場合、Workatoはエラーブロックを無視します。 ただし、監視ブロック内のいずれかのアクションでエラーが発生した場合、エラーブロック内のアクションが実行されます。
Google Workspaceのユーザー追加アクションを設定します。
Google Workspaceのユーザー追加アクションを設定
この手順では、Google Workspaceにユーザーを追加します。 この手順はMonitorブロック内にネストされていることに注意してください。
監視するアプリとしてGoogle Workspaceを検索して選択します。
アクションとしてレコードを追加を選択します。
オブジェクトドロップダウンメニューを使用して、Usersを選択します。
名前フィールドを展開し、lastnameStep 1データピルを姓フィールドにマッピングします。
ユーザーのメールアドレスをメインのメールアドレスフィールドに入力します。
ユーザー追加アクション
保存をクリックします。
ERROR FOUND?を設定します。 ブロック。
この手順では、ユーザーを追加アクションの実行時にエラーを受け取った場合の応答方法をレシピに指示します。
ERROR FOUND?ブロックを設定するには、次の手順を実行します:
ERROR FOUND?ブロックに移動し、はいブランチにDO NOT RETRYが表示されていることを確認します。 通常、このオプションはデフォルトで設定されています。
ERROR FOUND?ブロック
はいブランチに移動し、アプリとアクションを選択をクリックします。
アプリとしてAPI platform by Workatoを検索して選択します。
アクションとしてAPIリクエストに応答を選択します。
レスポンスドロップダウンメニューを使用して、エラー出力を選択します。
レスポンス本文セクションを展開します。
エラーメッセージStep 4データピルを結果フィールドにマッピング
いいえブランチに移動し、+ステップを追加ボタンをクリックします。
アプリとしてAPI platform by Workatoを検索して選択します。
アクションとしてAPIリクエストに応答を選択します。
レスポンスドロップダウンメニューを使用して、Return resultを選択します。
APIコレクションとAPIエンドポイントを作成
このセクションでは、新しいAPIコレクションとAPIエンドポイントを作成する手順を説明します。
APIコレクションを作成するには、次の手順を実行します:
APIコレクションを作成します。
APIコレクションを作成する
このセクションでは、Google Workspace APIエンドポイントを保存できる新しいAPIコレクションを作成する手順を説明します。
プラットフォーム > API platformに移動します。
APIコレクションタブをクリックします。
+ 新規コレクションを作成をクリックします。
APIレシピコレクションが選択されていることを確認し、次へをクリックします。
既存のレシピを使用が選択されていることを確認します。
レシピフォルダドロップダウンメニューを使用して、APIコレクションを格納する予定のフォルダを選択します。
すべてのエンドポイントの選択を解除します。
Collection nameフィールドに名前を入力します。
コレクションのバージョン番号を入力します。 例: v1。
任意です。 Descriptionフィールドにコレクションの説明を入力します。
Create collectionをクリックします。
Create collectionをクリック
新しいエンドポイントを作成します。
エンドポイントを作成する
この手順では、APIリクエストレシピに基づいて新しいエンドポイントを作成し、APIコレクションに格納します。
プラットフォーム > API platformに移動します。
APIコレクションタブをクリックします。
前の手順で作成したAPIコレクションを選択します。
Create new endpointをクリックします。
Recipeドロップダウンメニューを使用して、前の手順で作成したAPIリクエストレシピを選択します。
HTTP methodドロップダウンメニューを使用してPOSTを選択します。
Endpoint nameフィールドにエンドポイントの名前を入力します。
Endpoint pathフィールドでエンドポイントのパスを定義します。 例:add-google-workspace-user-v1。 エンドポイントパスにスラッシュ\を含めないでください。 これはエンドポイントを作成した後に自動的に追加されます。
任意です。 Endpoint descriptionフィールドに説明を入力します。
任意です。 Request timeoutフィールドにタイムアウト値を設定します。 デフォルト値は30秒、最大値は240秒です。
Add endpointをクリックします。
エンドポイントを作成
CLIからユーザーを追加
エンドポイントを使用して、CLIから直接ユーザーを追加できます。
curlコマンドはどのように機能しますか?
curlコマンドは、次の項目に分解できます:
-X POST:POST HTTPメソッドを使用しますhttps://apim.workato.com/<your-workspace-name>/<your-endpoint-name>:APIエンドポイントURL。<your-workspace-name>と<your-endpoint-name>を実際のワークスペース名とエンドポイント名に置き換える必要があります。-H "Content-Type: application/json":JSON形式を指定します。-H "API-Token: <your-api-token>":認証ヘッダー。<your-api-token>を実際のAPIトークンに置き換える必要があります。 --d '{"username": "janderson", "firstname": "Jade", "lastname": "Anderson"}':リクエストスキーマの3つの必須フィールド(username、firstname、lastname)を含むリクエスト本文。
実際のベースURLと認証方法は、Workato APIコレクションの設定方法によって異なります。 正確なURLと認証の詳細は、プラットフォーム > API platform > APIコレクションのAPIコレクション設定で確認できます。
curl -X POST https://apim.workato.com/<your-workspace-name>/<your-endpoint-name>\
-H "Content-Type: application/json" \
-H "API-Token: <your-api-token>" \
-d '{
"users": [
{"username": "janderson", "firstname": "Jade", "lastname": "Anderson"},
{"username": "jhernandez", "firstname": "Josh", "lastname": "Hernandez"},
{"username": "ssingh", "firstname": "Sanjeev", "lastname": "Singh"},
{"username": "etan", "firstname": "Emily", "lastname": "Tan"},
{"username": "amiller", "firstname": "Alex", "lastname": "Miller"}
]
}'APIエンドポイントを使用してCLIからプログラムでGoogle Workspaceにユーザーを追加するには、次の手順を実行します:
CursorやVSCodeなど、お好みのCLIを開きます。
次のコマンドを実行し、<your-workspace-name>、<your-endpoint-name>、<your-api-token>を設定に合わせて更新します:
CLIでコマンドを実行
BambooHRトリガーを通じてユーザーを追加
BambooHRで新入社員が検出されたときにGoogle Workspaceにユーザーを追加するには、次の手順を実行します:
Workatoにサインインします。
レシピを作成する予定のプロジェクトを選択します。
BambooHRのコネクションを作成します。 HTTPコネクターでは、コネクションの設定は不要です。
BambooHRコネクションを作成します。
BambooHRコネクションを作成
この手順では、BambooHRとWorkatoアカウント間のコネクションを作成します。 詳細については、BambooHRを参照してください。
BambooHRコネクションを設定するには、次の手順を実行します:
作成 > コネクションをクリックするか、Cを2回押します。
新しいコネクションページでBambooHRを検索して選択します。
コネクション名フィールドにコネクションの名前を入力します。
BambooHRコネクション設定
ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。
APIトークンフィールドにAPIトークンを入力します。 詳細については、BambooHRでAPIキーを作成する方法セクションを参照してください。
サブドメインフィールドにサブドメインを入力します。 たとえば、サブドメインがhttps://acme.bamboohr.com/の場合はacmeと入力します。
接続をクリックします。
プロジェクトに戻り、Create > Recipeをクリックするか、C+Rを押します。
Nameフィールドにレシピの名前を入力します。
Locationドロップダウンメニューを使用して、レシピを保存するプロジェクトを選択します。
ビルドを開始をクリックします。
開始点を選択をクリックし、アプリからのトリガーを選択します。
Select an app and trigger eventをクリックします。
BambooHRの新規従業員トリガーを設定します。
BambooHRの新規従業員トリガーを設定
この手順では、BambooHRで新入社員が検出されたときに実行されるトリガーを作成します。
トリガーを設定するには、次の手順を実行します:
アプリとしてBambooHRを検索して選択します。
新規/更新された従業員トリガーを選択します。
トリガーとして新規従業員を選択
このレシピを初めて開始したときに取得するイベントの開始日時フィールドに移動し、カレンダーモーダルを使用して、レシピがイベントの監視を開始する日付を選択します。 デフォルトでは、トリガーは5分ごとに新規イベントを確認します。 直近1時間のイベントを取得するには、このフィールドを空のままにします。 レシピを実行またはテストした後は、この値を変更できません。
この入力フィールドの詳細については、トリガーを参照してください。
トリガーを設定
保存をクリックします。
+ Add stepをクリックし、Action in appを選択します。
HTTPアクションを設定します。
HTTPアクションを設定
この手順では、リクエストをAPIエンドポイントにマッピングし、APIエンドポイントからのレスポンスにマッピングするHTTPアクションを設定します。
HTTPを検索し、アプリとして選択します。
アプリを選択
リクエストを送信アクションを選択します。
リクエスト名フィールドにリクエストの名前を入力します。
メソッドドロップダウンメニューを使用して、Postを選択します。
前の手順で作成したエンドポイントURLをリクエストURLフィールドに貼り付けます。
リクエストヘッダーセクションに移動し、ヘッダーを追加をクリックします。
ヘッダー名フィールドにAPI Tokenと入力し、値フィールドにエンドポイントAPIトークンを貼り付けます。
リクエストコンテンツタイプドロップダウンメニューを使用して、JSONリクエスト本文を選択します。
JSONを使用をクリックします。
次のコードをJSONサンプルフィールドに貼り付けます:
{
"users": [
{
"username": "",
"firstname": "",
"lastname": ""
}
]
}
リクエストスキーマ
次へをクリックします。
データを確認して正確であることを確認し、スキーマを生成をクリックします。
リクエスト本文セクションに移動します。
BambooHRの勤務先メールStep 1データピルをユーザー名フィールドにマッピングします。
BambooHRの名Step 1データピルをFirstnameフィールドにマッピングします。
BambooHRの姓Step 1データピルをLastnameフィールドにマッピングします。
レスポンスセクションに移動し、レスポンスコンテンツタイプがJSONに設定されていることを確認します。
レスポンススキーマセクションに移動し、JSONを使用をクリックします。
次のコードをJSONサンプルフィールドに貼り付けます:
{
"result": "User added successfully",
"username": "",
"firstname": "",
"lastname": ""
}
レスポンススキーマ
次へをクリックします。
データを確認して正確であることを確認し、スキーマを生成をクリックします。
保存をクリックします。
Last updated: