各チャットツールのIncoming Webhoookのまとめ

公開:2021/02/23
更新:2021/02/25
6 min読了の目安(約6200字TECH技術記事

チャットツール(Slack、Teams、etc..)には、他のアプリケーションから投稿できるように、Incoming Webhoookという仕組みが提供されています。
本記事では、各チャットツールでのIncoming Webhoookの設定方法についてまとめたいと思います。(適宜更新予定)

下記のRedmineプラグインのために、様々なチャットツールでIncoming Webhoookを触ることになったのですが、毎回設定方法を調べている自分自身のための記事でもあります。

Slack

SlackではIncoming Webhoookの作成方法が途中で変わっていて、旧方式ではIncoming Webhoookというアプリを使う方法でしたが、現在の方式では個々のアプリでActivate Incoming WebhooksをOnにする形で、Incoming Webhoookを使えるようにするといった方法に変わっています。

旧方式はもう推奨されていないので、現在の方式による設定方法を記載します。

手順

Slack API: Applications | Slack 画面を開いて、「Create New App」ボタンをクリックします。

Applications

App Nameにアプリケーション名、Development Slack Workspaceで該当のワークスペースを選んで「Create App」をクリックしアプリを作成します。

Create Slack App

アプリが作成されたら、Incoming Webhoookをクリックします。

Basic Information

Activate Incoming WebhooksをONにすると、Incoming Webhoookが有効になります。

Activate Incoming Webhooks

Add New Webhook to Workspaceをクリックして、アクセスするチャンネルを指定します。

Select Channel

これでWebhookが追加されました。

Added Webhook

Webhook URLをコピーして利用します。

メッセージフォーマット

テキストはmrkdwnといった形式と書かれていますが、Markdown形式とは異なるので注意が必要です。

文字装飾

  • _イタリック_
  • *太字*
  • ~取り消し線~

リンク

<http://example.com|Link Title>

メンション

<@ユーザID>といった形です。

<@U024BE7LH>

ユーザIDはプロフィールのCopy member IDで取得できます。

You can also manually retrieve a specific user's ID by clicking on the overflow button in their Slack profile, and choosing the Copy member ID option, as shown in the screenshot.

引用元: https://api.slack.com/reference/surfaces/formatting#mentioning-users

その他

& < > はそれぞれ &amp; &lt; &gt; でエスケープする必要があります。

Teams

手順

Webhookを追加するチャンネルに移動し、ナビゲーションバーの「•••」から「コネクタ」を選択します。
「Incoming Webhoook」を検索し、チャンネルに追加します。

Teamsの無料版だと、チャンネルのところにコネクタが表示されないようです。
その場合には、チームのナビゲーションバーの「•••」から「チームを管理」 → 「アプリ」タブ → 「その他のアプリ」で同じように「Incoming Webhoook」をチャンネルに追加することができます。

適当な名前と、必要とあればイメージをアップロードして、「作成」ボタンをクリックしてIncoming Webhookを作成します。

Create Webhook

作成されると、URLが表示されますので、これをコピーして利用します。

Created Webhook

メッセージフォーマット

基本的なMarkdownがサポートされています。

文字装飾

  • _イタリック_
  • *太字*
  • ~取り消し線~

リンク

[Link Title](http://example.com)

メンション

現時点(2021-02-22)では、Incoming Webhookでメンションを送ることはできません。

その他

改行したい場合には、Markdownと同様に空行入れるか末尾にスペース2つ入れる必要があります。

Rocket.Chat (バージョン 3.11.1時点)

手順

「管理」→「サービス連携」→「New」ボタンでIncoming Webhookの入力画面を開き、各種情報を入力して「保存」ボタンを押します。

Create Webhook

保存すると、Webhook URLが表示されますので、これをコピーして利用します。

Created Webhook

また、作成した直後だと有効化されていません。有効をONにして保存します。

Available Webhook

メッセージフォーマット

文字装飾

  • _イタリック_
  • *太字*
  • ~取り消し線~

リンク

2つの形式に対応しています。

<http://example.com|Link Title>
[Link Title](http://example.com)

メンション

@username

その他

Google Chat

手順

メッセージフォーマット

文字装飾

  • _イタリック_
  • *太字*
  • ~取り消し線~

リンク

<http://example.com|Link Title>

メンション

<users/USER_ID>といった形式です。

<users/123456789012345678901>

To determine the USER_ID for a user, examine the sender field of the incoming message from the user.
引用元: https://developers.google.com/hangouts/chat/reference/message-formats/basic#messages_that_mention_specific_users

USER_ID がそのまま画面上で表示されるわけではないようなので、調べるにはちょっと手間がありそうです。

その他