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

# Notifications

When using our Personal Finance Management widgets, users can receive a variety of different notifications related to their account activity. The following information explains each notification, the supported delivery channels, and notification timing.

There are two types of notifications:

* **System** notifications. These allow the user to interact with the system. Examples of this are the Email Verification and Password Reset notifications.
* **Alert** notifications. These inform the user when their data enters an uncommon state. Examples of this are the Low Account Balance and Large Expense notifications.

<Info>
  **INFO**

  If you're looking to create your own notifications, see [Webhooks](/resources/webhooks/notifications).
</Info>

Our notifications can use one or more of the following delivery channels:

* Email
* SMS
* In-app
* Push

Some notifications don't use every delivery channel.

## How To Configure Delivery Channels

**Clients** can contact MX to opt out of delivery channels (email, SMS, in-app) or specific notifications for all of their users.

**Users** can, if using the Master Widget, select **Settings** > **Notifications** to:

* Opt out of a notification.
* Opt out of a delivery channel for all notifications.
* Opt out of a delivery channel for a single notification. For example, a user may only want to receive the Large Account Deposit notification on SMS and not on email.
* Toggle the accounts used within the Payment Reminder, Low Account Balance, Large Deposit, Large Expense, and Fee Charge notifications. For example, a user may only want to receive the Low Account Balance notification for one of their connected accounts.
* Edit thresholds within some notifications. These thresholds are specified in [Alert Notifications](#alert-notifications).

## Alert Notifications

These notifications are available through all delivery channels. The user can disable these notifications and customize the delivery channels they're sent through.

| Notification Name          | Description                                                                                                                                                                                                                                                                                                                                | Copy                                                                                                                                                                       | Channel(s)               |
| :------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------- |
| Exceeded Budget            | Notifies the user that they've exceeded a budget.                                                                                                                                                                                                                                                                                          | "You've exceeded your `category_name` budget by `budget_exceeded_amount`"                                                                                                  | email, SMS, push, in-app |
| Fee Charged                | A fee was charged on an account. Shows the account the fee was charged to and the fee amount. Users can choose which accounts trigger this notification. If sent as an email, contains a **Log In To Account** CTA.                                                                                                                        | "You have been charged a `transaction_amount` fee `truncated_description` to your `truncated_account_name` account."                                                       | email, SMS, push, in-app |
| Goal Progress              | Notifies the user when they have contributed to or reached a milestone (25%, 50%, 75%, 100%) within a goal they set.                                                                                                                                                                                                                       | Varies based on the conditions. See [Goal Progress table](/products/experience/pfm/notifications#goal-progress).                                                           | email, SMS, push, in-app |
| International Transaction  | An international transaction was detected. Shows the transaction amount, which account was charged, and the transaction date. If sent as an email, contains a **Log In To Account** CTA.                                                                                                                                                   | "Your `truncated_account_name` account was charged `transaction_amount` by an international merchant `truncated_transaction_description` on `shortened_transaction_date`." | email, SMS, push, in-app |
| Large Deposit              | A deposit exceeded a configurable threshold. Shows the account the deposit was made to and the amount. Users can choose which accounts trigger this notification and customize the threshold for each account. If sent as an email, contains a **Log In To Account** CTA. Triggers when MX receives the transaction, regardless of status. | Varies based on the conditions. See the [Large Deposit Notification table](/products/experience/pfm/notifications#large-deposit).                                          | email, SMS, push, in-app |
| Large Deposit (posted)     | Same as **Large Deposit**, but only triggers when the transaction status is POSTED.                                                                                                                                                                                                                                                        | Varies based on the conditions. See the [Large Deposit Notification table](/products/experience/pfm/notifications#large-deposit).                                          | email, SMS, push, in-app |
| Large Expense              | An expense exceeded a set threshold. Shows the account the expense was made from and the expense amount. Users can choose which accounts trigger this notification and customize the threshold for each account. If sent as an email, contains a **Log In To Account** CTA.                                                                | Varies based on the conditions. See the [Large Expense Notification table](/products/experience/pfm/notifications#large-expense).                                          | email, SMS, push, in-app |
| Low Account Balance        | The balance of an account has dropped below a threshold. Users can choose which accounts trigger this notification and customize the threshold for each account. This notification won't trigger again until the account exceeds the threshold again.                                                                                      | "Your account balance is getting low on `X number` accounts."                                                                                                              | email, SMS, push, in-app |
| Payment Reminder           | Notifies the user of the amount, related account, and date that a payment is due. Users can choose which accounts trigger this notification and customize the payment's due date for each account.                                                                                                                                         | Varies based on the conditions. See the [Payment Reminder table](/products/experience/pfm/notifications#payment-reminder).                                                 | email, SMS, push, in-app |
| Projected to Exceed Budget | Notifies the user that they're projected to exceed a budget.                                                                                                                                                                                                                                                                               | "You're projected to spend `budget_overage_projection` more than you've budgeted for `category_name`. You've already spent `budget_spent` of `budget_amount`."             | email, SMS, push, in-app |

### Goal Progress

| Header Text                | Body Text                                                                                                 | Conditions                 |
| :------------------------- | :-------------------------------------------------------------------------------------------------------- | :------------------------- |
| "GOOOOAAAAL!"              | "You rock! You achieved your `goal_name` goal. Feels pretty good, right?"                                 | When the goal is met       |
| "Just around the corner!"  | "You're at 75% of your `goal_name` goal. At this rate, you'll be done in no time!"                        | When the goal is 75% met   |
| "Halfway there!"           | "You're at 50% of your `goal_name` goal. Keep going and you'll be finished before you know it!"           | When the goal is 50% met   |
| "You're well on your way!" | "You're 25% of the way to achieving your `goal_name` goal. Keep up the good work!"                        | When the goal is 25% met   |
|                            | "Good work on that `contribution_amount` contribution to your `goal_name` goal. Every little bit counts!" | When the goal is any % met |

### Large Deposit

| Text                                                                                                                    | Conditions                                               |
| :---------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------- |
| "There is a pending payment of `transaction_amount` `truncated_description` for your `truncated_account_name` account." | If a pending transaction exists in a payment account     |
| "There is a pending deposit of `transaction_amount` `truncated_description` in your `truncated_account_name` account."  | If a pending transaction exists in a non-payment account |
| "A payment of `transaction_amount` `truncated_description` was made to your `truncated_account_name` account."          | If a posted transaction exists in a payment account      |
| "`transaction_amount` `truncated_description` was deposited into your `truncated_account_name` account."                | If a posted transaction exists in a non-payment account  |

### Large Expense

| Text                                                                                                                                    | Conditions                                     |
| :-------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------- |
| "There is a pending transaction for `transaction_amount` `truncated_transaction_description` in your `truncated_account_name` account." | If a pending transaction exists in the account |
| "`transaction_amount` `truncated_transaction_description` was spent from your `truncated_account_name` account."                        | If a posted transaction exists in the account  |

### Payment Reminder

| Text                                                                                                        | Conditions                                          |
| :---------------------------------------------------------------------------------------------------------- | :-------------------------------------------------- |
| "A `formatted_minimum_payment` payment for `truncated_account_name ` is due on `shortened_payment_due_at`." | If an account has a minimum payment and due date    |
| "A `formatted_minimum_payment` payment for `truncated_account_name ` is due soon."                          | If an account has a minimum payment but no date     |
| "A payment for `truncated_account_name ` is due on `shortened_payment_due_at`."                             | If an account has no minimum payment but a due date |
| "A payment for `truncated_account_name` is due soon."                                                       | If an account has no minimum payment or due date    |

## System Notifications

The user **can't** disable these notifications or customize the delivery channels they're sent through.

| Notification Name                 | Description                                                                                                                                                                             | Copy                                                                                                                                                                    | Channel(s)         |
| :-------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------- |
| Device Created                    | Sent when the user links a mobile device to their account.                                                                                                                              | "Device Created"                                                                                                                                                        | email              |
| Device Deleted                    | Sent when the user unlinks a mobile device from their account.                                                                                                                          | "A device was deleted from your account: `device.name` `device.make` `device.model`"                                                                                    | email, in-app      |
| Email Verification                | Sent when a user's account is created.                                                                                                                                                  | "Press the button below to verify your email address with `client_product_name`. Once verified, you'll start to receive email notifications based on your preferences." | email, in-app      |
| Email Verified                    | Sent after the user has verified their email through the Email Verification notification.                                                                                               | "Email Verified"                                                                                                                                                        | email, in-app      |
| Password Changed                  | Sent when the user confirms a new password and selects Save Password.                                                                                                                   | "Your password was recently changed."                                                                                                                                   | email, in-app      |
| Password Reset Token              | Sent when the user requests to reset their password. This notification contains a reset token the user must use to log in. This token lasts for an hour.                                | "Your `client_product_name` reset token is: `password_reset_token`."                                                                                                    | email, SMS, in-app |
| SMS Verification                  | Sent when the user links a mobile device. Contains a verification code.                                                                                                                 | "Your `client_product_name` device registration code is: `registration_code`"                                                                                           | SMS, in-app        |
| SMS Welcome Message               | Informs the user that they'll receive periodic updates about their accounts. Allows users to text HELP for help or STOP to unsubscribe. Sent when the user verifies their phone number. | "Welcome to `client_product_name`! You'll receive periodic updates about your accounts, message and data rates may apply. Text HELP for help or STOP to unsubscribe."   | SMS                |
| Verification Confirmation Message | Lets the user confirm enrollment to future SMS messages by replying YES.                                                                                                                | "For your protection, `client_product_name` will only send you notifications regarding your finances when you confirm your enrollment by replying YES to this message." | SMS                |
| Welcome New User                  | Sent when the user verifies their email.                                                                                                                                                | "`user_name` - `client_name` Welcomes You!"                                                                                                                             | email, in-app      |

## Insight Notifications

Users can now get timely [notifications](/products/experience/insights/#insight-notifications) from our Financial Insights for over twenty insights. Notifications are delivered through any of our available channels (in-app, SMS, push notifications, or email). See the [insights documentation](/products/experience/insights/#insight-notifications) for the list of available insights and work with your MX representative to turn them on.

## Notification Timing

The following notifications are sent on any delivery channel without delay:

* Device Created
* Email Verification
* Email Verified
* Password Changed
* Password Reset Token
* SMS Verification
* SMS Welcome Message
* Welcome New User

All other notifications, for email and SMS, are timed in intervals. Every five minutes, these notifications are grouped by notification type and then sent to the user.

For example, a user may receive three fee charges. After five minutes have passed since the last batch of notifications were sent, the notifications reflecting the fee charges are grouped together and delivered to the user as one notification.
