directのAPIで名簿から自動的に一括招待してみた

# はじめに
こんにちは、すぎもんです:grinning:

前回「[directのAPIでチャット内容を取得したり自動投稿してみた](https://qiita.com/sugimon/private/a431435bf8974460c54f)」という記事を公開しました。directはフィールドワークに最適化されており、数多くの現場で活用されています。その際、新たな現場でユーザを名簿から一括登録したいこともあるかと思います。そこで、今回はHULFT Squareを使って、名簿のExcelファイルからdirectにユーザを一括招待する方法をご紹介します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/0043d955-cc66-2d7f-dc0d-c7d4638feba8.png)


# directとの連携をするために必要な設定
### direct側の作業
１．direct上でアプリケーションを登録
２．アクセストークンの取得
### HULFT Square側の作業
３．コネクションの設定
４．directユーザ一括招待

このうち３．までは[前回](https://qiita.com/sugimon/private/a431435bf8974460c54f)の記事に手順が記載済みのため、そちらをご覧ください。今回も同じものを利用します。

### ４．directユーザの一括招待
ここからはHULFT Squareのデザイナー画面を開き作成します。今回は下記Excelからデータを取得します。こちらのファイルはHULFT Square上にアップロードしておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/21af548c-90b2-af16-17c2-502502493baf.png)
#### 4-1.Excel読み取り
まずは、**CSV読み取り**を配置します
「ツールパレット > ファイル > Excel > シートから読み取り」をドラッグ＆ドロップするとポップアップが出てきます。
ファイル：`<読み取りたいExcelファイルのパス>` 
パス設定後に「Excelウィザードの起動」を押下します。
「Excel読み取りウィザード」が起動するので、読み取り範囲をマウスで範囲選択し、「OK」、「完了」を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/87e44868-ef7f-1e2c-60d1-88c948088253.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/855c3d81-89f5-e769-9344-c629b3b19d29.png)

#### 4-2.POST実行処理
名簿のメールアドレスを招待するアイコンを配置します。**POST実行アイコン**を配置します
「ツールパレット > ネットワーク > REST > POST実行アイコン」をドラッグ＆ドロップするとポップアップが出てきます。
➀「必須設定」タブ
接続先：`direct接続検証`　※「3.コネクションの設定」
パス：`組織参加者の組織ごとのプロフィール取得APIのリクエストURL`
リクエストURL内にございます`<DOMAIN_ID>`は招待したいdirectトークのURLから確認可能です。下記のように`/talks/`の前にについている数字列が`<DOMAIN_ID>`です。

`https://direct4b.com/home#/<DOMAIN_ID>/talks/<TALK_ID>`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/435d2a9e-bd14-7697-652a-28be51691ce4.png)


➁「リクエスト設定」タブ
データ入力元：`● データ`
データ形式：`フォーム`
フォーム設定：右側のボタンで行を追加し、組織参加者の組織ごとのプロフィール取得APIのAPIパスパラメータを設定
APIパスパラメータにつきましては、direct REST API 仕様をご確認ください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/78c34b5b-2098-8cf7-1101-0fb26656f469.png)

➂「ヘッダ設定」タブ
「リクエストヘッダ」で2行追加し下記を設定
`Authorization` : `<前回の記事 ２．アクセストークンの取得で取得したアクセストークン>`
`Content-Type`：`application/x-www-form-urlencoded; charset=ISO-8859-1`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/80c24fd7-5807-0868-6ed8-2c1a9aa0862d.png)

#### 4-3.繰り返し(データ件数)
Excalファイルの1行につき1つの招待メールを送信したいので、**繰り返し データ件数**を配置します
「ツールパレット > 基本 > フロー > 繰り返し(データ件数)」をドラッグ＆ドロップするとポップアップが出てきます。初期値から変更する必要はございませんので、「完了」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/3af66e2b-ad8f-e877-70fa-ce6a83438d9f.png)

#### 4-4.mapping
4-3で配置した「繰り返し(データ件数)」アイコンから4-2で配置した「direct招待」アイコンへドラック＆ドロップで線を繋ぎます。その際、「フローを引く」ダイアログが表示されるので、「プロセスフローとデータフローを引く」、マッピングを追加するに☑を入れ、OKを押下します。すると「mapping」アイコンが作成されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/faf07d55-a4fc-9ca4-e28c-27e2c8d9b01b.png)
また下記のように処理の始まりの「Start」アイコンや処理の終わりの「end」アイコン、4-1で配置した「Excel読み取り」アイコンにも線を繋ぎ処理の流れを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/bcdccf79-ec1d-eb42-b493-02147c28e24e.png)
「mapping」アイコンをダブルクリックで開き、「メールアドレス」と「招待するユーザの役割」を表す数字を受け渡します。今回は「ユーザ」の役割で招待するため固定の数字「3」の値を「招待するユーザの役割」としてAPIパスパラメーターへ繋ぎます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/5b444700-87bb-7213-f1a7-348144757ecb.png)

#### 4-4.実行結果確認
画面上「実行ボタン」から実行します。Excelに設定したメールアドレスの一覧へ招待メールが送付されます。

# 最後に
いかがでしたでしょうか。今回は、HULFT Squareを使って名簿のメールアドレスへ一括でdirectへの招待を送信しました。いままで担当者の工数がかかっていた新しいユーザの招待を一括で行うことができることで、工数削減ひいては、人手不足の解消にも寄与できます。
また、HULFT Squareは国産のSaaS製品やオンプレミス製品との連携実績も多いので、他の人事システムなどからユーザ情報を取得してdirectへ連携させるのにも扱いやすいのではないでしょうか。
[HULFT Squareについて知りたい方はこちら](https://www.hulft.com/service/hulft-square)
ここまでお読みいただきありがとうございました。それでは、また！