1. A system for prioritizing and scheduling notifications comprising: a plurality of user devices corresponding to a user, wherein each of the plurality of user devices comprises: a plurality of user device adaptors configured to regularly collect a first user contextual data corresponding to the user; a user device analysis engine configured to analyze the first user contextual data and generate a first user states data; a memory configured with a plurality of databases to store the first user contextual data and the first user states data separately; and a data push module configured to transmit the first user contextual data and the first user states data; a server, connected to the plurality of user devices through a network, comprising: a plurality of server adaptors configured to regularly collect a second user contextual data corresponding to the user; a server analysis engine configured to analyze the second user contextual data and generate a second user states data and a user behavior data; a server memory configured with a plurality of databases to store second user contextual data, the second user states data and the user behavior data separately; a synchronizer module configured to receive, add the first user contextual data and the first user states data to the second user contextual data and the second user states data and update the second user contextual data and the second user states data and corresponding user behavior data; a notification module to determine priority and scheduling of notifications, wherein the determination of priority and scheduling is based on the update user behavior data and the user states data.