Product DocsMenu

Salesforce ObjectsToGet Configuration File Example for Chatter Objects

A variety of Salesforce objects such as User, CollaborationGroup, Account, and Case can have Chatter feeds. The list of Salesforce objects having Chatter feeds can be customized and is retrieved dynamically by the Salesforce connector. Chatter posts and comments inherit the permissions of the record onto which they are posted, no matter if that record is public, private, a group or a user. Chatter feed comments are fetched along with their parent feed item as a child relationship, they do not require additional API calls.

By default, the Salesforce connector supports the following Chatter objects and their types:

  • FeedItem for feed item of types:

    • TextPost: a direct text entry on a feed

    • LinkPost: a URL posting on a feed

    • ContentPost: an uploaded file on a feed

    • PollPost: a poll posted on a feed

  • FeedComment for comments on a feed item of types

    • ContentComment: an uploaded file on a comment

    • TextComment: a direct text entry on a comment

  • ContentVersion for Chatter files

You can add or remove some Chatter types (see Indexing More Than the Built-in FeedItem Types) such as the following:

  • Non default FeedItem types:

    • DashboardComponentSnapshot: a posting of a dashboard snapshot on a feed

    • TrackedChange: a change or group of changes to a tracked field

    • UserStatus: automatically generated when a user adds a post

    • ApprovalPost: automatically generated by a feed query on an approval item

    • CollaborationGroupCreated: automatically generated post on a user feed when the user creates a public group

    • ActivityEvent: generated event when a user or the API adds a task associated with a feed-enabled parent record (excluding email tasks on cases)

    • CaseCommentPost: generated event when a user adds a case comment for a case object

    • EmailMessageEvent: generated event when an email related to a case object is sent or received

    • CallLogPost: generated event when a user logs a call for a case through the user interface. This event is also generated by CTI (computer-telephony integration) calls.

    • ChangeStatusPost: generated event when a user changes the status of a case

    • AttachArticleEvent: generated event when a user attaches an article to a case

  • CollaborationGroup

You can use metadata to link related Chatter items:

  • Any type of feed item and it's comment(s): FeedItem.Id == FeedComment.FeedItemId

  • A feed item of type ContentPost and the corresponding uploaded Chatter file: FeedItem.RelatedRecordId == ContentVersion.Id

  • A feed comment of type ContentComment and the corresponding uploaded Chatter file: FeedComment.RelatedRecordId == ContentVersion.Id

The following code sample is the content of the ObjectsToGet configuration file example for Chatter feed for standard Service Cloud objects and fields.

Important:

  • Both FeedItem and FeedComment objects must be present in the configuration file.

  • Only Chatter feeds for objects (ex.: User, CollaborationGroup, Account...) that are also present in the configuration file will be processed.

<?xml version="1.0" encoding="utf-8"?>
<ArrayOfQuery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Query>...</Query>
  <Query>...</Query>
  <Query>
    <ObjectName>FeedItem</ObjectName>
    <Fields>
      <string>Id</string>
      <string>Type</string>
      <string>Body</string>
      <string>CreatedDate</string>
      <string>IsDeleted</string>
      <string>LastModifiedDate</string>
      <string>SystemModstamp</string>
      <string>CommentCount</string>
      <string>LikeCount</string>
      <string>LinkUrl</string>
      <string>ContentData</string>
      <string>ContentFileName</string>
      <string>ContentDescription</string>
      <string>ContentType</string>
      <string>ContentSize</string>
    </Fields>
  </Query>
  <Query>
    <ObjectName>FeedComment</ObjectName>
    <Fields>
      <string>Id</string>
      <string>FeedItemId</string>
      <string>CreatedDate</string>
      <string>CommentBody</string>
      <string>IsDeleted</string>
      <string>CommentType</string>
      <string>ParentId</string>
      <string>RelatedRecordId</string>
    </Fields>
    <ParentRelationships>
      <ParentRelationship>
        <RelationshipName>CreatedBy</RelationshipName>
        <Fields>
          <string>Name</string>
          <string>Type</string>
        </Fields>
      </ParentRelationship>
      <ParentRelationship>
        <RelationshipName>InsertedBy</RelationshipName>
        <Fields>
          <string>Name</string>
        </Fields>
      </ParentRelationship>
    </ParentRelationships>
    <PolymorphicRelationships>
      <PolymorphicRelationship>
        <RelationshipName>CreatedBy</RelationshipName>
        <ObjectName>User</ObjectName>
      </PolymorphicRelationship>
    </PolymorphicRelationships>
  </Query>
  <Query>
    <ObjectName>ContentVersion</ObjectName>
    <Fields>
      <string>CreatedDate</string>
      <string>LastModifiedDate</string>
      <string>SystemModstamp</string>
      <string>IsDeleted</string>
      <string>Id</string>
      <string>ContentDocumentId</string>
      <string>ContentModifiedById</string>
      <string>ContentModifiedDate</string>
      <string>ContentSize</string>
      <string>ContentUrl</string>
      <string>Description</string>
      <string>FeaturedContentBoost</string>
      <string>FeaturedContentDate</string>
      <string>FileType</string>
      <string>FirstPublishLocationId</string>
      <string>IsLatest</string>
      <string>NegativeRatingCount</string>
      <string>Origin</string>
      <string>OwnerId</string>
      <string>PathOnClient</string>
      <string>PositiveRatingCount</string>
      <string>PublishStatus</string>
      <string>RatingCount</string>
      <string>ReasonForChange</string>
      <string>TagCsv</string>
      <string>Title</string>
      <string>VersionData</string>
      <string>VersionNumber</string>
    </Fields>
  </Query>
</ArrayOfQuery>

What's Next?

Create a mapping file for fields from obtained objects (see Salesforce Mapping File Example for Chatter Objects).

People who viewed this topic also viewed