Slackからkintoneへレコード登録する方法 ~AWS Lambda でつなぐ~ 前編

目次

はじめに

今回は、AWSを使って、拡張性の高さから開発者の間で人気を集めているコミュニケーションツール「 Slack (External link) 」とkintoneをつないでいきたいと思います。

Slackはフロー型のコミュニケーションツールで、リアルタイムのコミュニケーションに向いています。
ただ、情報をストックしておきたいことがあるかと思います。
もちろん、SlackにはPOST機能など情報をストックできる標準機能はありますが、kintoneと組み合わせることで、プロセス管理を組み合わせたり過去の情報を検索できたりと言ったメリットが出てきます。

Slackを仕事で使っていて情報のストックがいまいちしっくりきていない!という方は、ご参考いただきSlackとkintoneで強力なビジネスツールを作り上げましょう。

Amazon Lambda(以下Lambda)とAmazon API Gateway(以下API Gateway)を使います。
最後まで読んでいただくと分りますが実は、今回はほぼAWSの設定方法を紹介する記事になってしまいました。 すぐにやってみたい!という方は、まずAWSのアカウントを取得後こちらの記事にて試していただければと思います。

概要

Slack上で特定の文字のを打つと、kintoneのToDoアプリにレコードを登録するシンプルな連携です。

SlackのOutgoing webhooksを使うことで、Slackのコメントなどの情報を外部のURLにPOSTできます。
問題は、この渡された情報をkintoneのフィールド形式に合わせて成形した後、さらにkintoneのREST APIを使ってレコード登録をする必要があります。

中間でいろいろごにょごしょ自作するのはとても手間なので、今回はAWSを利用します。

ざっくり説明すると、次の流れで設定します。

  1. SlackのOutgoing Webhookを使って、Amazon API Gatewayで発行したAPIにPOSTする。
  2. Amazon API Gatewayは、あらかじめ作成したAmazon Lambdaのfunctionを呼び出す。
  3. このLambda functionで、Slackから受け取った情報を元に、kintoneへのリクエストデータを作成し、kintone REST APIを実行しレコード登録する。

若干複雑に見えますが、そこまでたいへんな設定ではありません。
それでは、順を追って設定方法を紹介していきたいと思います。

kintoneアプリ

今回は「シンプルToDo」というシンプルなToDoアプリを作成します。

フィールド名 フィールドタイプ フィールドコード
タイトル 文字列(1行) title
詳細 文字列(複数行) detail

また、 kintoneヘルプページ (External link) を参考にAPIトークンを発行しておきましょう。
アクセス権は、「レコード追加」のみでかまいません。
発行したAPIトークンは後程使うので、テキストエディタなどにメモしておきましょう。

それでは次にAWSの設定に移っていきますが、続きは後半で紹介したいと思います。

Slackからkintoneへレコード登録する方法 ~AWS Lambda でつなぐ~ 後編>>