【コラボフロー】yoomを利用してコラボフローとcybozu.comのユーザー情報の登録を自動化してみた！

皆さんこんばんは！

12月ももう中旬！？
毎年言っていることですが、時がたつのは早いな～と感じます。😭
今年は暖冬と言う事もあり、12月感がないというのも１つ理由かもしれません。

さてさて、雑談はここら辺にして本題に入っていきましょう！
本記事は、コラボフロー Advent Calendar 2023　13日目の記事になります！

コラボフローって何ぞや！？という方は[こちら](https://www.collabo-style.co.jp/)をご確認ください！

お客様と商談をしていると以下のようなお声をよくいただきます。
- コラボフロー利用する際は、組織の情報って登録が必要なの？
- サイボウズ製品の組織情報と連携できないの？

社内にはいろいろなシステムが混在する中で、それぞれのシステムにユーザーの情報を登録するのは手間と感じている方が多いなと感じています。

そんなお悩みを一部ではありますが解決してみたいと思います💪

今回はIPaaS製品「[yoom](https://lp.yoom.fun/)」を利用して、
コラボフローのユーザー情報と[cybozu.com](https://cybozu.co.jp/products/)のユーザー情報の登録を自動化します！


## 全体の概要
全体の流れとしては、以下の流れになります。
全体の概要を把握したうえで、設定に移っていきましょう！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2954478/58a195c9-2f8f-64d0-479c-aee1c68d3c9e.png)


## 設定

### コラボフローの設定

アカウント登録申請書の入力画面と申請した際の申請フローを設定していきます。



#### フォーム設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2954478/670137e8-0e93-bd6b-ab11-4eadb6a5a5d8.png)

#### 経路設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2954478/b8475757-b4a3-4764-96ab-e3015157fb63.png)


### yoomの設定
今回は、yoomの**フローボットの機能**を利用していきます。
※yoomのマイアプリの設定は省略します。

yoomの設定については項目が多いのでステップごとに解説していきます！



#### 第１ステップ　承認が下りた際のトリガーを設定しよう！

全体の概要で確認いただいたかと思いますが、アカウント登録申請書の決裁がされた際に、
yoom側でコラボフローとcybozu.comの組織情報の登録をおこなうためのトリガーを設定していきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2954478/54a5e20a-6f86-ef17-c8c7-512d0fefabc0.png)

フローボットを選択し新規作成
新規作成を選択 > 初めから作成を選択 > 特定のアプリイベントを受信したときを選択 > コラボフローを選択

「トリガーアクション」項目で、「経路のWebhookを受信したら（Webhook起動）」を選択し、次へに進む

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2954478/7259e954-5622-bc5e-6924-6088637a115b.png)

ページが遷移したらwebhookのURLをコピーする

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2954478/08dc034b-d742-8a9d-3b3b-6b662b54b89a.png)

コラボフローを開き、アカウント登録申請書の経路を開きwebhookのタブから新規登録。
通知先のWebhookURLに張り付けする。

通知条件に関しては、「申請書の経路終了時に通知する」にチェックを入れる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2954478/5a9a3595-be2f-ae31-03f1-5523a8f80e3c.png)


yoomの画面に戻る。
コラボフローからの通知をyoom側で受け取れているかテストを実施しましょう。
テストを実施し、webhookの取得に成功すると申請書の情報などを取ることが出来ます。

また、アウトプットを開くと、いろいろな項目が表示されます。
アウトプットに項目を登録するとこの後の処理でwebhookで取得した申請書のデータを利用することが出来ます。
※のちの処理：今回でいうとコラボフローのユーザー情報登録やcybozu.comのユーザー情報登録

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2954478/3f96aff4-ddff-c1ce-ecb6-64f9b6218905.png)


コラボフローとcybozu.comのユーザー登録の際に、以下の項目を利用するためアウトプットに登録します。
- 社員番号
- 氏名
- パスワード
- 確認用パスワード
- 所属組織
- 役職
- メールアドレス
- ユーザーID


アウトプットへの追加方法について、
webhookで項目を取得すると、＋マークが表示されるので、
各パーツのvalueの箇所を＋ボタンを押してアウトプットに登録し保存します。

![【yoom】アウトプットに追加.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2954478/bd27ec4b-f916-efec-7f2f-b8e6ac2d9850.gif)

#### 第２ステップ　コラボフローのユーザー情報を登録するアクションを作成しよう！

先程登録した、webhookの通知取得の下の＋ボタンを押します。
アプリと連携する > コラボフローを選択。
アクションに「ユーザー情報登録」を選択する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2954478/9c11f731-8166-4417-6b8e-f3ed1434c7f6.png)

API接続設定で以下の項目を設定します。

- ユーザーID
- 氏名
- パスワード
- 社員コード
- メールアドレス
- 所属グループ
- インスタンス名
※インスタンス名に関してはコラボフローのインスタンス名を指定。
 
![API項目設定.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2954478/ad206834-9a45-b5e6-dcb7-12acb1f79e47.gif)

こちらも設定ができたらテストを実行して登録できているか確認しましょう。

#### 第３ステップ cybozu.com共通管理のユーザーを登録するアクションを作成しよう！

先程登録した、webhookの通知取得の下の＋ボタンを押します。

アプリと連携する > カスタムアプリを選択 > アクションの項目で「カスタムコネクト」を選択。
※yoomに登録されているcybozu.comのアプリでは組織情報のAPIを操作することが出来ないため、カスタムコネクトで設定します。

APIの設定に関しては、cybozu.com共通APIドキュメント[ ユーザーを追加する](https://cybozu.dev/ja/common/docs/user-api/users/add-users/)をご参照ください。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2954478/428342ad-fb7d-2177-b429-4a341c5f4400.png)

API接続設定をおこないます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2954478/a8cb2c81-46e2-6bef-c610-2d03b8553e3d.png)


ボディーパラメーター（JSON）の設定をおこないます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2954478/25b55da8-14d4-bf0f-9db8-e9547a4e8863.png)

設定が終了次第、こちらもテストしデータの登録ができていれば保存します。


#### 第４ステップ　ユーザーが所属する組織を登録しよう！

先程の手順と同様にカスタムアプリで登録を行っていきます。
APIの設定に関しては、cybozu.com共通APIドキュメント[ユーザーが所属する組織を更新する](https://cybozu.dev/ja/common/docs/user-api/users/update-users-departments/)をご参照ください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2954478/b1ace08d-c6d6-b9b1-fa60-d70d64e0d3e4.png)


API接続設定をおこないます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2954478/1922af16-ed38-7eba-9498-f7f3916855ea.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2954478/bf84c266-fe7c-2afa-d360-d1c14657ac8d.png)
ボディーパラメーター（JSON）の設定をおこないます。


#### 設定完了!!

## 動かしてみよう!


### コラボフロー側
![完成動画.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2954478/47d823b9-2339-ec02-c81f-fc5ba990b032.gif)


### cybozu.com側
![完成動画（kintone）.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2954478/dfb4ed03-8223-b782-7d29-7afa4c98fce7.gif)


申請承認後にコラボフローとcybozu.com側のユーザー登録ができました！
今回は、ユーザー情報の登録でしたが、APIを活用することで、
組織情報や役職の登録なども可能になります。

また、yoomのようなIPaaS製品を利用することで、プログラムを書くことなく
設定できるので、簡単に連携ができ業務効率化の幅が広がるのではないかと思います。

ぜひ一度、試してみてはいかがでしょうか。

引き続き、[コラボフロー Advent Calendar 2023](https://qiita.com/advent-calendar/2023/collaboflow)をお楽しみください✨