---
title: "Update an incoming webhook for a data set"
method: PUT
path: "/data-sets/{dataSetId}/incoming-webhooks/{webhookId}"
tags: ["Data Set Incoming Webhooks"]
---

# Update an incoming webhook for a data set

`PUT /data-sets/{dataSetId}/incoming-webhooks/{webhookId}`

Updates an incoming webhook for a data set. PUT semantics: all fields must be provided. Returns the updated webhook.

See the create endpoint for details on `config.columns` and `config.keyColumn`.

## Path parameters

- `dataSetId` string, required
- `webhookId` string, required

## Request body

- UpdateDataSetIncomingWebhookRequest
  - `name` string, required — Display name.
  - `automationApp` string, required
  - `status` 'Active' | 'Disabled' | 'Deleted', required — Incoming webhook lifecycle. - `Active` — the webhook accepts and processes incoming payloads. - `Disabled` — the URL still resolves but payloads are dropped without writing to the data set. - `Deleted` — the webhook is soft-deleted; only returned by endpoints that explicitly include deleted records.
  - `config` object, required — Field-specific configuration. Shape depends on `fieldType`.
    - `columns` object, required — Cell values keyed by column ID.
    - `keyColumn` string — Name of the column used as the unique key when reconciling rows on upsert.

## Response `200`

- PublicApiDataSetIncomingWebhookResponse
  - `data` object, required
    - `id` string, required — The resource's ID.
    - `createdDate` string, date-time, required — When the resource was first created. ISO-8601 UTC.
    - `createdBy` object, required — User who created the resource.
      - `id` string, required — The resource's ID.
      - `email` string, required — The user's email address (also their login identifier).
      - `username` string, required — The user's display name (e.g. `Jane Doe`).
    - `updatedDate` string, date-time, required — When the resource was last modified. ISO-8601 UTC.
    - `updatedBy` object, required — User who last modified the resource.
      - `id` string, required — The resource's ID.
      - `email` string, required — The user's email address (also their login identifier).
      - `username` string, required — The user's display name (e.g. `Jane Doe`).
    - `dataSetId` string, required — The ID of the Data Set
    - `name` string, required — Human-readable label for the webhook.
    - `automationApp` string, required — Label of the automation app or integration source (e.g. `Zapier`, `Custom`).
    - `status` 'Active' | 'Disabled', required — Whether the incoming webhook is currently accepting payloads. `Active` — incoming requests at the webhook URL create or update data set rows. `Disabled` — the webhook URL is configured but requests are ignored.
    - `url` string, required — Public URL to POST payloads to. Include this in the upstream system's webhook config.
    - `config` object, required — Field-specific configuration. Shape depends on `fieldType`.
      - `columns` object, required — Cell values keyed by column ID.
      - `keyColumn` string — Name of the column used as the unique key when reconciling rows on upsert.
    - `links` object[] — Navigable HATEOAS links to related resources. Each entry has a `name` (RFC-5988 link relation like `self`, `edit`, `related`), an `href` URL, and a `type` (`Api` for callable endpoints, `App` for browser-facing URLs). Prefer following these `href` values over constructing URLs by hand.
      - `name` string, required — Standard link relation name (RFC 5988) indicating this link's role. Common values include `self`, `edit`, `related`, `previous`, `next`.
      - `href` string, required — URL of the linked resource.
      - `rel` 'Approval Task' | 'Approvals' | 'Assignees' | 'Comment' | 'Data Set Records' | 'Data Sets' | 'Form Field Values' | 'Subject Task' | 'Task' | 'Tasks' | 'Users' | 'Webhook' | 'Workflow' | 'Workflow Run' — Optional. The kind of resource this link points to (e.g. `Workflow`, `Task`, `Comment`).
      - `type` 'Api' | 'App', required — Whether this link targets an API endpoint or a Process Street app URL. `Api` — a callable API endpoint you can fetch directly. `App` — a browser-facing URL in the Process Street UI.
  - `links` object[] — Pagination links. When the result has more pages, look for an entry with `name: "next"` — its `href` is the URL to fetch the next page. Absence of `next` means there are no more pages. For single-resource responses this array is typically empty.
    - `name` string, required — Standard link relation name (RFC 5988) indicating this link's role. Common values include `self`, `edit`, `related`, `previous`, `next`.
    - `href` string, required — URL of the linked resource.
    - `rel` 'Approval Task' | 'Approvals' | 'Assignees' | 'Comment' | 'Data Set Records' | 'Data Sets' | 'Form Field Values' | 'Subject Task' | 'Task' | 'Tasks' | 'Users' | 'Webhook' | 'Workflow' | 'Workflow Run' — Optional. The kind of resource this link points to (e.g. `Workflow`, `Task`, `Comment`).
    - `type` 'Api' | 'App', required — Whether this link targets an API endpoint or a Process Street app URL. `Api` — a callable API endpoint you can fetch directly. `App` — a browser-facing URL in the Process Street UI.

## Other responses

- `400` — Invalid value for: body
- `default`

---

[API](https://skmtc.net/process/apis/process-street-public-api.md) · [All operations](https://skmtc.net/process/apis/process-street-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/process/process-street-public-api/revisions/6199a9464227/schema)
