GreenhouseのオファーレターをBoxに同期し、ServiceNowでオンボーディングリクエストを作成するレシピ
このユースケースでは、Greenhouse、Box、ServiceNow、Workbot for Slackを接続して強力な自動化を作成する方法を説明します。
このレシピの機能
このレシピはGreenhouseで新しいオファーを監視します。 新しいオファーが作成されると、Workbot for Slackは候補者へのオファーレターを生成して送信するためのリマインダーを送信します。 生成して送信をクリックすると、ITチームが候補者のオンボーディングプロセスを開始するためのServiceNowリクエストがトリガーされます。 また、Boxで署名リクエストも作成され、オファーレターがレビュー用に最終校正者へ送信されてから、候補者に送信されます。 最後に、Box署名リクエストが開始されたことを示すために、ServiceNowのリクエスト済みアイテムが生成されます。
前提条件
開始する前に、以下があることを確認してください。
年収という名前のGreenhouseカスタムオファーフィールド。
Starterプラン以上のBoxアカウント。 これは署名テンプレートを使用するために必要です。
次のテンプレートタグIDを含むBox署名テンプレート。
jobTitleannualSalarystartDate
これらの要素はこのガイドの例と一致しており、レシピをステップごとに再作成するのに役立ちます。 ただし、必要に応じて特定のユースケースに合わせて変更できます。
レシピの作成
新入社員のオンボーディングプロセスを開始する前に、オファーレターの生成、レビュー、配信を自動化するレシピを作成するには、次の手順を実行します。
ユースケースは例示のみを目的としています
このユースケースは一例です。 このレシピをワークフローに合わせて適応させるには、トリガー、アクション、または条件ロジックの変更が必要になる場合があります。
Workatoにサインインします。
レシピを作成する予定のプロジェクトを選択します。
Greenhouse、Box、ServiceNow、Workbot for Slackのコネクションを作成します。
Greenhouseコネクションを作成します。
Greenhouseコネクションの作成
この手順では、WorkatoとGreenhouseアカウント間のコネクションを作成します。
作成 > コネクションをクリックするか、Cを2回押します。
新規コネクションページでGreenhouseを検索して選択します。
コネクション名フィールドにコネクションの名前を入力します。
Greenhouseコネクションの設定
ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。
APIキーフィールドにAPIキーを入力します。
APIキーをまだ作成していない場合は、Greenhouseで次の手順を実行してAPIキーを作成します:
Configure > Dev Center > API Credential Managementに移動します。
Create new API keyをクリックします。
API typeドロップダウンメニューを使用して、Harvestを選択します。
PartnerフィールドでWorkatoを検索して選択します。
DescriptionフィールドにAPIキーの説明を入力します。
Manage permissionsをクリックします。
CopyをクリックしてAPIキーをコピーします。
I have stored the API keyをクリックします。
デフォルトの権限を選択したままにするか、Manage permissionsセクションでユースケースに関連する権限を追加で選択します。
保存をクリックします。
APIキーの生成元ユーザーメールをUser emailフィールドに入力します。
Environmentドロップダウンメニューを使用して、接続先のEnvironmentインスタンスを指定します。 空白のままにした場合、デフォルトはプロダクションです。
接続をクリックします。
Boxコネクションを作成します。
Boxコネクションの作成
このステップでは、WorkatoとBoxアカウント間のコネクションを作成します。
Box connectorは、Authorization code grant認証とclient credentials認証の両方をサポートしています。
認可コード付与認証を使用してBoxコネクションを設定するには、次の手順を実行します:
作成 > コネクションをクリックするか、Cを2回押します。
New connectionページでBoxを検索して選択します。
コネクション名フィールドに、Workatoが接続するBoxインスタンスを識別する名前を入力します。
コネクションを作成
ロケーションドロップダウンメニューを使用して、このコネクションを保存する予定のプロジェクトを選択します。
Authentication typeドロップダウンメニューを使用して、Authorization code grantを選択します。
任意です。 Advanced settings(詳細設定)を展開して、Requested permissions (Oauth scopes)(要求された権限(OAuthスコープ))オプションを選択します。
次のスコープから選択できます:
- ファイルとフォルダの読み取り
- ファイルとフォルダの読み取りおよび書き込み
- アプリユーザーの管理
- 管理対象ユーザーの管理
- グループの管理
- Webhookの管理
- エンタープライズプロパティの管理
- 保持ポリシーの管理
- グローバルコンテンツマネージャー
- 管理者がユーザーに代わって呼び出しを実行可能
- 署名リクエストの管理
- Box Relayの管理
接続をクリックします。 これにより、Boxサインインダイアログが開きます。
Boxアカウントのメールアドレスとパスワードを入力します。
Boxにログイン
Authorizeをクリックします。
要求された権限を確認し、Boxへのアクセスを許可をクリックします。
Boxへのアクセスを許可
ServiceNowコネクションを作成します。
ServiceNowコネクションの作成
このステップでは、WorkatoとServiceNowアカウント間のコネクションを作成します。
作成 > コネクションをクリックするか、Cを2回押します。
新規コネクションページでServiceNowを検索して選択します。
ServiceNowコネクションの名前をコネクション名フィールドに入力します。
ServiceNowコネクションの設定
ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。
認証タイプドロップダウンメニューを使用してユーザー名/パスワードを選択します。
ServiceNowのインスタンス名を入力します。 たとえば、ServiceNow URLがhttps://acme.service-now.comの場合、インスタンス名はacmeです。
ServiceNowユーザー名をユーザー名フィールドに入力します。
ServiceNowパスワードをパスワードフィールドに入力します。
接続をクリックします。
Workbot for Slackコネクションの作成。
Workbot for Slackコネクションの作成
このステップでは、WorkatoとWorkbot for Slackアカウント間のコネクションを作成します。
作成 > コネクションをクリックするか、Cを2回押します。
新規コネクションページでWorkbot for Slackを検索して選択します。
名前フィールドにコネクションの名前を入力します。
Workbot for Slackコネクション設定
ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。
任意です。 使用予定のNLUプロバイダー(DialogFlowやAmazon Lex NLUなど)を選択します。 ドロップダウンメニューに表示するには、NLUプロバイダーに接続する必要があります。
任意です。 詳細をクリックして、スラッシュコマンド検証トークン、カスタムヘルプコンテンツ、Slackアプリステータス(classicかどうか)、および Custom OAuth profileを設定します。
接続をクリックし、プロンプトが表示されたらSlackワークスペースにサインインして、続行をクリックしてコネクションを検証します。
プロジェクトに戻り、Create > Recipeをクリックするか、C+Rを押します。
新しいレシピを作成
Nameフィールドにレシピの名前を入力します。
Locationドロップダウンメニューから、レシピを保存する予定のプロジェクトを選択します。
ビルドを開始をクリックします。
レシピの構築を開始
Pick a starting pointをクリックし、Trigger from an appを選択します。
Select an app and trigger eventをクリックします。
GreenhouseのNew eventトリガーを設定します。
Greenhouse New eventトリガーを設定する
このトリガーは、Greenhouseで作成された新しいオファーを監視します。
Greenhouseを検索し、アプリとして選択します。
Greenhouseを選択
New eventトリガーを選択します。
New eventリアルタイムトリガーを選択
イベントカテゴリドロップダウンメニューを使用してオファーを選択します。
イベントドロップダウンメニューを使用してオファーが作成されましたを選択します。
ランダム文字列ジェネレーターを使用して32文字以上のシークレットキーを作成し、シークレットキーフィールドに入力します。 このキーはGreenhouseでwebhookを設定するために必要なため、安全な場所に保存します。
新しいオファー作成の設定
レシピエディターのヘルプセクションに表示されるwebhookエンドポイントURLをコピーします。 この値も、Greenhouseでwebhookを設定するために必要です。
webhookエンドポイントURLをコピー
保存をクリックします。
Greenhouseインスタンスにサインインして、New eventトリガーに対応するwebhookを作成します。
webhookとは何ですか。
Greenhouse webhookの例
Webhookとは、指定されたイベントが発生したときに、アプリケーションからターゲットURLへリアルタイムで送信される通知です。 これらの通知をトリガーするイベントを選択できます。
このユースケースでは、オファーが作成されるたびにWorkatoにデータを送信するGreenhouseのwebhookが必要です。
Greenhouse webhookを設定します。
Greenhouse webhookを設定する
このwebhookは、Greenhouseでオファーが作成されるたびにWorkatoレシピへ通知を送信します。
Configure > Dev Center > Webhooks > Webhooksに移動します。 Create a new webhookページが表示されます。
Name this webhookフィールドにwebhookの名前を入力します。
Whenドロップダウンメニューを使用してOffer createdを選択します。 このフィールドは、webhookをトリガーするGreenhouseイベントを指定します。
WorkatoのwebhookエンドポイントURLをEndpoint URLフィールドに貼り付けます。
トリガーの設定時に作成したシークレットキーをSecret keyフィールドに入力します。
Create webhookをクリックします。
+ Add stepをクリックし、Handle errorsを選択します。
エラー処理ステップを追加
エラー処理制御ステートメントはどのように機能しますか?
エラー処理制御ステートメントを使用すると、プログラミング言語のtry/catchの概念と同様に、レシピ内のアクションのエラーを監視できます。 エラーが発生した場合、次のアクションを実行できます:
ネットワークの問題などの一時的なエラーであった場合に備えて、一連のアクションを再試行します。
メールまたはアプリ内のエラーメッセージを通じてユーザーにエラーを通知する、ロールバックを実行するなどの修復アクションを実行します。 たとえば、作成済みまたは作成途中のレコードを削除することで、ジョブを元に戻すことができます。
この制御ステートメントは、監視ブロックとエラーブロックの2つのブロックで構成されます。 エラーを監視する予定のアクションを監視ブロック内に配置します。 すべてのアクションが成功した場合、Workatoはエラーブロックを無視します。 ただし、監視ブロック内のいずれかのアクションでエラーが発生した場合、エラーブロック内のアクションが実行されます。
Select an app and actionをクリックします。
GreenhouseのGet object (job) by IDアクションを設定します。
Greenhouse Get object (job) by IDアクションを設定する
このステップでは、Greenhouseからジョブの詳細を取得します。
Greenhouseを検索し、アプリとして選択します。
Greenhouseを選択
Get object by IDアクションを選択します。
Get object by IDアクションを選択
Objectドロップダウンメニューを使用してJobを選択します。
GreenhouseのジョブIDStep 1データピルをJob IDフィールドにマッピングします。
Get job by IDアクションを設定
+ Add stepをクリックし、Action in appを選択します。
GreenhouseのGet object (application) by IDアクションを設定します。
Greenhouse Get object (application) by IDアクションを設定する
このステップでは、Greenhouseからアプリケーションの詳細を取得します。
Greenhouseを検索し、アプリとして選択します。
Greenhouseを選択
Get object by IDアクションを選択します。
Get object by IDアクションを選択
Objectドロップダウンメニューを使用してApplicationを選択します。
GreenhouseのアプリケーションIDStep 1データピルをApplication IDフィールドにマッピングします。
Get application by IDアクションを設定
+ Add stepをクリックし、Action in appを選択します。
GreenhouseのGet object (candidate) by IDアクションを設定します。
Greenhouse Get object (candidate) by IDアクションを設定する
このステップでは、Greenhouseから候補者の詳細を取得します。
Greenhouseを検索し、アプリとして選択します。
Greenhouseを選択
Get object by IDアクションを選択します。
Get object by IDアクションを選択
Objectドロップダウンメニューを使用してCandidateを選択します。
Greenhouseの候補者IDStep 1データピルをCandidate IDフィールドにマッピングします。
Get candidate by IDアクションを設定
レシピエディターでプレースホルダーステップ(ステップ7)の横にある•••(省略記号)をクリックし、Deleteを選択します。
+ Add stepをクリックし、Stop jobを選択します。
Stop制御ステートメントはどのように機能しますか。
Stop制御ステートメントは、単一のジョブのそれ以上の処理を停止します。 Stop制御ステートメントは通常、ビジネスロジックにエラーがあり、それ以上のジョブ処理が不要な場合に使用されます。
Stopステートメントは、ジョブを失敗または成功としてマークするように設定できます。
Stop制御ステートメントを設定します。
Stop制御ステートメントを設定する
このステップでは、レシピがGreenhouseから詳細を取得できない場合に、ジョブを停止して失敗としてマークします。
In job report, mark stopped job asドロップダウンメニューを使用してFailedを選択します。
Reason for failureフィールドに次のテキストを入力します。
Greenhouseから詳細を取得できませんでした。
stop jobステップを設定
+ Add stepをクリックし、Action in appを選択します。
Workbot for SlackのPost messageアクションを設定します。
Workbot for Slack Post messageアクションを設定する
このステップでは、Greenhouseで新しいオファーが作成されるたびに、指定したSlackチャンネルにリマインダーメッセージを投稿するようにWorkbotを設定します。 メッセージには、候補者のフルネーム、職位、年収、開始日、ボタンに関する詳細が含まれます。 ボタンをクリックすると、Post messageアクションに続くアクションの実行をレシピに続行させます。
Workbot for Slackを検索し、アプリとして選択します。
Workbot for Slackを選択
Post messageアクションを選択します。
Post messageアクションを選択
Reply channelドロップダウンメニューを使用して、Workbotがメッセージを投稿するSlackチャンネルを選択します。
Messageフィールドを見つけ、Add block to messageをクリックします。
Typeドロップダウンメニューを使用して、ボタン付きセクション(新しいバージョン)を選択します
Section textフィールドに次のテキストを入力します。
こんにちは:wave:
{FIRST_NAME}にオファーレターを送信する時間です:tada:{FIRST_NAME}をGreenhouseの名Step 5データピルに置き換えます。
Button titleフィールドにGenerate and sendと入力します。
Action to take on button-clickフィールドでContinue recipeが選択されていることを確認します。
Button styleドロップダウンメニューを使用してPrimaryを選択します。
Attachment fieldsセクションを見つけ、Add fieldをクリックします。
Attachment fieldsセクションが表示されない場合は、Show optional fieldsをクリックし、Attachment fieldsを検索して、TitleおよびValueチェックボックスを選択し、Apply changesをクリックします。
添付フィールドを表示
TitleフィールドにFull Nameと入力します。
Greenhouseの名Step 5データピルと姓Step 5データピルをValueフィールドにマッピングします。 2つのデータピルの間にスペースを入力してください。
+ Add fieldをクリックします。
TitleフィールドにPositionと入力します。
Greenhouseのジョブ名Step 3データピルをValueフィールドにマッピングします。
+ Add fieldをクリックします。
TitleフィールドにAnnual Salaryと入力します。
ValueフィールドをFormula modeに切り替え、次のFormulaを入力します。
"$"+{ANNUAL_SALARY_VALUE}.reverse.scan(/\d{3}|.+/).join(",").reverse{ANNUAL_SALARY_VALUE}をGreenhouseの値Step 1データピルに置き換えます。 値Step 1データピルは、年収オブジェクトの下にネストされています。
+ Add fieldをクリックします。
TitleフィールドにStart Dateと入力します。
ValueフィールドをFormula modeに切り替え、次のFormulaを入力します。
{START_DATE}.strftime("%d %B %Y"){START_DATE}をGreenhouseの開始日Step 1データピルに置き換えます。
次のスクリーンショットは、Slackでメッセージがどのように表示されるかを示しています。
Slackでのメッセージ表示例
+ステップを追加をクリックし、エラーを処理を選択します。
ステップ10を見つけ、Select an app and actionをクリックします。
ServiceNowのCreate record(request)アクションを設定します。
ServiceNow Create record(request)アクションを設定する
このステップでは、ITが候補者のオンボーディングプロセスを開始するための新しいServiceNowリクエストを作成します。
ServiceNowを検索し、アプリとして選択します。
ServiceNowを選択
Create recordアクションを選択します。
Create recordアクションを選択
Tableドロップダウンメニューを使用してRequestを選択します。
Special instructionsフィールドに次を入力します。
このチケットは、ITが{FIRST_NAME} {LAST_NAME}のオンボーディングプロセスを開始するためのものです。{FIRST_NAME}と{LAST_NAME}をGreenhouseの名Step 5および姓Step 5データピルに置き換えます。
DescriptionフィールドをFormula modeに切り替え、次を入力します。
"詳細 -" + "\n"
"フルネーム -" + {FIRST_NAME} + " " + {LAST_NAME} + "\n"
"職位 - " + {JOB_NAME} + "\n" +
"年収 - " + "$" + {ANNUAL_SALARY_VALUE}.reverse.scan(/\d{3}|.+/).join(",").reverse + "\n" +
"開始日 - " + {START_DATE}.strftime("%d %B %Y") + "\n" +
"IT担当者は、新入社員をオンボーディングしてください。"次のプレースホルダーを、Greenhouseの対応するデータピルに置き換えます。
{FIRST_NAME}: 名Step 5{LAST_NAME}: 姓Step 5{JOB_NAME}: ジョブ名Step 3{ANNUAL_SALARY_VALUE}: 値Step 1(年収オブジェクトから){START_DATE}: 開始日Step 1
Short descriptionフィールドに次を入力します。
新入社員のオンボーディング - {FIRST_NAME} {LAST_NAME}{FIRST_NAME}と{LAST_NAME}をGreenhouseの名Step 5および姓Step 5データピルに置き換えます。
新規レコード値フィールドを設定
+ Add stepをクリックし、Action in appを選択します。
BoxのCreate sign requestアクションを設定します。
Box Create sign requestアクションを設定する
このステップでは、既存の署名テンプレートを使用してBox署名リクエストを作成し、送信します。 このステップでは、署名テンプレートで事前入力タグを使用している場合に、Greenhouseのデータ(ジョブタイトル、年収、開始日)をマッピングします。
Boxを検索し、アプリとして選択します。
Boxを選択
Create sign requestアクションを選択します。
Create sign requestアクションを選択
Nameフィールドに次を入力します。
{FIRST_NAME} {LAST_NAME}のオファー送信{FIRST_NAME}と{LAST_NAME}をGreenhouseの名Step 5および姓Step 5データピルに置き換えます。
使用する予定の署名テンプレートをSign templateドロップダウンメニューから選択します。
Signersセクションを展開し、Add Signerをクリックします。
Roleドロップダウンメニューを使用してFinal copy readerを選択します。
Emailフィールドに最終校正者のメールアドレスを入力します。
Orderフィールドに1と入力します。
+ Add Signerをクリックして、2人目の署名者を追加します。
Roleドロップダウンメニューを使用してSignerを選択します。
Emailフィールドに署名者のメールアドレスを入力します。
Orderフィールドに2と入力します。
Destination folderドロップダウンメニューを使用して、確定済みの署名済みドキュメントと署名ログの保存先フォルダを選択します。
Prefill tagsセクションを見つけ、Add itemをクリックします。
Prefill tagsセクションが表示されない場合は、Show optional fieldsをクリックし、Prefill tagsを検索して、Document tag ID、Text value、Date valueチェックボックスを選択し、Apply changesをクリックします。
Document tag IDフィールドにjobTitleと入力します。
Greenhouseのジョブ名Step 3データピルをText valueフィールドにマッピングします。
+ Add itemをクリックして、2つ目の事前入力タグを追加します。
Document tag IDフィールドにannualSalaryと入力します。
Text valueフィールドをFormula modeに切り替え、次を入力します。
{ANNUAL_SALARY_VALUE}.reverse.scan(/\d{3}|.+/).join(",").reverse{ANNUAL_SALARY_VALUE}をGreenhouseの値Step 1データピルに置き換えます。 値Step 1データピルは、年収オブジェクトの下にネストされています。
テキストフィールドを設定
+ Add itemをクリックして、3つ目の事前入力タグを追加します。
Document tag IDフィールドにstartDateと入力します。
Greenhouseの開始日Step 1データピルをDate valueフィールドにマッピングします。
+ Add stepをクリックし、Action in appを選択します。
ServiceNowのCreate record(requested item)アクションを設定します。
ServiceNow Create record(requested item)アクションを設定する
このステップでは、Box署名リクエストが開始されたことを記録するリクエスト済みアイテムをServiceNowで作成します。
ServiceNowを検索し、アプリとして選択します。
ServiceNowを選択
Create recordアクションを選択します。
Create recordアクションを選択
Tableドロップダウンメニューを使用してRequested itemを選択します。
New record valuesセクションを見つけます。
New record valuesセクションが表示されない場合は、Show optional fieldsをクリックし、Request、Description、Short descriptionチェックボックスを選択し、Apply changesをクリックします。
ServiceNowの番号Step 10データピルをRequestフィールドにマッピングします。
DescriptionフィールドをFormula modeに切り替え、次を入力します。
"Box署名リクエストが開始されました" + "\n" +
"署名ID - " + {ID}
"署名者 - " + {SIGNERS}.pluck('email'){ID}と{SIGNERS}をBoxのIDStep 11および署名者Step 11データピルに置き換えます。
Short descriptionフィールドにBox sign request initiatedと入力します。
Create requested itemアクションを設定
レシピエディターでプレースホルダーステップ(ステップ14)の横にある•••(省略記号)をクリックし、Deleteを選択します。
+ Add stepをクリックし、Stop jobを選択します。
2つ目のStop制御ステートメントを設定します。
2つ目のStop制御ステートメントを設定する
このステップでは、レシピがGreenhouseから詳細を取得できない場合に、ジョブを停止して失敗としてマークします。
In job report, mark stopped job asドロップダウンメニューを使用してFailedを選択します。
Reason for failureフィールドに次のテキストを入力します。
ServiceNowでのレコード作成中、またはBox署名リクエストの送信中に問題が発生しました。
stop jobステップを設定
保存をクリックします。
GreenhouseのオファーレターをBoxに同期し、ServiceNowでオンボーディングリクエストを作成するレシピをテストして実装する準備ができました。
レシピ設定の例。
GreenhouseのオファーレターをBoxに同期し、ServiceNowでオンボーディングリクエストを作成するレシピ
Last updated: