kintone ヘルプ

Webhookを設定する

Webhookは、複数のWebサービスを連携するための仕組みです。
kintoneでWebhookを設定すると、次の操作が行われたときに、そのことを外部のWebサービスに通知できます。

  • レコードの追加
  • レコードの編集
  • レコードの削除
  • コメントの書き込み
  • レコードのステータスの変更

Webhookを利用すると、kintoneと外部のWebサービスを連携できます。
たとえば、アプリにレコードが追加されたらSlackにメッセージを投稿する、といった連携が可能です。




Webhookを利用するには、kintoneと連携するWebサービスが、Webhookの受信に対応している必要があります。または、Webhookの受信に未対応のWebサービスでも、ZapierやIFTTTなどのWebサービスを介すことで、kintoneと連携できる場合があります。
cybozu developer networkでは、Webhookを利用した連携の例を紹介しています。
コーディングなしで超簡単!kintoneのWebhookでGmailに通知する(cybozu developer network)

  • 次の方法でレコードを操作した場合は、Webhookの通知は送信されません。
    • Excel/CSVファイルを読み込んでレコードを操作する
    • 複数のレコードを一括削除する
    • 複数のレコードを一括操作するREST APIを使用してレコードを操作する
  • Webhookは、kintone スタンダードコースでkintoneをご利用の場合のみ利用できます。
  • 組織間のアクセス権の設定を有効にすると、Webhookは利用できなくなります。
  • Webhookの通知は、1分間に60回まで送信されます。1分間に60回を超えてレコードを操作すると、61回目以降の操作ではWebhookの通知が送信されません。

送信される通知の内容

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 配列 レコード番号です。
deleteBy 配列 レコードを削除したユーザーの情報を表す配列です。
deleteBy[].code 文字列 ユーザーのログイン名です。
deleteBy[].name 文字列 ユーザーの名前です。
deleteAt 文字列 削除した日時です。

送信される通知の例

{
"app":{
"id":"1",
"name":"案件管理"
},
"id":"01234567-0123-0123-0123-0123456789ab",
"recordId":"2",
"deleteBy":{
"code":"sato",
"name":"佐藤 昇"
},
"deleteAt":"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"
}

Webhookの設定手順

Webhookの設定手順を説明します。10個まで設定できます。

  1. kintoneと連携するWebサービスで、Webhook URLを取得します。
  2. アプリの設定画面を開きます。
    アプリの設定画面を開く
  3. 「設定」タブをクリックします。
  4. Click to zoom this image
    「カスタマイズ/サービス連携」の[Webhook]をクリックします。
  5. [+] をクリックします。
  6. Click to zoom this image
    各項目を入力します。
    • 説明
      設定するWebhookの説明を64文字以内で入力します。入力した説明は、Webhookの設定の一覧画面に表示されます。
    • Webhook URL
      kintoneと連携するWebサービスで取得したWebhook URLを入力します。最大512文字です。
    • 通知を送信する条件
      Webhookの通知を送信する操作を指定します。
    • 有効化
      設定したWebhookを有効にするかどうかを選択します。初期設定では有効です。
  7. [保存]をクリックします。