> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.pivotal.app/llms.txt.
> For full documentation content, see https://docs.pivotal.app/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.pivotal.app/_mcp/server.

# Customer events

Six events fire on the `customer` resource. Each delivers the full customer object on `data.object`. Update events also include `data.previous_attributes` with the prior values of the changed fields.

EVENT TYPES

| Type                            | Fires when                                                                          |
| ------------------------------- | ----------------------------------------------------------------------------------- |
| `customer.created`              | A customer is added — through the app, the API, or a CRM sync.                      |
| `customer.updated`              | Any field on the customer changes. `previous_attributes` lists changed fields only. |
| `customer.archived`             | A customer is archived. The object remains but stops appearing in the active list.  |
| `customer.health_score_dropped` | Health score drops by 10 points or more between calculations.                       |
| `customer.at_risk`              | Customer's at-risk flag is set, either by Pi or by a CSM.                           |
| `customer.churned`              | Customer is marked churned.                                                         |

PAYLOAD

```json title="customer.health_score_dropped"
{
  "id": "evt_2nQv...",
  "type": "customer.health_score_dropped",
  "data": {
    "object": {
      "id": "cus_2N...",
      "display_id": 4218,
      "name": "Acme Corp",
      "health_score": 38,
      "previous_health_score": 72,
      "at_risk": true,
      "churned": false,
      "owner_email": "csm@yourdomain.com"
    },
    "previous_attributes": {
      "health_score": 72,
      "at_risk": false
    }
  }
}
```