AlteryxでZendeskのスケジュールに祝日を登録する

2021.05.08

こんにちは、スズです。

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の列を指定します。

ヘッダー:

定数値を追加してAuthorizationContent-Typeを指定します。

名前
Authorization Basic <Base64でエンコードされた認証情報>
Content-Type application/json

ペイロード:

HTTPアクションPOSTを指定します。また、フィールドからクエリ文字列/本文を取得するには、フォーミュラツールで用意したSlackに投稿するメッセージの列を指定します。

ワークフローを実行します。Alteryx上で結果を確認すると、「HTTP/1.1 201 Created」と表示されていますので成功しているようです。

Zendeskのスケジュールを確認

Zendeskの画面でスケジュールを確認すると、祝日が登録されていました。

さいごに

Alteryxを使って、Zendeskのスケジュールに祝日を追加してみました。

参考サイト