【Bubble】Slackメッセージを送信する方法
概要
Slackは、2013年にアメリカでリリースされたビジネスチャットツールです。日本においても、企業やチーム内のコミュニケーションに活用されています。
今回はBubbleでSlackメッセージを送信する方法を解説します。
Slackメッセージを送信する方法
完成イメージ
今回は以下3パターンを作成します。
- ユーザーとしてチャンネルへ投稿
- ユーザーとしてDM(ダイレクトメール)を送信
- Botとしてチャンネルへ投稿

ユーザーとして送信すると、Slackへこのようなメッセージを送信できました。

Botとして送信すると、Slackへこのようなメッセージを送信できました。

1. Slackプラグインをインストールする
まずBubbleにて、プラグイン「Slack」をインストールします。(Bubbleが公開しているものを選択します)

表示されている「https://{Bubbleアプリの名称}.bubbleapps.io/api/1.1/oauth_redirect」のURLをメモしておきます。これは後ほど使用します。

2. Slack APIを登録・設定する
Slack APIに登録します。こちらではAPIを使ってメッセージ送信するためのアプリを作成していきます。
トップページより「Create an app」を押します。

「From scratch」を選択します。

「App Name」はアプリ名です。任意の名前を設定します。
「Pick a workspace to develop your app in:」は、アプリを開発するワークスペースです。今回は送信先のワークスペースを選択します。
ℹ️ ワークスペースが表示されない場合は「Sign into a different workspace」よりSlackへサインインします。
「Create App」を押し、アプリの作成を完了します。

ここからは作成したアプリの設定を進めます。
手順はこちらの内容に従っており、各項目が完了するとチェックマークが付与されていきます。

まず1つ目のAdd features and functionalityです。
サイドメニューより「OAuth & Permissions」へ移動します。

スクロールすると現れる「Scopes」の項目を設定します。
ここではSlackアプリが行える操作の権限を設定します。Bot Token ScopesはBotとして、User Token Scopesはログインしたユーザーとして動作する際の権限範囲です。
「Add an OAuth Scope」で選択肢が表示されるので、与える権限を選択します。

今回はチャンネル投稿・DM送信の範囲で必要な権限をまとめるので、順に選択していきます。
Bot Token Scopes
OAuth Scope | Description |
---|---|
channels:read | View basic information about public channels in a workspace |
chat:write | Send messages as @アプリ名 |
chat:write.public | Send messages to channels @アプリ名 isn’t a member of |
users.profile:read | View profile details about people in a workspace |
users:read | View people in a workspace |
User Token Scopes
OAuth Scope | Description |
---|---|
channels:read | View basic information about public channels in a workspace |
channels:write | Manage a user’s public channels and create new ones on a user’s behalf |
chat:write | Send messages on a user’s behalf |
users.profile:read | View profile details about people in a workspace |
users:read | View people in a workspace |
すべて設定できれば完了です。
続いてサイドメニューより「App Home」へ移動し「App Display Name」を設定します。
Bot操作時にSlack上で表示される名前を任意で決めます。今回はこのように設定しました。

サイドメニューより「Basic Information」へ移動します。Add features and functionalityに、設定完了を表すチェックマークが付いているはずです
続けて2つ目のInstall your appを設定します。「Install to Workspace」で、アプリをワークスペースへインストールします。

認証ページに移動するので、権限内容に問題なければ「許可する」を押します。

Install your appにもチェックマークが付きました。
続いて3つ目のManage distributionを設定します。サイドメニューより「Manage Distribution」へ移動します。

「Set Up Redirect URLs」から、リダイレクトページを設定します。

Bubbleでプラグインインストール時に表示されていた「https://{Bubbleアプリの名称}.bubbleapps.io/api/1.1/oauth_redirect」の値を設定し、「Save URLs」で保存します。

続いて Remove Hard Coded informationにチェックを入れます。

最後に「Activate Public Distribution」をクリックし、設定完了です。

3. メッセージ送信を実装する
Bubbleへの実装を進めます。
まずプラグインに「Client ID」「Client Secret」を設定します。
Slack APIのサイドメニューより「Basic Information」へ移動します。

