見出し画像

Kintone、Slack、Integromatを利用した社内ヘルプデスクの構築の話【詳細】

以前、構築方法の概要について投稿しましたが、今回は実際の手順について投稿したいと思います。ほとんど、参考にさせて頂いた記事と同じ方法ですが、自分の記録も兼ねて投稿させていただきます。少しでもご参考になれば幸いです。

前提条件

1、Integromatのアカウントを取得済み

2、Kintoneがスタンダードプラン

3、Slackのアカウントを取得済み

Integromatでシナリオを作成

①Create a new scenarioをクリック

画像1

②SerchにWebhookを入力し、Webhookを選択しContinueをクリック

画像2

③Webhookをクリックし、「Custom Webhook」を選択

画像3

④AddをクリックWebhook名に任意の文字を入れて、Saveをクリックし、作成されたWebhookURLをコピー

画像4

KintoneにWebhookをセット

①Webhook URLに先ほど取得したURLをセット

コピーしたURLにはhttps://までがついているので、セット時には取り除く。※自分はここでハマりました。

アプリの更新を忘れずに

画像5

②レコードを作成し、Integromatに通知が行くことを確認

画像6

Slackとの連携

①Slackと連携させるために、モジュールをIntegromatに追加

+マークを押す

画像7

②Slackをクリック

画像8

③Create a Messageを選択

画像9

④Run Onceを押して、Kintoneでレコードを作成

画像10

⑤Kintoneの入力フォームの各IDが表示されるので、通知内容を選択し作成

画像11

通知テスト

①Run Onceをクリックテスト実施

画像12

②アプリにレコードを追加

画像13

③以下のようにスラックに通知されます。

画像14

ステータス更新の通知を作成

ステータス更新は、Integromatの無料通知枠節約のためJavascriptで行います。

①ソース(抜粋)

以下の内容をステータスごとに作成し、Kintoneに設定

kintone.events.on("app.record.detail.process.proceed", function(e) {
       if (e.nextStatus.value == '完了') {
           var thisUrl = "https://ドメイン.cybozu.com/k/" + kintone.app.getId() + "/show#record=" + kintone.app.record.getId();
           var webhookUrl = 'https://hooks.slack.com/services/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';
           var payload = {
               "text": "タスク<" + thisUrl + "|「" + e.record.文字列__1行__2.value + "」>が完了しました!"
           };
           return new kintone.Promise(function(resolve, reject) {
               kintone.proxy(webhookUrl, 'POST', {}, payload, function(body, status, headers) {
                   console.log(status, body);            
                   resolve(e);
               });
           });
       }

以下のように通知されます。

画像15


最後の方はだいぶ端折ってしまいましたが、こんな感じで作成してみました。最後までお付き合いいただきありがとうございました。


この記事が気に入ったらサポートをしてみませんか?