---
title: "Process bulk field changes via webhook"
---

> Documentation Index
> Fetch the complete documentation index at: https://developer.channelautomations.com/llms.txt
> Use this file to discover all available pages before exploring further.

Path: Channel Automation API › Webhooks

`POST /api/triggers/webhooks/bulk-field-changes`

## Authentication

- `bearerAuth`

## Request body

_Required._

- `changes` (`post/api/triggers/webhooks/bulk-field-changes.changes`; array<object>, required)
  - `entityId` (`post/api/triggers/webhooks/bulk-field-changes.changes.entityId`; string, required) — ID of the entity to update
  - `entityType` (`post/api/triggers/webhooks/bulk-field-changes.changes.entityType`; string, required) — Type of entity
    - one of `"contact"`, `"opportunity"`, `"company"`
  - `field` (`post/api/triggers/webhooks/bulk-field-changes.changes.field`; string, required) — Field name to update
  - `value` (`post/api/triggers/webhooks/bulk-field-changes.changes.value`; string, required) — New value for the field
  - `workspaceId` (`post/api/triggers/webhooks/bulk-field-changes.changes.workspaceId`; string, optional) — Workspace ID for validation

## Example request

```json
{
  "changes": [
    {
      "entityId": "string",
      "entityType": "contact",
      "field": "string",
      "value": "string",
      "workspaceId": "string"
    }
  ]
}
```

## Code samples

### cURL

```bash
curl --request POST \
  --url https://api.channelautomation.com/api/triggers/webhooks/bulk-field-changes \
  --header 'Content-Type: application/json' \
  --data '
{
  "changes": [
    {
      "entityId": "string",
      "entityType": "contact",
      "field": "string",
      "value": "string",
      "workspaceId": "string"
    }
  ]
}
'
```

### TypeScript

```typescript
const url = 'https://api.channelautomation.com/api/triggers/webhooks/bulk-field-changes';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: JSON.stringify({
    changes: [
      {
        entityId: 'string',
        entityType: 'contact',
        field: 'string',
        value: 'string',
        workspaceId: 'string'
      }
    ]
  })
};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));
```

### Python

```python
import requests

url = "https://api.channelautomation.com/api/triggers/webhooks/bulk-field-changes"

payload = { "changes": [
        {
            "entityId": "string",
            "entityType": "contact",
            "field": "string",
            "value": "string",
            "workspaceId": "string"
        }
    ] }
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
```

## Responses

### 200

Changes processed successfully

#### Example

```json
{
  "success": true,
  "processed": 0,
  "failed": 0,
  "results": [
    {}
  ]
}
```

- `success` (`post/api/triggers/webhooks/bulk-field-changes.response.200.success`; boolean, optional)
- `processed` (`post/api/triggers/webhooks/bulk-field-changes.response.200.processed`; integer, optional)
- `failed` (`post/api/triggers/webhooks/bulk-field-changes.response.200.failed`; integer, optional)
- `results` (`post/api/triggers/webhooks/bulk-field-changes.response.200.results`; array<object>, optional)

### 400

Invalid input data

### 401

Unauthorized

### 500

Internal server error


Source: https://developer.channelautomations.com/api/post-api-triggers-webhooks-bulk-field-changes/index.md