「App Credentials」にて「Client ID」「Client Secret」をコピーします。

Bubbleへ戻り、プラグインへ各値を設定します。

続いてDesignタブにエレメントを配置し、Workflowを設定します。
ログイン機能
メッセージ送信にはSlackログインが必要です。
Buttonを2つ配置し、ログイン/ログアウトボタンとします。
またログインしたことが分かるよう、Textを配置し「Current User’s email」を設定します。

ログインボタンのWorkflowを設定します。
When | Step | 意味 |
---|---|---|
Button ログイン is clicked | Account > Signup/login with a social network | Slackでログインする |
OAth providerの項目に「Slack」を設定します。

続いてログアウトボタンのWorkflowを設定します。
When | Step | 意味 |
---|---|---|
Button ログイン is clicked | Account > Signup/login with a social network | Slackでログインする |

メッセージ送信機能
ユーザーおよびBotとしてのメッセージ送信を実装します。
Input3つとButton3つを配置します。

Inputはそれぞれ「チャンネルID」「ユーザーID」「メッセージ内容」の入力欄です。区別しやすいよう、Textで見出しも作成します。
Buttonは最初に紹介した3パターンのメッセージ送信ボタンです。
- ユーザーとしてチャンネルへ投稿
- ユーザーとしてDM(ダイレクトメール)を送信
- Botとしてチャンネルへ投稿
続いて各ボタンのWorkflowを設定します。
まず1つ目は「チャンネルへ投稿」ボタンです。「1.ユーザーとしてチャンネルへ投稿」にあたります。
When | Step | 意味 |
---|---|---|
Button チャンネルへ投稿 is clicked | Plugins > Slack – Post to Channel as User | ユーザーとしてメッセージを送信 |
Channel IDに「Input チャンネルIDを入力’s value」、Messageに「Input メッセージを入力’s value」を設定します。

2つ目は「DM送信」ボタンです。「2.ユーザーとしてDM(ダイレクトメール)を送信」にあたります。
When | Step | 意味 |
---|---|---|
Button DM送信 is clicked | Plugins > Slack – Send a Message as User | ユーザーとしてメッセージを送信 |
Recipient User IDに「Input ユーザーIDを入力’s value」、Messageに「Input メッセージを入力’s value」を設定します。

3つ目は「チャンネルへ投稿(bot)」ボタンです。「3.Botとしてチャンネルへ投稿」にあたります。
When | Step | 意味 |
---|---|---|
Button DM送信 is clicked | Plugins > Slack – Post to Channel as Bot | ユーザーとしてメッセージを送信 |
Channel IDに「Input チャンネルIDを入力’s value」、Messageに「Input メッセージを入力’s value」を設定します。

以上で実装は完了です。
4. 動作確認
プレビューで動作を確認します。
まずログインボタンからSlackログインします。

Slack URLは、ご自身のSlackの左上から確認できます。

続いてユーザーのメールアドレスを入力します。
ここでサインインしたユーザーが、メッセージを送信できます。

完了すると、Bubbleの画面に戻ります。
続いてメッセージ送信です。
まず「1.ユーザーとしてチャンネルへ投稿」をするために、チャンネルIDを取得します。

取得したチャンネルIDとメッセージを入力し「チャンネルへ投稿」を押します。

ログインしたユーザー名で、チャンネルへメッセージが投稿されました。

続いて「2.ユーザーとしてDM(ダイレクトメール)を送信」をするために、送信先ユーザーのユーザーIDを取得します。

取得したユーザーIDとメッセージを入力し「DM送信」を押します。

ログインしたユーザー名で、指定ユーザーへDMを送信しました。

最後に「3.Botとしてチャンネルへ投稿」を確認します。
「1.ユーザーとしてチャンネルへ投稿」と同じ要領で、取得したチャンネルIDとメッセージを入力し「チャンネルへ投稿(bot)」を押します。

作成したSlackアプリの名前で、チャンネルへメッセージが投稿されました。

以上で、Slackメッセージ送信の動作を確認できました。