スパイラルにはSlackとの連携プラグインはありません。
ですが、SPIRALのカスタムプログラムと、Slackのプラグイン「Incoming WebHooks」を利用することで、連携が可能になります。
本記事では、フォーム登録通知をSlackへ飛ばすようにする方法をご紹介します。
ですが、SPIRALのカスタムプログラムと、Slackのプラグイン「Incoming WebHooks」を利用することで、連携が可能になります。
本記事では、フォーム登録通知をSlackへ飛ばすようにする方法をご紹介します。
※必要最低限の手順のみ公開しております。要件に合わせて変更してください。
Slackとは
事前準備
・Slack
今回は通知先として「#spiral」というチャンネルを作成しました。
・SPIRALで通知を飛ばしたいフォーム
作成済みのフォームでも問題ありません。
今回は通知先として「#spiral」というチャンネルを作成しました。
・SPIRALで通知を飛ばしたいフォーム
作成済みのフォームでも問題ありません。
Slackの設定
「Apps & integrations」をクリック
「Incoming WebHooks」を検索
「Add Configuration」ボタンをクリック
「Post to Channel」に通知を飛ばしたいチャンネル選択し、
「Add Incoming WebHooks Integration」ボタンをクリック
「Webhook URL」をメモ
「Incoming WebHooks」を検索
「Add Configuration」ボタンをクリック
「Post to Channel」に通知を飛ばしたいチャンネル選択し、
「Add Incoming WebHooks Integration」ボタンをクリック
「Webhook URL」をメモ
SPIRALの設定
ここからはSlackに通知を投稿するプログラムを、SPIRAL側に設置していきます。
POST用プログラムはカスタムモジュールに定義
※カスタムモジュールについては、サポートサイト カスタムモジュールを参照ください。
カスタムモジュールサンプル
投稿プログラムサンプル(サンキューページに追加)
POST用プログラムはカスタムモジュールに定義
※カスタムモジュールについては、サポートサイト カスタムモジュールを参照ください。
カスタムモジュールサンプル
<?php class Slack { /** * 引数のテキストを#spiralチャンネルへ投稿する * @param string $text */ function postSlack($text){ // 【変更箇所】Webhook URL $url = "(上記手順でメモしたWebhook URL)"; $postdata = array( "text" => $text ); $ch = curl_init($url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($postdata)); $result = curl_exec($ch); curl_close($ch); } } ?>
<!-- SMP_DYNAMIC_PAGE DISPLAY_ERRORS=ON NAME=18_CREATE_DEMO --> <?php // フォームで登録された内容を取得 $title = $SPIRAL->getContextByFieldTitle("title"); // カスタムモジュール読込 include_once("18_createDemo/Slack.php"); $Slack = new Slack(); // 投稿メッセージ作成 $text = '【おしごと登録】'.$title.'(<https://www.spiral-platform.co.jp/sample|確認はこちらから>)'; // slackへ投稿 $Slack->postSlack($text); ?>