NetSuiteのレコード更新をSlackに通知する

新規商談の追加、発注の承認など、NetSuiteの更新情報をSlackに通知できるといいなと思ったことはありませんか？

SlackのWebhookとNetSuiteの簡単なSuiteScriptを組み合わせて実現することができます。
本記事では、その方法を詳しくご説明しています。


1. Slack Webhook URLを取得する
    1. Slack Appを作成する
        1. 「 https://api.slack.com/apps 」にアクセスし、「Create an App」をクリック
        ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246667/4492969e-eb79-f12d-9758-9e6ddfc50be5.png)


        1. 「Create an App」と表示される画面にて、「From scratch」と「From an app manifest」から、「From scratch」を選択
        ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246667/adc56135-39c4-29fe-57be-d36fef18678c.png)

        1. 「App Name 」と「Development Slack Workspace」を設定し「Create App」をクリック
        ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246667/2880a6bc-fbe3-3fb6-6c0b-e13e3d8d6ce4.png)


        これでSlack Appの作成は完了となります。

    1. Slack App内にIncoming Webhook機能を追加する
        1. Activate incoming Webhooksを「ON」にし、ワークスペースのWebhookURLを設定できる画面を表示する
        ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246667/119d3f5b-ca8e-7172-43db-93493b0d7aec.png)

        1. ページ最下部の「Add New Webhook to Workspaces」をクリック
        ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246667/4b0ea390-9c63-b106-ed7e-3edbd29ce3ff.png)

        1. 通知連絡先のSlackチャンネルを選択し、「許可する」をクリック
        ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246667/e4db8e4b-0339-627e-5bdd-4e341839b4e4.png)
        これでWebhook  URLの発行が完了しました。
        設定が完了すると、以下のように Webhook URLs for Your Workspace の Webhook URL にて、URLが確認できます。
        ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246667/18aee8a3-9f95-223e-4497-f960ed16c64d.png)

2. NetSuiteでWebhook URLを設定する
    NetSuiteのUser Event Scriptを使用し、レコード（今回は商談）が新規作成されるとSlackに通知するようにします。
    1. NetSuiteメニューより 「カスタマイゼーション」 > 「スクリプト」 > 「スクリプト」 を選択
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246667/170cc9ca-601e-0e24-12e7-c5a5a52b5398.png)
    1. 種類として「ユーザイベント」を選択
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246667/3ce2723d-2256-25db-6f31-4bf1a910074a.png)
    1. スクリプトを表示し、スクリプトファイルの「編集」をクリック
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246667/2e7c4394-b0e6-3da8-5b5c-92abed09c9c6.png)
    1. ソースコード内にSlackを呼び出すWebhook URLを設定して「保存」
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246667/a77a8b6d-cbf0-d6d9-59cc-1eead86a6ca8.png)
    1. スクリプトをデプロイする
    デプロイ時にタイトルを「商談」として保存します
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246667/caeadae4-d82e-979c-8ffe-4365b44cffb2.png)


2. 最後に、NetSuite上で商談の新規作成を行い、Slackに通知されるか確認してみましょう
    2. 「トランザクション」>「営業」> 「商談を作成」をクリック
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246667/70c91071-956b-c837-186c-9a1463e72b0e.png)
    2. 商談を新規作成し、保存する
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246667/1c03b521-797c-5250-6998-aed46822d1db.png)
    2. Slackに先ほど新規作成した”商談OPP00000167”が通知されていることが確認できます
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246667/bcfc8792-3e74-9882-5af5-3fb23ab4f9a4.png)
    リンクを押すと、NetSuite上の”商談OPP00000167”が表示されます
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246667/5e373daf-dede-71a1-6edd-1ca5945a646f.png)

いかがでしょうか。今回はSlackのサンプルで説明しましたが、同様の手順でGoogle ChatやChatworkなどにも通知メッセージを送ることが可能です。簡単なスクリプトで実現できますので是非試してみてください。