Webhookを設定する

kintoneでWebhookを利用すると、kintoneのアプリで特定の操作が行われた際に、その内容を指定した外部サービスに送信することができます。
たとえば、レコードが追加されたときにその内容をチャットサービスに投稿する、といった連携を、プログラムを書くことなく設定することが可能です。
Webhookは、kintoneスタンダードコースでのみ利用できます。

Webhookの仕組み

Webhookの連携先として、多数のサービスとの連携を支援してくれるツールを指定すると、それらが対応しているさまざまなサービスとkintoneを連携することができます。
連携を支援してくれるツールとしては、Zapier、Microsoft Power Automate、IFTTTなどがあります。

画像

Webhookの設定を行うと、kintoneのアプリで以下の操作が行われた際に通知が送信されます。

  • レコードの追加
  • レコードの編集
  • レコードの削除
  • コメントの書き込み
  • プロセス管理のステータスの更新

設定例

ここではZapierを使って、「kintoneにレコードが追加されたらGmailに通知する」設定例を説明します。

事前準備

Webhookの連携設定を行う前に、次の準備を行ってください。

  • Gmailアカウントの作成
  • kintoneのアプリを作成

準備ができたら、次の設定を行います。

Zapierでトリガーを設定する

  1. ZapierのWebサイトにアクセスし、サインアップします。
    Zapierのアカウントがない場合は、新規作成するか、またはGoogleアカウントなどでサインアップしてください。

  2. ZapierのWebサイトにある[MAKE A ZAP]をクリックします。

  3. 「Name your zap」に任意のタイトルを入力します。

  4. トリガー選択画面で、検索ボックスに「Webhook」と入力し、「Webhooks by Zapier」をクリックします。

  5. トリガーイベントで「Catch Hook」を選択し、[CONTINUE]をクリックします。

  6. Custom Webhook URL が生成されるので、[Copy]をクリックします。
    テキストエディタなどに、URLをペーストしておいてください。

kintoneでWebhookを設定する

  1. kintoneでWebhookの設定画面を開きます。
    レコード一覧画面の右上にあるアプリ設定ボタン 設定ボタン をクリックし、「設定」タブ > 「カスタマイズ/サービス連携」の[Webhook]を選択します。

  2. 追加ボタン 画像をクリックします。

  3. 設定するWebhookの説明を入力します。
    入力した説明はWebhookの設定の一覧画面に表示されます。64文字まで入力できます。 画像

  4. Webhook URLに、手順6でコピーしたURLをペーストします。
    URL欄には最大1,024文字まで入力できます。

  5. 通知を送信する条件では、Webhookの通知を送信する操作を指定します。
    ここでは、「レコードの追加」にチェックを付けます。

  6. 設定したWebhookを有効にするかどうかを選択します。初期設定では有効です。

  7. [保存]をクリックします。

  8. Webhookの設定画面右下の[アプリの設定に戻る]をクリックします。

  9. アプリ設定画面右上の[アプリを更新]をクリックします。

  10. Zapierで設定したトリガーのテストを行うため、kintoneのアプリに新規でレコード追加します。

  11. ZapierのWebサイトに戻り、[CONTINUE]をクリックして、[Test trigger]をクリックします。

  12. テストが成功したことを確認して、[CONTINUE]をクリックします。
    テストが成功しない場合は、何度か[Test trigger]を試してください。
    それでも失敗する場合、Webhook URLにコピー&ペーストしたURLに誤りがないかなど、確認してください。

Zapierでアクションの設定をする

  1. Zapierのアクションの設定が表示されるので、Gmailを選択します。

  2. アクションイベントで「Send Email」を選択し、[CONTINUE]をクリックします。

  3. Gmailアカウントを選択し、[CONTINUE]をクリックします。
    Gmailにログインしていない場合は、Gmailへのログイン許可を確認する画面が表示されます。

  4. Gmailに通知される内容を設定します。「To」に受信するGmailアドレスを入力し、Subject、Bodyなど必要な内容を設定します。
    設定後、[CONTINUE]をクリックします。

  5. 設定内容を確認し、[TEST & CONTINUE]をクリックします。

  6. 宛先のGmailにメールが届いたことを確認し、[TURN ON ZAP]をクリックします。

  7. 設定したZapをONにして有効にします。

