このエントリは Go Advent Calendar 2018 12日目の記事です。 SlackにはInteractive frameworkという仕組みがあります。これによりButtonやMenuなどのインターフェースをユーザに提供することができます。 このInteractive frameworkのひとつとしてDialogsがあります。Dialogsは、Text、TextArea、Selectの要素からなるフォームを構築し、ユーザに入力してもらうことで、より複雑なワークフローを実現するSlack Appを作るのに便利な仕組みになっています。 このエントリでは、Dialogsを使ったSlack AppをGoで書くときの流れを紹介します。 サンプル デリバリーのコーヒーを注文するCoffeebotを題材とします(実際に注文はしません)。 以下の流れで利用します。 @coffee order