You need to sign in to do that
Don't have an account?
Wim van Beek
Send private message to user via chatter
I am looking for a solution to send a personal message to one specific user.
Now i use in a trigger
<cut some lines here>
ConnectApi.FeedItem feedItemRep = ConnectApi.ChatterFeeds.postFeedItem(Null, ConnectApi.FeedType.UserProfile, UserId, BinSegment);
and the message is forwarded to the user as indicated in UserId.
BUT
If an user starts following another user, he/she gets all messages from the other.
How can i force the message to be send to that one user only !
Now i use in a trigger
<cut some lines here>
ConnectApi.FeedItem feedItemRep = ConnectApi.ChatterFeeds.postFeedItem(Null, ConnectApi.FeedType.UserProfile, UserId, BinSegment);
and the message is forwarded to the user as indicated in UserId.
BUT
If an user starts following another user, he/she gets all messages from the other.
How can i force the message to be send to that one user only !
What you want is ChatterMessages / Private Messages instead. Anything else will be visibile on that user's feed and essentially is public.
Take a look at the sendMessage method here: https://www.salesforce.com/us/developer/docs/apexcode/Content/apex_ConnectAPI_ChatterMessages_static_methods.htm#apex_ConnectAPI_ChatterMessages_sendMessage_2
Alternatively, you could use the REST Api. The following is a document for the Connect REST API (behaves the same). Do a search for "Send a Private Message" and you'll find an example there.
http://www.salesforce.com/us/developer/docs/chatterapi/salesforce_chatter_rest_api.pdf
For instance, in the screenshot, I am testing the Connect REST API and private message functionality in workbench. (If you're not familiar with workbench, log into workbench.developerforce.com with your Salesforce credentials and poke around).
All Answers
What you want is ChatterMessages / Private Messages instead. Anything else will be visibile on that user's feed and essentially is public.
Take a look at the sendMessage method here: https://www.salesforce.com/us/developer/docs/apexcode/Content/apex_ConnectAPI_ChatterMessages_static_methods.htm#apex_ConnectAPI_ChatterMessages_sendMessage_2
Alternatively, you could use the REST Api. The following is a document for the Connect REST API (behaves the same). Do a search for "Send a Private Message" and you'll find an example there.
http://www.salesforce.com/us/developer/docs/chatterapi/salesforce_chatter_rest_api.pdf
For instance, in the screenshot, I am testing the Connect REST API and private message functionality in workbench. (If you're not familiar with workbench, log into workbench.developerforce.com with your Salesforce credentials and poke around).
ConnectAPI.ChatterMessage SendMsg = ConnectAPI.ChatterMessages.sendMessage('Some Text', UserId);
system.debug('SendMsg '+SendMsg);
This is the trick for me. Somehow I got lost in the documentation.