送信される通知の内容

Webhookを有効にすると、kintoneからJSON形式の通知が送信されます。
各操作を行ったときの通知のパラメーターは、次のとおりです。

レコードの追加/編集/ステータスの変更
パラメーター 値の型 説明
id 文字列 通知ごとに割り当てられる固有のIDです。
type 文字列 操作の種類です。
レコードを追加した:ADD_RECORD
レコードを編集した:UPDATE_RECORD
レコードのステータスを変更した:UPDATE_STATUS
app オブジェクト アプリの情報を表すオブジェクトです。
app.id 文字列 アプリのIDです。
app.name 文字列 アプリ名です。
record オブジェクト レコードの情報を表すオブジェクトです。
オブジェクトの形式は、レコードを取得するREST APIと同様です。
レコードの取得(GET)(cybozu developer network)
recordTitle 文字列 レコードのタイトルです。
タイトルにするフィールドは変更できます。
レコードタイトルを設定する
url 文字列 レコードのURLです。
送信される通知の例
{
"id":"01234567-0123-0123-0123-0123456789ab",
"type":"ADD_RECORD",
"app":{
"id":"1",
"name":"案件管理"
},
"record":{
"レコード番号":{
"type":"RECORD_NUMBER",
"value":"2"
},
~~
"$revision":{
"type":"__REVISION__",
"value":"3"
},
"$id":{
"type":"__ID__",
"value":"2"
}
},
"recordTitle":"往訪:サイボウズ株式会社",
"url":"https://example.cybozu.com/k/1/show#record=2"
}
レコードの削除
パラメーター 値の型 説明
id 文字列 通知ごとに割り当てられる固有のIDです。
type 文字列 操作の種類です。
レコードを削除した:DELETE_RECORD
app オブジェクト アプリの情報を表すオブジェクトです。
app.id 文字列 アプリのIDです。
app.name 文字列 アプリ名です。
recordId 文字列 レコード番号です。アプリコードは含まれません。
deletedBy オブジェクト レコードを削除したユーザーの情報を表すオブジェクトです。
deletedBy.code 文字列 ユーザーのログイン名です。
deletedBy.name 文字列 ユーザーの名前です。
deletedAt 文字列 削除した日時です。
送信される通知の例
{
"app":{
"id":"1",
"name":"案件管理"
},
"id":"01234567-0123-0123-0123-0123456789ab",
"recordId":"2",
"deletedBy":{
"code":"sato",
"name":"佐藤 昇"
},
"deletedAt":"2017-07-03T09:38:09Z"
"type":"DELETE_RECORD"
}
コメントの書き込み
パラメーター 値の型 説明
app オブジェクト アプリの情報を表すオブジェクトです。
app.id 文字列 アプリのIDです。
app.name 文字列 アプリ名です。
comment オブジェクト コメントの情報を表すオブジェクトです。
オブジェクトの形式は、レコードを取得するREST APIと同様です。
レコードコメントの一括取得(cybozu developer network)
id 文字列 通知ごとに割り当てられる固有のIDです。
recordId 文字列 レコード番号です。アプリコードは含まれません。
type 文字列 操作の種類です。
コメントを書き込んだ:ADD_RECORD_COMMENT
url 文字列 コメントのURLです。
送信される通知の例
{
"app":{
"id":"1",
"name":"案件管理"
},
"comment":{
"createdAt":"2012-02-03T09:38:09Z",
"creator":{
"code":"kato",
"name":"加藤 美咲"
},
"id":"11",
"mentions":[{
"code":"kato",
"type":"USER"
},{
"code":"org1",
"type":"ORGANIZATION"
},{
"code":"group1",
"type":"GROUP"
}],
"text":"サイボウズ株式会社に往訪してきました。"
},
"id":"01234567-0123-0123-0123-0123456789ab",
"recordId":"2",
"type":"ADD_RECORD_COMMENT",
"url":"https://example.cybozu.com/k/1/show#record=2&comment=11"
}