SlackからAmazon Honeycodeにメッセージデータを送信する

2020.12.29

いわさです。

先日、Honeycodeに入門しました。

アプリから内部データへの書き込みと読み込み、自動処理による通知方法について学びました。

今日は外部システムとの連携として、Slackからメッセージを受信したいと思います。

はじめに

本記事は 2020/12/29 時点の情報で記述しています。

Amazon Honeycodeは現在ベータ版です。
バージョンアップ時、正式リリース時には変わっている可能性がありますのでご注意ください。

AppFlowとの連携

外部システムとHoneycodeは単独での連携は出来ません。
連携させるためには、間に Amazon AppFlow を連携させる必要があります。

AppFlowはいくつかの外部サービスやAWSリソースとの間を連携させる、統合サービスです。
Slack, Salesforce, Marketo, ZenDeskを始め様々な外部サービスのコネクタが用意されています。
AppFlowは送信元サービスと送信先サービスを指定して、連携の方法を指定します。

HoneycodeはAppFlowの送信先サービスとして指定が可能です。
今回はSlack→AppFlow→Honeycodeというデータ統合を行ってみます。

連携手順

まずHoneycodeで新規ワークブックを作成します。

テーブルをひとつ作成しました。
この記事ではアプリの作成は不要です。

次にAppFlowで新規にフローを作成します。

注意点として、この記事の作成時点ではHoneycodeは米国西部 (オレゴン)リージョン(us-east-2)のみ対応しており、AppFlowの作成リージョンも対応リージョンで作成しないと、AppFlowの送信先にHoneycodeを指定出来ません。

送信元にSlackを指定しました。
Slackとの接続設定を行いたいと思います。

クライアントID、クライアントシークレット、ワークスペース情報を入力してください。

redirect_uri did not match any configured URIs. Passed URI: https://us-east-2.console.aws.amazon.com/appflow/oauth

もしSlack接続時に上記エラーメッセージが表示される場合は以下を参考にRedirectURLの登録をしてください。

接続できたら、次は送信先の設定です。

Honeycode側での許可が必要になりますのでAllowを選択します。

Slackメッセージを連携するワークブックとテーブルを指定します。

SlackのメッセージオブジェクトをどのようにHoneycodeのテーブルに落とし込むのかマッピング設定を行います。

ここではタイムスタンプとテキストを無加工で格納するようにマッピングしました。
送信元フィールド名を複数指定し式で加工することも出来ます。

フロートリガーについてはオンデマンドとスケジュールが選択出来ます。
Slackでメッセージ投稿されたタイミングで動かしたかったのですが、"イベントでフローを実行"はSlackでは選択出来ません。
今回は1分周期のスケジュールにしました。

これで連携のための設定は完了です。

実行

Slackから投稿してみましょう。

AppFlowで処理されていますね。

AppFlowの実行に成功したのでHoneycodeのテーブルを確認してみます。

データレコードが作成されていました!

まとめ

ここでは、AppFlowを使ったHoneycodeテーブルへのデータ受信を試してみました。
ここで得たデータをトリガーに通知やワークフロー処理をオートメーションで実行していくことも出来ます。

次回はアプリとオートメーションを活用し、今回入力されたデータを使って簡易的なワークフローアプリケーションを作成してみたいと思います。