cybozu developer network

カテゴリー内の他の記事

無料のサービス連携ツール「n8n」で Gmail の内容を kintone に登録しよう

Index

はじめに

「いろんなサービスと連携して、kintone をもっと便利に使いたい!」

こんな時に思い浮かぶのが、IFTTT や Zapier に代表される「サービス連携ツール」ですよね。

この記事では、無料でさまざまなサービスを連携できる「n8n」を使って、Gmail と kintone を便利に連携する Tips をご紹介します。

n8n とは

002.png

 

n8n は、メールや Slack、Dropboxなどのサービスを「ノード」として登録し、複数のノードをつなげて一連のワークフローを作成することができるソフトウェアです。

複雑なコード不要でサービスを連携できるという点では IFTTT や Zapier に似ていますが、n8n にはすべての機能を無料で使えるパッケージ版があります。

今回は n8n のパッケージ版を使って、無料でローコードな Gmail × kintone 連携を実現してみます。

Tips イメージ

Gmail で受信したメールの内容を、自動で kintone アプリのレコードに登録します。

flow.png

事前に必要なもの

  • kintone
  • Google アカウント
  • Node.js
  • クラウドの VM など、n8n をインストールするサーバー

次のリンクを参考にして、事前に Node.js をサーバーにインストールしてください。

また、Google アカウントにて、n8n で利用するアプリパスワードを発行してください。

n8n のインストール

まずはターミナルやコマンドプロンプトで次のコマンドを実行し、n8n をサーバーにインストールします。

npm install n8n -g

 

インストールが完了したら、次のコマンドを実行して n8n を起動しましょう。

n8n

 

ブラウザから「http://サーバーのIPアドレス:5678」にアクセスし、n8n の画面が表示されればインストールは完了です。

010.png

kintone アプリの作成

kintone ではじめからアプリを作成し、次のようにフォームを作成してください。

020.png

フィールド名 フィールドの種類 フィールドコード
送信元 文字列(1行) from
送信日時 文字列(1行) date
件名 文字列(1行) subject
本文 リッチエディタ text

 

続いて「設定」タブの「APIトークン」へ移動します。n8n から kintone へレコードを登録する際に利用する API トークンを生成し、アクセス権の「レコード追加」にチェックを入れておきます。

030.png

 

API トークンを発行することができたら、アプリの設定を保存します。

n8n ワークフローの作成

メール受信ノードの作成

n8n の画面右上の「+」ボタンをクリックし、ノード選択画面を表示します。

040.png

 

「Trigger」タブにて「Email」で検索し、ヒットした「EmailReadImap」をクリックします。

050.png

 

「Select Credential」のボックスをクリックし、「Create New」をクリックします。

060.png

 

認証情報の名前や Gmail のユーザー名、アプリパスワードなどを入力し「Create」で Gmail の認証情報を作成します。

120.png

項目
Credential Name 好きな名称
User Gmail メールアドレス
Password アプリパスワード
Host imap.gmail.com
Port 993
SSL/TLS オン

 

Email のノードが返すメールのデータは3種類あり、今回は「Resolved」を選択します。

130.png

 

Gmail を利用する場合は、「Add Option」から「Ignore SSL Issues」を追加し、オプションを有効にしておく必要があります。

140.png

141.png

 

ここまで設定できたら、実際にノードが動作するか確認してみましょう。右上の「Execute Node」をクリックしてノードを実行し、Gmail のメールアドレス宛にメールを送信してみます。

142.png

 

画像のように、メールの内容が自動で取得できれば、正しくノードを設定できています。

144.png

HTTP リクエストノードの作成

続いて、メール受信ノードからメールの内容を受け取り、kintone REST API を実行する HTTP リクエストノードを追加します。

「+」ボタンから「Regular」タブにて「Request」と検索し「HTTP Request」をクリックします。

150.png

 

kintone で発行した API トークンを HTTP ヘッダに配置して認証を行いたいので、認証方法は「Header Auth」とします。

160.png

 

「Header Auth」の「Select Credentials」から「Create New」をクリックします。

170.png

 

認証情報の名称、ヘッダに含める項目と値を入力し、設定を保存します。

180.png

項目
Credential Name 好きな名称
Name X-Cybozu-API-Token
Value API トークン

 

HTTP リクエストについては、次のように設定しておきます。

190.png

項目
Request Method POST
URL https://{subdomain}.cybozu.com/k/v1/record.json
JSON/RAW Parameters
有効

 

あとは kintone REST API で kintone に送信する JSON を作成するだけです。「Body Parameters」の歯車アイコンをクリックし、「Add Expression」をクリックします。

200.png

 

画像の赤枠部分に JSON を記述します。

192.png

 

レコードの登録(POST)を参考にし、今回は次のように JSON を記述しました。「html」パラメータの内容には改行が含まれており、不適切な JSON となってしまうため、ここでは改行などがエスケープされた「textAsHtml」を利用します。

 

JSON を記述したら n8n のトップ画面に戻り、左側のメニューから「Save As」でワークフローを保存します。保存しないままブラウザを閉じると設定が消えてしまうので注意しましょう。

230.png

 

最後に「Execute Workflow」でワークフローを実行し、「Active」オプションを有効にしておきます。

240.png

動作確認

Gmail 宛にメールを送信すると、kintone にレコードが登録されました!

kintone のコメント機能やプロセス管理を組み合わせれば、チーム内でタスクをうまく共有・処理することができそうですね。

250.png

おわりに

サーバーを用意する必要があるので「とっても簡単!」...とまではいきませんが、n8n を使ってローコードな Gmail × kintone の連携を実現することができました。

サーバーは Google Compute Engine の無料インスタンスなどを利用すると良さそうです。

n8n には 有料のクラウド版 も存在するので、サーバーを用意するのが難しい場合はクラウド版を利用する手もあります。

今回紹介したメールのほかにも、n8n にはさまざまな連携サービスが存在するので、kintone をより便利にするツールとして活用してみてください。

この記事は、2021年5月版 kintoneで確認したものになります。

記事に関するフィードバック

記事のコメント欄は記事に対するフィードバックをする場となっております。
右の記事フィードバックのためのガイドを参照してコメントしてください。
記事のリンク切れなど、気になる点がある場合も、こちらのフォームからフィードバックいただけますと幸いです。

サインインしてコメントを残してください。