# Notification Types

This object allows you to create custom `Notification Types` which will create
`interaction` instances (such as emails, text messages, etc.) automatically when case conditions are met. For example,
when a new `bankruptcy` case is `initiated`, the system can automatically send an email notification
and ask the borrower to provide supporting documents.
The conditions are set in the following way. There are two triggers and one condition fields that you can configure:
1. `onStatus` - triggered based on the case status.
2. `onOutcome` - triggered based on the case outcome.
3. `onCondition` - condition(s) based on case fields values.

You must provide at least one trigger, `onStatus` or `onOutcome`, when creating a new `Notification Type` object.
Few examples:
- `onStatus=processing`, `onOutcome=null`, `onCondition=null` - the `interaction`
instance will be created when the case status is changed to `processing`.
- `onStatus=completed`, `onOutcome=approved`, `onCondition=null` - the `interaction`
instance will be created when the case status is changed to `completed` and the outcome is `approved`.

`Notification Types` must be associated with `Case Types`. A `Notification Type` object can
be associated with multiple `Case Types`.

 - [GET /notification-types](https://docs.peachfinance.com/api-docs/api-public/notification-types/peach.cases.events.handlers.notifications.notification_type_get_all.md)
 - [POST /notification-types](https://docs.peachfinance.com/api-docs/api-public/notification-types/peach.cases.events.handlers.notifications.notification_type_create.md): Create a new type configuration for triggering notifications.
 - [GET /notification-types/{notificationTypeId}](https://docs.peachfinance.com/api-docs/api-public/notification-types/peach.cases.events.handlers.notifications.notification_type_get_by_id.md)
 - [PUT /notification-types/{notificationTypeId}](https://docs.peachfinance.com/api-docs/api-public/notification-types/peach.cases.events.handlers.notifications.notification_type_update.md): Change the triggering conditions and settings of a `draft` type, or update the `status` of an `active` type to `deprecated`.
