AlteryxでZendeskのスケジュールに祝日を登録する
こんにちは、スズです。
Zendeskのスケジュールには休日を任意で登録することができます。画面上から1つずつ登録するのはちょっと手間がかかるので、今回はAlteryxを使って一度に複数の祝日を登録してみました。
環境
本エントリの執筆に使用した環境は以下の通りです。
- Alteryx Designer 2020.2
- Windows 10 Pro
また、Zendeskはサンドボックスを使用しています。
事前準備
Zendeskの認証情報
Zendeskからユーザーと組織の情報を取得するために、Zendesk APIの発行とBase64でエンコードした認証情報を用意します。
Zendesk APIは管理者のアカウントを使って管理 > APIからAPIトークンを追加にて発行します。
Base64でエンコードした認証情報はAlteryxを使って用意します。テキスト入力ツールで以下のデータを用意します。
Field1 |
---|
<APIを発行したアカウントのメールアドレス>/token:<APIトークン> |
Base64エンコーダーツールを接続、「Field1」列を対象にしてワークフローを実行すると、以下のように「Base64_encoded」という列が作成されます。
Field1 | Base64_encoded |
---|---|
<APIを発行したアカウントのメールアドレス>/token:<APIトークン> | <Base64でエンコードした認証情報> |
スケジュールのIDを確認
今回はZendeskにある既存のスケジュールに祝日を追加するため、Alteryxを使って対象のスケジュールのIDを確認します。
テキスト入力ツールで接続先のURLを用意します。
https://<サブドメイン>.zendesk.com/api/v2/business_hours/schedules.json
ダウンロードツールを配置してテキスト入力ツールと接続します。
基本設定:
URLにURLの列を指定します。
ヘッダー:
定数値を追加してAuthorization
を指定します。
名前 | 値 |
---|---|
Authorization | Basic <Base64でエンコードされた認証情報> |
ペイロード:
HTTPアクションにGET
を指定します。
これでデータを取得できましたが、見やすくするためにダウンロードしたデータをJSONパースツールでパースします。
結果を確認します。対象のスケジュールの名前がありますので、そのスケジュールに対応するIDを確認できます。
祝日を追加するワークフロー
Zendeskのスケジュールに祝日を追加します。
祝日の一覧は以下のサイトから取得しました。今回はCSVファイルを使用しています。
フォーミュラツールを使って、Zendeskに投稿するためのメッセージを作成します。
以下のように、JSON形式のデータを作成しました。
'{"holiday": {"name": "' + <祝日の名前の列> + '","start_date": "' + <祝日の日付の列> + '","end_date": "' + <祝日の日付の列> + '"}}'
テキスト入力ツールを使って、Zendeskの投稿先のURLを用意します。
https://<サブドメイン>.zendesk.com/api/v2/business_hours/schedules/<スケジュールのID>/holidays.json
フィールド付加ツールを使用して、祝日のデータの各行に対してURLを付与します。
ダウンロードツールを使ってZendeskのスケジュールに祝日を追加します。
基本設定:
URLにURLの列を指定します。
ヘッダー:
定数値を追加してAuthorization
とContent-Type
を指定します。
名前 | 値 |
---|---|
Authorization | Basic <Base64でエンコードされた認証情報> |
Content-Type | application/json |
ペイロード:
HTTPアクションにPOST
を指定します。また、フィールドからクエリ文字列/本文を取得するには、フォーミュラツールで用意したSlackに投稿するメッセージの列を指定します。
ワークフローを実行します。Alteryx上で結果を確認すると、「HTTP/1.1 201 Created」と表示されていますので成功しているようです。
Zendeskのスケジュールを確認
Zendeskの画面でスケジュールを確認すると、祝日が登録されていました。
さいごに
Alteryxを使って、Zendeskのスケジュールに祝日を追加してみました。