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

# Contact DND Updated | Webhook Events

> Fires whenever a contact's Do Not Disturb settings are changed in your HoopAI account.

The `ContactDndUpdate` event fires when a contact's Do Not Disturb (DND) preferences are changed. DND controls which communication channels — such as SMS, email, calls, or social messaging — are suppressed for a contact. The payload includes both the global `dnd` flag and per-channel `dndSettings`, so you can react to granular opt-out changes across all channels.

## Payload

| Field                  | Type      | Description                                                                      |
| ---------------------- | --------- | -------------------------------------------------------------------------------- |
| `type`                 | `string`  | Always `"ContactDndUpdate"`                                                      |
| `locationId`           | `string`  | Account ID where the contact's DND settings were updated                         |
| `id`                   | `string`  | Unique identifier of the contact                                                 |
| `firstName`            | `string`  | Contact's first name                                                             |
| `lastName`             | `string`  | Contact's last name                                                              |
| `name`                 | `string`  | Contact's full name                                                              |
| `email`                | `string`  | Contact's email address                                                          |
| `phone`                | `string`  | Contact's phone number in E.164 format                                           |
| `dnd`                  | `boolean` | Whether Do Not Disturb is enabled globally for this contact                      |
| `dndSettings`          | `object`  | Per-channel DND configuration (see sub-fields below)                             |
| `dndSettings.SMS`      | `object`  | DND status for SMS with `status`, `message`, and `code`                          |
| `dndSettings.Email`    | `object`  | DND status for email with `status`, `message`, and `code`                        |
| `dndSettings.GMB`      | `object`  | DND status for Google My Business messaging with `status`, `message`, and `code` |
| `dndSettings.FB`       | `object`  | DND status for Facebook Messenger with `status`, `message`, and `code`           |
| `dndSettings.WhatsApp` | `object`  | DND status for WhatsApp with `status`, `message`, and `code`                     |
| `dndSettings.Call`     | `object`  | DND status for voice calls with `status`, `message`, and `code`                  |
| `tags`                 | `array`   | List of tag strings applied to the contact                                       |
| `assignedTo`           | `string`  | User ID of the team member assigned to this contact                              |

Each channel object within `dndSettings` contains:

| Sub-field | Type     | Description                                                                                 |
| --------- | -------- | ------------------------------------------------------------------------------------------- |
| `status`  | `string` | Either `"active"` (DND on, messages suppressed) or `"inactive"` (DND off, messages allowed) |
| `message` | `string` | Human-readable reason or note for the DND status                                            |
| `code`    | `string` | Internal code associated with the DND status change                                         |

## Example payload

```json theme={null}
{
  "type": "ContactDndUpdate",
  "locationId": "ve9EPM428h8vShlRW1KT",
  "id": "nmFmQEsNgz6AVpgLVUJ0",
  "address1": "3535 1st St N",
  "city": "ruDolomitebika",
  "state": "AL",
  "companyName": "Loram ipsum",
  "country": "DE",
  "source": "xyz form",
  "dateAdded": "2021-11-26T12:41:02.193Z",
  "dateOfBirth": "2000-01-05T00:00:00.000Z",
  "dnd": true,
  "dndSettings": {
    "SMS": { "status": "inactive", "message": "Some message", "code": "101" },
    "Call": { "status": "inactive", "message": "Some message", "code": "101" },
    "Email": { "status": "active", "message": "Some message", "code": "101" },
    "GMB": { "status": "active", "message": "Some message", "code": "101" },
    "FB": { "status": "active", "message": "Some message", "code": "101" },
    "WhatsApp": { "status": "active", "message": "Some message", "code": "101" }
  },
  "email": "JohnDeo@gmail.com",
  "name": "John Deo",
  "firstName": "John",
  "lastName": "Deo",
  "phone": "+919509597501",
  "postalCode": "452001",
  "tags": ["id magna sed Lorem", "Duis dolor commodo aliqua"],
  "website": "https://www.google.com/",
  "attachments": [],
  "assignedTo": "nmFmQEsNgz6AVpgLVUJ0",
  "customFields": [
    {
      "id": "BcdmQEsNgz6AVpgLVUJ0",
      "value": "XYZ Corp"
    }
  ]
}
```

## Related

* [Contact Updated](/api-reference/webhooks/contact-update) — fires when any other contact field changes
* [Contacts API](/api-reference/contacts/overview) — query and update contacts programmatically
