NB: Please LIKE this post to vote for this. If you just reply with a +1 it will help nothing. Thanks!
Suggestion:
There are a few threads requesting certain notifications like Pushbullet notifications when users start playing media or if a media item watched status is changes, etc.
I then thought with all the notification services out there it would make a lot more sense for third party developers to write in this functionality themselves without having to ask Plex devs to spend time developing something that maybe 10 users are going to use.
The answer is notification agents.
Give third party developers the tools to write their own agents with an api that allows them to access things like playback information, friend info and more.
Plex should push this info to an event listener that these agents can use. Here is a list of events I think should be available:
Media Playback events:
- Playback started
- Playback paused
- Playback stopped
- Media watched
Friend events:
- Friend request accepted
- Friend removed
- Friend login successful
- Friend login failed
Library events:
- Media item added
- Media item removed
Certain information obviously has to be available through the api to make the notifications useful, the following info should be available on the appropriate events:
Media Playback parameters:
- Server Name
- Media event info: Username, Event timestamp
- Media type: Movie, Music, TV Show (don't know if Photos make sense here).
- Media name: Movie Name, TV Show Name, TV Show Season, TV Show episode title, Artist Name, Album Name, Track Title.
- Media additional info: Release year, Content rating (age restriction), Media duration, Media offset (time where media is at event send).
- Media stream details: Video Transcode decision, Audio Transcode decision, Video protocol, Video container, Video codec, Audio Codec, Audio Channels, Video Width, Video Height
Friend info parameters:
- Server Name
- Friend status info: Username, Friend request accepted, Request timestamp, Accept timestamp
- Friend login info: Username, Login status, Login timestamp
Library parameters:
- Server Name
- Media item status: Library action (added, deleted), Action timestamp, Library section
- Media item info: Movie Name, TV Show Name, TV Show Season, TV Show episode title, Artist Name, Album Name, Track Title.
Not only could these agents be used for notification services but third parties to integrate this into things like Trakt.tv and PlexWatch type applications (for watch history logging).
With a bit of Firebug magic I have mocked up what these agents may look like.
Agents:

Agent configuration screen:

Please let me know if there are any other events or info you would like to be able to capture, I'm sure I've missed something.
Thanks all!