多维表格
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

7.4 KiB

title description tags keywords
Create webhook Learn how to create a webhook in NocoDB. [Webhook Create] [NocoDB webhook create webhook]

Create Webhook

Accessing webhook page

  1. Click on table for which webhook needs to be configured on the left sidebar
  2. Open Details tab in topbar,
  3. Click on Webhooks tab
  4. Click Add New Webhook

Accessing webhook

Configuring webhook

  1. Name of the webhook
  2. Select the event for which webhook needs to be triggered
Trigger Details
After Insert After a single record is inserted
After Update After a single record is updated
After Delete After a single record is deleted
After Bulk Insert After bulk records are inserted
After Bulk Update After bulk records are updated
After Bulk Delete After bulk records are deleted
  1. Method & URL: Configure the endpoint to which webhook needs to be triggered. Supported methods are GET, POST, DELETE, PUT, HEAD, PATCH
  2. Headers & Parameters: Configure Request headers & parameters (optional)
  3. Condition: Only records meeting the configured criteria will trigger webhook (optional)
  4. Test webhook (with sample payload) to verify if parameter are configured appropriately (optional)
  5. Save the webhook

Configuring webhook

Webhook with conditions

In case of webhook with conditions, only records meeting the configured criteria will trigger webhook. For example, trigger webhook only when Status is Complete. You can also configure multiple conditions using AND or OR operators. For example, trigger webhook only when Status is Complete and Priority is High.

Webhook will be triggered only when the configured condition wasn't met before the record was updated. For example, if you have configured webhook with condition Status is Complete and Priority is High and you update the record with Status Complete and Priority Low to High, webhook will be triggered. However, if you update any other fields of the record with Status Complete and Priority High, webhook won't be triggered.

In summary, webhook will be triggered only when Condition(old-record) = false and Condition(new-record) = true.

Webhook Response Sample

{
  "type": "records.after.insert",
  "id": "9dac1c54-b3be-49a1-a676-af388145fa8c",
  "data": {
    "table_id": "md_xzru7dcqrecc60",
    "table_name": "Film",
    "view_id": "vw_736wrpoas7tr0c",
    "view_name": "Film",
    "records": [
      {
        "FilmId": 1011,
        "Title": "FOO",
        "Language": {
          "LanguageId": 1,
          "Name": "English"
        },
      }
    ]
  }
}
{
  "type": "records.after.update",
  "id": "6a6ebfe4-b0b5-434e-b5d6-5212adbf82fa",
  "data": {
    "table_id": "md_xzru7dcqrecc60",
    "table_name": "Film",
    "view_id": "vw_736wrpoas7tr0c",
    "view_name": "Film",
    "previous_records": [
      {
        "FilmId": 1,
        "Title": "ACADEMY DINOSAUR",
        "Description": "A Epic Drama of a Feminist in The Canadian Rockies",
        "Actor List": [
          {
            "ActorId": 10,
            "FirstName": "CHRISTIAN"
          }
        ],
      }
    ],
    "records": [
      {
        "FilmId": 1,
        "Title": "ACADEMY DINOSAUR (Edited)",
        "Actor List": [
          {
            "ActorId": 10,
            "FirstName": "CHRISTIAN"
          }
        ],
      }
    ]
  }
}
{
  "type": "records.after.delete",
  "id": "e593079f-70e5-4965-8944-5ff7aeed005c",
  "data": {
    "table_id": "md_xzru7dcqrecc60",
    "table_name": "Film",
    "view_id": "vw_736wrpoas7tr0c",
    "view_name": "Film",
    "records": [
      {
        "FilmId": 1010,
        "Title": "ALL-EDITED",
        "Language": {
          "LanguageId": 1,
          "Name": "English"
        },
      }
    ]
  }
}
{
  "type": "records.after.bulkInsert",
  "id": "f8397b06-a399-4a3a-b6b0-6d1c0c2f7578",
  "data": {
    "table_id": "md_xzru7dcqrecc60",
    "table_name": "Film",
    "view_id": "vw_3fq2e9q8drkblw",
    "view_name": "GridView",
    "records_inserted": 2
  }
}
{
  "type": "records.after.bulkUpdate",
  "id": "e983cea5-8e38-438e-96a0-048751f6830b",
  "data": {
    "table_id": "md_xzru7dcqrecc60",
    "table_name": "Film",
    "view_id": "vw_3fq2e9q8drkblw",
    "view_name": "Sheet-1",
    "previous_records": [
      [
        {
          "FilmId": 1005,
          "Title": "Q",
          "Language": {
            "LanguageId": 1,
            "Name": "English"
          },
        },
        {
          "FilmId": 1004,
          "Title": "P",
          "Language": {
            "LanguageId": 1,
            "Name": "English"
          }
        }
      ]
    ],
    "records": [
      [
        {
          "FilmId": 1005,
          "Title": "Q-EDITED",
          "Language": {
            "LanguageId": 1,
            "Name": "English"
          }
        },
        {
          "FilmId": 1004,
          "Title": "P-EDITED",
          "Language": {
            "LanguageId": 1,
            "Name": "English"
          },
        }
      ]
    ]
  }
}
{
  "type": "records.after.bulkDelete",
  "id": "e7f1f4e5-7052-4ca2-9355-241ceb836f43",
  "data": {
    "table_id": "md_xzru7dcqrecc60",
    "table_name": "Film",
    "view_id": "vw_3fq2e9q8drkblw",
    "view_name": "Sheet-1",
    "records": [
      [
        {
          "FilmId": 1022,
          "Title": "x",
          "Language": {
            "LanguageId": 1,
            "Name": "English"
          },
        },
        {
          "FilmId": 1023,
          "Title": "x",
          "Language": {
            "LanguageId": 1,
            "Name": "English"
          },
        }
      ]
    ]
  }
}

Environment Variables

In self-hosted version, you can configure the following environment variables to customize the webhook behavior.

  • NC_ALLOW_LOCAL_HOOKS: Allow localhost based links to be triggered. Default: false

Find more about environment variables here