Abstract: Disclosed are a system, apparatus, and method for prioritizing and scheduling of notifications to a user on a user device based on the user's behavior profile and user state. The method includes collecting user related data by a plurality of data collectors. The data may be collected by the user's device and a server connected to the user's device. The data collected by the user's device and the server may be different. The collected data is analyzed to generate user states data and user behavior data. The prioritizing and scheduling of the messages is done based on the user states data and the behavior data.