> ## 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.

# Object Schema Create | Webhook Events

> Fires when a new custom object schema is defined in an account.

The `ObjectSchemaCreate` event fires when a user defines a new custom object type within an account. Custom object schemas establish the structure — labels, searchable properties, and display rules — for any user-defined data model. Subscribe to this event to react to new data models being introduced, provision related resources, or audit schema changes across accounts.

## Payload

| Field                    | Type     | Description                                                                                    |
| ------------------------ | -------- | ---------------------------------------------------------------------------------------------- |
| `key`                    | `string` | Unique key identifying this object type, scoped to the location (e.g., `"custom_objects.pet"`) |
| `locationId`             | `string` | Account ID where the schema was created                                                        |
| `primaryDisplayProperty` | `string` | The property key used as the primary display name for records of this type                     |
| `labels`                 | `object` | Human-readable names for the object type                                                       |
| `labels.singular`        | `string` | Singular label for the object type (e.g., `"pet"`)                                             |
| `labels.plural`          | `string` | Plural label for the object type (e.g., `"pets"`)                                              |
| `objectType`             | `string` | Always `"USER_DEFINED"` for custom schemas                                                     |
| `searchableProperties`   | `array`  | List of property keys that can be searched on records of this type                             |
| `createdAt`              | `string` | ISO 8601 timestamp of when the schema was created                                              |
| `updatedAt`              | `string` | ISO 8601 timestamp of the last schema modification                                             |
| `createdBy`              | `object` | Identity of the user who created the schema                                                    |
| `updatedBy`              | `object` | Identity of the user who last modified the schema                                              |

## Example payload

```json theme={null}
{
  "key": "custom_objects.pet",
  "locationId": "ve9EPM428h8vShlRW1KT",
  "primaryDisplayProperty": "pet_name",
  "labels": {
    "singular": "pet",
    "plural": "pets"
  },
  "objectType": "USER_DEFINED",
  "searchableProperties": ["pet_name"],
  "createdAt": "2024-01-01T00:00:00.000Z",
  "updatedAt": "2024-01-01T00:00:00.000Z"
}
```

## Related

* [Object Schema Update](/api-reference/webhooks/object-schema-update) — fires when an existing schema is modified
* [Record Create](/api-reference/webhooks/record-create) — fires when a record of a custom object type is created
* [Objects API](/api-reference/objects/overview) — manage custom object schemas and records
