SaaS連携をノーコードで実現するiPaaS「BizteX Connect」でGmailの添付ファイルをfreeeに連携してみる

この記事はWeb API Advent Calendar 2021 の7日目の記事です。

https://qiita.com/advent-calendar/2021/webapi

6日目は @nanoka さんの記事でした。

https://qiita.com/nanoka/items/21ead26b75566583f219

BizteXでプロダクトマネージャー(PM)をしている大坪です。
今回は弊社で開発・提供しているiPaaS「BizteX Connect」の紹介記事として、簡単なAPI 連携する例についての記事を書いてみます。
## BizteX Connect とは

BizteX Connect は ノーコードでkintoneやfreee、Slackなど様々なサービス間を主に Web API で連携するiPaaSです。詳細は下記製品ページをご参照ください。

https://service.biztex.co.jp/connect/

twitterに1分動画もアップロードされていたので下記も雰囲気を見てもらう上ではわかりやすいかと思います。

https://twitter.com/i/status/1463776574377840642

特徴をまとめると下記になります。

- 簡単操作で様々なサービス連携が可能([2021/12時点で連携サービス数 31](https://service.biztex.co.jp/connect/app/))
- クラウドRPA「[BizteX cobit](https://service.biztex.co.jp/)」 と標準連携
- よくある自動化の雛形をまとめたシナリオテンプレート機能
- toB 向けの管理機能(SAML認証・組織管理・実行結果ダッシュボード etc)
- 大きめのファイルサイズのアップロードも対応可能

## Gmailで受信した添付ファイルをfreeeに連携するシナリオを作ってみる
Connectでは自動化フローを**シナリオ**と呼びます。
使い方の具体例として、タイムリーな話題の電子帳簿保存関連(ちょうど今日[２年の猶予を設けるとのニュース](https://news.yahoo.co.jp/articles/bbaf5f5588d76260bffb7438e1c2b8e94ecc7093)が出てました)で、**Gmailに添付されて送信されてきた請求書ファイルを、freee会計に連携(ファイルボックスに自動保存)する** シナリオを設定してみます。

### 完成イメージ

![スクリーンショット 2021-12-06 23.05.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/76611437-7f9e-5c18-c5e0-1bba13030b78.png)

### シナリオを作成する

#### 1.新規シナリオを作成する
ログイン後のConnectのシナリオの一覧画面です。
![01_シナリオ一覧.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/9e4f2445-887c-9cad-31e6-298cb0c4b149.png)

左のメニューボタンから新規シナリオを作成します。
![02_新規シナリオ作成.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/0bb1baa9-a098-e30a-8d5a-86b2f72f2bd6.png)

#### 2.シナリオの名前や説明文を設定する
新規作成ボタンを押すと新規シナリオの編集画面が表示されます。
![03_シナリオ編集画面.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/1a7b98bf-f4be-3cb7-a68b-fdf127e93e17.png)

左側にあるのがシナリオの基本的な情報の設定欄です。シナリオの名前や説明文、検索などで利用できるタグを設定できます。
![04_設定欄.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/767223b6-5947-274c-0b11-a58d9268fe63.png)
#### 3.Gmailの連携設定を行う
ここからGmail→freee連携の設定を行っていきます。
最初に「Gmailの新規受信」についての設定を行っていきます。
設定の手順の概要は下記のようになっています。

1. 連携したいアプリ(サービス)を選択
2. 検知したいイベントや、行いたいアクションを選択
3. API利用のための認証情報を設定
4. 各種パラメータを設定
5. 連携設定のテストを行う（任意）
 
1~5までが1つのアプリを連携する場合の設定になります。Connectではこの処理の単位を**ステップ**と呼んでいます。シナリオの設定ではステップの設定を行いたい処理の数分設定していきます。
ここから最初のステップである「Gmailの新規メール検知」を設定していきます。

##### 1.アプリ選択でGmailを選択
![05_アプリ選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/c8d6eb5a-f71e-a6cc-c8a3-25bc362b5f9f.png)

##### 2.イベントで新規
![06_イベント選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/dd36bf03-6602-048c-16fc-ba401d9f892a.png)

##### 3.認証コネクタを選択
登録済みの認証情報(認証コネクタ)がある場合、それらを利用することもできます。
ここでは新規作成をしていきます。
![07_コネクタ選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/3e9d996a-1c72-d551-1256-ca842393f9eb.png)

「＋新しいコネクタを作成する」を選択すると認証情報を設定するモーダルが表示されます。
認証コネクタの名前を入力して認証ボタンを押します。
![08_認証ポップアップ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/6a2f67e3-a74f-ef0c-d235-544823fe423b.png)

GmailのAPIはOAuth認証に対応しているので、認証ボタンを押すとアカウント連携や権限スコープなどの確認を行うポップアップウィンドウが表示されます。
![09_Googleアカウント選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/98f47b5c-90f2-9daf-c2df-f0de150862f7.png)
![10_同意画面.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/598530aa-8a5c-e2b9-1e3d-12cc2f274d5a.png)

「許可」のボタンを押すと認証コネクタが保存できるようになるので、保存して選択します。
![11_認証設定後.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/e07bd057-9f53-0ae6-cc0a-d854b4ab24f4.png)
![12_認証選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/b48de0c5-af71-ac9a-be78-64acf86f90c2.png)

##### 4.各種パラメータを設定する
添付ファイルをfreeeに連携するメールの条件を設定します。ここでは「メール件名に請求書を含む」「添付ファイルが存在する」メールを対象にします。
![13_フィルタ選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/a7590713-e6a6-d31c-6316-dd187511d3d7.png)
※フィルタ種別でカスタムを利用すると[Gmailが検索フィルタで利用できるクエリ](https://support.google.com/mail/answer/7190?hl=ja)を直接記述して複雑な条件を指定することもできます
![14_条件設定.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/c6d99145-ee02-9a0c-d9b5-68c5fd4bc03e.png)

##### 5.テスト実行をする
1-4まででステップの設定は完了です。Connectでは設定した内容が意図したとおりの処理を実現できるか？を確認したり、実際のデータを取得するために、ステップ単位でのテスト実行機能が存在しています。
テスト実行ボタン押すと、現在の受信トレイを検索し、条件に当てはまるメールのサンプルデータを取得できます。
![15_サンプル取得.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/fcaffe16-af8e-771d-7dfa-ebf49ed9b9a9.png)
![16_サンプル取得.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/725599d2-c929-8260-fc4c-4cef8122bf3e.png)

サンプルデータを選択すると、ステップの出力データがサンプルのものに置き換わります。これらのテキストデータやファイルデータを後続のステップのテスト実行などでも利用することができます。
![17_Gmail設定完了.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/dc0f9435-8986-8ec6-33f7-3771e2a62221.png)

これで１つ目のステップの設定が完了になります。
#### 4.freeeの連携設定を行う
2つめのステップである「freeeのファイルボックスに添付ファイルをアップロードする」設定をしていきます。
基本的な流れは１つ目のステップの設定と同様です。
![18_第２ステップ選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/f64a5683-55b2-a029-5dac-c6e746cb0400.png)

##### 1.freee会計を選択 
![19_freeeアプリ選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/06e3683a-1da8-7203-9cff-fa571192b832.png)

##### 2.アクションを選択
![20_アクション選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/68e50611-8a82-26a4-4907-d8a4fcb53646.png)

##### 3.認証情報を選択
freeeもOAuth認証に対応しています。※認証情報の作成手順は割愛
![21_認証選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/c7461703-4435-e317-795f-d269e390089a.png)

##### 4. パラメータを設定
事業所は連携しているアカウントで利用可能な事業所が選択項目として表示されます。
アップロード対象となるファイルは他ステップの実行で得られたファイルがサジェストされます。
![22_基本設定.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/d053cebc-249c-384a-4ae0-f098e86dc85b.png)

文字入力する項目については、テキストでの設定以外に他ステップの出力データの値をマッピングすることができます。入力項目を選択すると、画面右側に利用できる値の候補が表示されます。
![23_出力データの利用.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/c3d8b737-d8b3-60aa-6d82-47ee87a5e715.png)

マウスオーバーすることで実際の値の例を表示することができます。
![24_出力データ例.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/6b7c80b5-bf45-fab9-7f40-a78b9390203d.png)

##### 5.テスト実行
テスト実行後にfreeeにログインし、実際にファイルがアップロードできているか確認してみます。
![25_テスト実行.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/c33df75a-c7ab-bfc3-1c6b-acb3642b5524.png)

ログインしてみると、メモに設定したテキストと共にファイルがアップロードされていることが確認できます。
![26_freee画面.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/74c74abb-85a7-920d-2200-b0dfc2a194df.png)
![27_freee画面.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/ad030584-d4bb-07b1-1584-952caabd9094.png)

#### 5.編集を完了しシナリオを保存する
最後にシナリオ編集画面の右上にある保存ボタンを押してシナリオ編集を完了します。
![28_保存.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/ea26e4c4-2a2d-b3c6-5e2b-3371c2802c60.png)
![29_保存後.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/61e4d5dd-8cd0-79f1-f3cd-aaef3584bb6a.png)

作成したシナリオを有効化すると、今後連携したGmailアカウントで条件に当てはまるメールを新規受信すると、freeeに自動的にアップロードされます。
![30_有効化.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/38cba4e0-0b2a-5973-49d5-0e021c0bc1df.png)

一覧での表示
![31_一覧上での確認.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163633/3632e5d8-809f-b848-822d-63f562bbaa0a.png)

## おわりに
簡単な例ですが、BizteX Connectを利用して作成するシナリオの例と具体的な画面や機能のご紹介でした！
Connectでは他にも様々なクラウドサービスと連携しており以下のような使い方ができます。

- Salesforce のレポートをcsvファイルに変換しGoogle Driveにアップロードする
- kintoneのリードアプリの情報が更新されたらHubSpotのコンタクトに連携する
- Excel Onlineで用意したアカウント情報の表を元にLINE WORKSのユーザーの新規作成・更新を行う
- BizteX cobitでWebページからダウンロードしたPDFファイルをDX Suiteに連携し、読み取り結果をGoogle Sheetsに書き出す
- WebhookやHTTPリクエスト機能によって、標準連携していないサービスとも連携を行う etc…

他にも紹介したい機能や設定例はあるのですが、力尽きたので今回はここまでで…
[無料トライアルもできる](https://info.biztex.co.jp/connect-trial)ので触ってみたいかたは是非トライアルしてみてください！