Here's a link to the Help page for Customizing Chatter Feed Tracking:
http://help.salesforce.com/apex/HTViewHelpDoc?id=collab_feed_tracking.htm
Like you said, the out-of-the-box Chatter might not have sufficient capabilities to do what you're asking, and their are more complex alternatives. First, I believe you can create a Trigger
on the appropriate Chatter Objects
. That would give you the greatest control over Chatter Feed records
generation. In the Trigger
, you could evaluate who the User is and do different actions based on the User
and the record itself (like create new appropiate Chatter Feed Records
).
However, if that doesn't work, there is another alternative of using Streaming API
. It's kind of nifty: first you set up Queries (PushTopic
). The code then performs the PushTopic
query at regular intervals (near-continuous or in a trigger
-fashion) and it detects when a new record is created (or edited depending on your settings). The Streaming API
then sends a message to the client
when it detects a change. The client can then do whatever they want with it (like create a Chatter Feed Record).
I believe Streaming API
is more for the use-case of a 3rd-party application or like you would use Salesforce SOAP API
with Javascript on a page.
Streaming API docs: http://www.salesforce.com/us/developer/docs/api_streaming/