kintoneレコード保存時、複数人にslack_DM送信(kintone×JavaScript)

目次

※本ページ先頭に戻りたい場合は画面右下の画像に alt 属性が指定されていません。ファイル名: fdd5c5eff34d006b8526d0602cef2cd6.pngボタンを押して下さい。

概要

kintoneのレコード保存時に、複数人グループを作成してSlack_DM送信を行う

プログラムを作成した理由

SlackのDMにて
こちらのチャンネルで貴方宛にお送りしております。忘れずにご対応をお願いします」と
「担当者」「担当者上司」にアナウンスを行う必要が出てきた為。

背景

「●●の場合に、指定チャンネルにslack通知」を度々実装しているが、
チャンネル不参加者をメンションしても、不参加者には通知されない為、
通知される可能性のあるメンバーを必ずチャンネルに参加させる」事が前提条件となっている。

例)上記チャンネル内にて「田中太郎」をメンションして通知しても、
チャンネル不参加の為、「田中太郎」には通知されない

ある案件にて、
「通知する可能性がある人」を全員参加させると
1000人規模のチャンネルになる事が懸念された為、

大体のメンバーは参加されているかと思いますが、
不参加者がいる場合に備えて、DMでリンク先をお送りしております


という流れにして
「チャンネル参加者の精査」という仕事を回避した。

後から
「通知されていないメンバーの対応漏れがあったのですが、どう責任取ってくれるんですか?」
と言われるのも面倒ですし←

ソースコード

大まかに下記構成となっております。

  1. DMグループの作成
  2. DMグループのチャンネルIDを取得
  3. 取得したチャンネルIDにてslack通知

下記の解説
1、「DMグループの作成」
2、「DMグループのチャンネルIDを取得」

下記いずれかのパターンにてチャンネルIDを取得する必要があります。

  • DM通知者達によるDMグループが作成済みの場合:
    →既存DMグループのチャンネルIDを取得
  • DM通知者達によるDMグループが存在していない場合:
    →新たにDMグループを作成し、チャンネルIDを取得
※DMグループでも、「チャンネルID」と表記されております。

conversations.open」APIを用いる事で
上記いずれのパターンでも、DMグループのチャンネルIDを取得する事が出来ます。
※下記コード最終行の「result[“channel”][“id”]」にて取得

3、「取得したチャンネルIDにてslack通知」の解説

下記コード内の「チャンネルID」「通知したい文章」を適宜変更し、
chat_postMessage」APIを用いてslack通知します。

※DM送信時に「※詳細はスレッドにて」と連投したい場合は、下記記事を参照してください。

感想

GW中にslack_botを作成した際に
slack_apiに触れた経験が活きて、今回のDM送信処理を作成出来ましたクラッカー

※slack_apiを用いたbot作成記事

様々な事が出来て便利な反面、
「slack_apiを用いた通知」は私しか作成ノウハウがない為、
いつかマニュアル化(記事化)した方が良さそうです…:困ったあ:

編集履歴

2022/08/12 新規作成

関連記事一覧

PAGE TOP