※自分が自分のレコードへ投稿する場合、通知しないはSFDCの仕様です。
private void postFeedItem(List<Event> newEventList,Map<Id, Event> oldEventMap){
List<ConnectApi.BatchInput> batchInputs = new List<ConnectApi.BatchInput>();
for (Event ev : newEventList) {
ConnectApi.FeedItemInput feedItemInput = new ConnectApi.FeedItemInput();
ConnectApi.MentionSegmentInput mentionSegmentInput = new ConnectApi.MentionSegmentInput();
ConnectApi.MessageBodyInput messageBodyInput = new ConnectApi.MessageBodyInput();
ConnectApi.TextSegmentInput textSegmentInput = new ConnectApi.TextSegmentInput();
messageBodyInput.messageSegments = new List<ConnectApi.MessageSegmentInput>();
// メンション
mentionSegmentInput.id = ev.OwnerId;
messageBodyInput.messageSegments.add(mentionSegmentInput);
String body = '\r\n';
body +=URL.getSalesforceBaseUrl().toExternalForm()+'/'+ev.Id;
textSegmentInput.text = body;
messageBodyInput.messageSegments.add(textSegmentInput);
feedItemInput.body = messageBodyInput;
feedItemInput.subjectId = ev.Id;
ConnectApi.BatchInput batchInput = new ConnectApi.BatchInput(feedItemInput);
batchInputs.add(batchInput);
}
// chatter投稿
ConnectApi.ChatterFeeds.postFeedElementBatch(Network.getNetworkId(), batchInputs);
}
}