---
schema_version: "1"
id: 3d0c089a118988a6206b052bdd988ff04b3fe94ef9ebf8bc5527e151d67a1cd1
title: FeedItem
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/object_reference/sforce_api_objects_feeditem.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_feeditem.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: 8c69bd5028cbfbc5dc80f2b2718657887b2160cb9ea20dad507dc10abcfa2d4a
description: FeedItem represents an entry in the feed, such as changes in a record feed, including text posts, link posts, and content posts. This object is available in API version 21.0 and later. This object replaces FeedPost.
---
# FeedItem

FeedItem represents an entry in the feed, such as changes in a record feed, including text posts, link posts, and content posts. This object is available in API version 21.0 and later. This object replaces FeedPost.

## Supported Calls

create(), delete(), describeSObjects(), describeLayout(), getDeleted(), getUpdated(), query(), retrieve(), search(), update(), upsert()

## Special Access Rules

- You can delete all feed items you created. To delete feed items you didn’t create, you must have one of these permissions:
    
    - Modify All Data
    - Modify All Records on the feed item’s parent object, for example, Account for a feed item on an account feed
    - Moderate Chatter
        
        Note: Users with the Moderate Chatter permission can delete only the feed items and comments that they can see.
    
    Only users with this permission can delete items in unlisted groups.
- Guest users can’t insert system field values for Chatter feeds. Even if you try to assign the CanInsertFeedSystemFields permission to a Guest User, the permission isn’t granted.

Only users with the Modify All Data permission can delete a feed item of Type TrackedChange.

If the context user has the Insert System Field Values for Chatter Feeds user permission, the create field property is available on CreatedBy and CreatedDate system fields. During migration, the context user can set these fields to the original post’s author and creation date. The fields can’t be updated after migration.

## Fields

<table class="featureTable sort_table" summary="">


          <thead class="thead sorted" align="left">
            <tr>
              <th class="featureTableHeader  " id="d909898e150">Field Name</th>

              <th class="featureTableHeader  " id="d909898e153">Details</th>

            </tr>

          </thead>

          <tbody class="tbody">
            <tr id="FeedBodyRow">
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname" id="FeedItem_BestCommentId"><a name="FeedItem_BestCommentId"><!-- --></a>BestCommentId</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">reference</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Filter, Group, Nillable, Sort</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd" id="dd_BestCommentId">
                    <a name="dd_BestCommentId"><!-- --></a>The ID of the comment marked as best answer on a
                    question post.
                  </dd>

                  <dd class="dd">This is a relationship field.</dd>



                  <dt class="dt dlterm">Relationship Name</dt>

                  <dd class="dd">BestComment</dd>



                  <dt class="dt dlterm">Relationship Type</dt>

                  <dd class="dd">Lookup</dd>



                  <dt class="dt dlterm">Refers To</dt>

                  <dd class="dd">FeedComment</dd>


                </dl>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname" id="FeedItem_Body"><a name="FeedItem_Body"><!-- --></a>Body</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">textarea</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Create, Nillable, Sort, Update</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd" id="dd_Body">
                    <a name="dd_Body"><!-- --></a>The body of the feed item. <span class="ph" id="BodyDescReqWhenTextPost"><a name="BodyDescReqWhenTextPost"><!-- --></a>Required when <span class="keyword parmname">Type</span> is <samp class="codeph nolang">TextPost</samp> or <samp class="codeph nolang">AdvancedTextPost</samp>. Optional when <span class="keyword parmname">Type</span> is <samp class="codeph nolang">ContentPost</samp> or
                      <samp class="codeph nolang">LinkPost</samp>.</span>
                  </dd>

                  <dd class="dd" id="dd_Body_2">
                    <a name="dd_Body_2"><!-- --></a>Although a value for <span class="keyword parmname">Body</span> isn’t required for the <samp class="codeph nolang">ContentPost</samp> type, an attachment is required. If an attachment
                    isn’t present, the type changes to <samp class="codeph nolang">TextPost</samp> or <samp class="codeph nolang">AdvancedTextPost</samp>,
                    depending on the API version. <samp class="codeph nolang">TextPost</samp>
                    and <samp class="codeph nolang">AdvancedTextPost</samp> do require a value
                    for <span class="keyword parmname">Body</span>.<p class="p">Tip: See the
                      <a class="xref" href="#isRichTextDes"><span class="keyword parmname">IsRichText</span></a> field for a list of HTML tags supported in
                      the body of rich text posts.
                    </p>
                  </dd>


                </dl>

              </td>

            </tr>

            <tr id="CommentCountRow">
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname">CommentCount</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">int</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Filter, Group, Sort</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd" id="dd_CommentCount">
                    <a name="dd_CommentCount"><!-- --></a><span class="ph" id="desc_CommentCount"><a name="desc_CommentCount"><!-- --></a>The number of comments
                      associated with this feed item.</span>
                  </dd>


                </dl>

                <div class="box message confirm" id="note_CommentCount">
                  <a name="note_CommentCount"><!-- --></a>
                  <div class="inner">
                    <div class="bd">
                      <div class="media">
                        <img class="img mtm" src="https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/images/icon_note_tip.png" alt="Tip">
                        <div class="mediaBd">
                          <h4 class="mbs">Tip</h4>
                          <p>In a feed that supports pre-moderation,
                            <span class="keyword parmname">CommentCount</span> isn’t updated until a
                            comment is published. For example, say that you comment on a post that already has
                            one published comment and your comment triggers moderation. Now there are two
                            comments on the post, but the count says there's only one. In a moderated feed,
                            comments aren’t counted until approved by an admin or someone with Can Approve
                            Feed Post and Comment or Modify All Data.
                          </p><p class="p">Feed moderation has implications on
                            how you retrieve feed comments. In a moderated feed, rather than retrieving
                            comments by looping through <span class="keyword parmname">CommentCount</span>, go through pagination until the end of comments is
                            returned.</p>
                          <p></p>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>

              </td>

            </tr>

            <tr id="ConnectionIdRow">
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname" id="sforce_api_object_feeditem_connectionId"><a name="sforce_api_object_feeditem_connectionId"><!-- --></a>ConnectionId</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">reference</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Filter, Group, Nillable, Sort</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd"><span class="ph" id="feeds_connectionid_def"><a name="feeds_connectionid_def"><!-- --></a>When a PartnerNetworkConnection modifies a
                      record that is tracked, the <span class="keyword parmname">CreatedBy</span> field contains the ID of the system administrator.
                      The <span class="keyword parmname">ConnectionId</span> contains the ID of
                      the PartnerNetworkConnection. Available if Salesforce to Salesforce is
                      enabled for your org.</span></dd>


                </dl>

              </td>

            </tr>

            <tr id="ContentDataRow">
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname" id="FeedItem_ContentData"><a name="FeedItem_ContentData"><!-- --></a>ContentData</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">base64</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Create, Nillable</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd">This field was removed in API version 35.0, and is available in earlier
                    versions for backward compatibility only. <span class="ph" id="RequiredforContentType"><a name="RequiredforContentType"><!-- --></a>This
                      field is required if <span class="keyword parmname">Type</span> is
                      <samp class="codeph nolang">ContentPost</samp>.</span>
                    <span class="ph" id="ContentDataDesc"><a name="ContentDataDesc"><!-- --></a>Encoded file data in any format, and can’t be 0
                      bytes. Setting this field automatically sets <span class="keyword parmname">Type</span> to <samp class="codeph nolang">ContentPost</samp>.</span>
                  </dd>


                </dl>

              </td>

            </tr>

            <tr id="ContentDescriptionRow">
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname" id="FeedItem_ContentDescription"><a name="FeedItem_ContentDescription"><!-- --></a>ContentDescription</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">textarea</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Create, Nillable, Sort</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd">This field was removed in API version 35.0, and is available in earlier
                    versions for backward compatibility only. <span class="ph" id="ContentDescriptionDesc"><a name="ContentDescriptionDesc"><!-- --></a>The
                      description of the file specified in <span class="keyword parmname">ContentData</span>.</span>
                  </dd>


                </dl>

              </td>

            </tr>

            <tr id="ContentFileNameRow">
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname" id="FeedItem_ContentFileName"><a name="FeedItem_ContentFileName"><!-- --></a>ContentFileName</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">string</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Create, Group, Nillable, Sort</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd">This field was removed in API version 35.0, and is available in earlier
                    versions for backward compatibility only. <span class="ph" id="ContentFileNameDesc"><a name="ContentFileNameDesc"><!-- --></a>The
                      name of the file uploaded to the feed. Setting <span class="keyword parmname">ContentFileName</span> automatically sets <span class="keyword parmname">Type</span> to <samp class="codeph nolang">ContentPost</samp>.</span>
                  </dd>


                </dl>

              </td>

            </tr>

            <tr id="ContentSizeRow">
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname" id="FeedItem_ContentSize"><a name="FeedItem_ContentSize"><!-- --></a>ContentSize</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">int</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Group, Nillable, Sort</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd">This field was removed in API version 35.0, and is available in earlier
                    versions for backward compatibility only. <span class="ph" id="ContentSizeDesc"><a name="ContentSizeDesc"><!-- --></a>This field
                      is the size of the file (in bytes) uploaded to the feed. This field is
                      read-only and is automatically determined during insert.</span>
                  </dd>


                </dl>

              </td>

            </tr>

            <tr id="ContentTypeRow">
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname" id="FeedItem_ContentType"><a name="FeedItem_ContentType"><!-- --></a>ContentType</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">string</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Group, Nillable, Sort</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd">This field was removed in API version 35.0, and is available in earlier
                    versions for backward compatibility only. <span class="ph" id="ContentTypeDesc"><a name="ContentTypeDesc"><!-- --></a>This field
                      is the MIME type of the file uploaded to the feed. This field is read-only
                      and is automatically determined during insert.</span>
                  </dd>


                </dl>

              </td>

            </tr>

            <tr id="FeedPostIdRow">
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname" id="field_FeedPostId"><a name="field_FeedPostId"><!-- --></a>FeedPostId</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">reference</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Filter, Group, Nillable, Sort</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd">
                    <span class="ph" id="do_not_use_FeedPostId"><a name="do_not_use_FeedPostId"><!-- --></a>This field was removed in API version 22.0,
                      and is available in earlier versions for backward compatibility only.</span>
                    <p class="p">ID of the associated FeedPost. A FeedPost represents the following types of
                      changes in a feed item: changes to tracked fields, text posts, link posts,
                      and content posts.</p>
                  </dd>


                </dl>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname">HasContent</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">boolean</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Defaulted on create, Filter, Group, Sort</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd">Indicates whether the feed item has content.</dd>


                </dl>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="ph" id="HasFeedEntity"><a name="HasFeedEntity"><!-- --></a><span class="keyword parmname">HasFeedEntity</span></span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">boolean</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Defaulted on create, Filter, Group, Sort</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd"><span class="ph" id="HasFeedEntitydescription"><a name="HasFeedEntitydescription"><!-- --></a>Indicates whether the feed item has a feed
                      entity, for example, a post, as an attachment. Available in API version 39
                      and later when sharing a feed entity in Lightning Experience.</span></dd>


                </dl>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname">HasLink</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">boolean</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Defaulted on create, Filter, Group, Sort</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd">Indicates whether the feed item has a link attached.</dd>


                </dl>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname" id="HasVerifiedComment"><a name="HasVerifiedComment"><!-- --></a>HasVerifiedComment</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">boolean</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Defaulted on create, Filter, Group, Sort</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd">Determines whether a question has an answer that is marked as Company
                    Verified.<p class="p">This field is available in API version 41.0 and later.</p>
                  </dd>


                </dl>

              </td>

            </tr>

            <tr id="InsertedByIdRow">
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname">InsertedById</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">reference</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Filter, Group, Sort</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd" id="dd_InsertedById">
                    <a name="dd_InsertedById"><!-- --></a>ID of the user who added this item to the feed. For
                    example, if an application migrates posts and comments from another
                    application into a feed, the <span class="keyword parmname">InsertedBy</span> value is set to
                    the ID of the context user.
                  </dd>

                  <dd class="dd">This is a polymorphic relationship field.</dd>



                  <dt class="dt dlterm">Relationship Name</dt>

                  <dd class="dd">InsertedBy</dd>



                  <dt class="dt dlterm">Relationship Type</dt>

                  <dd class="dd">Lookup</dd>



                  <dt class="dt dlterm">Refers To</dt>

                  <dd class="dd">User</dd>


                </dl>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname">IsClosed</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">boolean</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Defaulted on create, Filter, Group, Sort</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd">As of API version 43, a read-only field that indicates whether the feed item
                    is open or closed to new actions. A value of <samp class="codeph java">true</samp> places restrictions on the actions a user can take on a feed
                    item and its comments. For more information, see the Usage section.</dd>


                </dl>

              </td>

            </tr>

            <tr id="IsDeletedRow">
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname">IsDeleted</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">boolean</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Defaulted on create, Filter, Group, Sort</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd">Standard system field. Indicates whether the record has been moved to the
                    Recycle Bin (<samp class="codeph java">true</samp>) or not (<samp class="codeph java">false</samp>). </dd>


                </dl>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname">IsRichText</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">boolean</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Create, Defaulted on create, Filter, Group, Sort, Update</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd" id="isRichTextDes">
                    <a name="isRichTextDes"><!-- --></a>Indicates whether the feed item <span class="keyword parmname">Body</span>
                    contains rich text. If you post a rich text feed comment using SOAP API, set
                    <span class="keyword parmname">IsRichText</span> to <samp class="codeph nolang">true</samp>
                    and escape HTML entities from the body. Otherwise, the post is rendered as
                    plain text.<p class="p">Rich text supports the following HTML tags:</p>
                    <ul class="ul bulletList">
                      <li class="li">
                        <samp class="codeph nolang">&lt;p&gt;</samp>
                        <div class="box message confirm">
                          <div class="inner">
                            <div class="bd">
                              <div class="media">
                                <img class="img mtm" src="https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/images/icon_note_tip.png" alt="Tip">
                                <div class="mediaBd">
                                  <h4 class="mbs">Tip</h4>
                                  <p>Though the
                                    <samp class="codeph nolang">&lt;br&gt;</samp> tag isn’t supported, you
                                    can use <samp class="codeph nolang">&lt;p&gt;&amp;nbsp;&lt;/p&gt;</samp> to
                                    create lines.
                                  </p>
                                </div>
                              </div>
                            </div>
                          </div>
                        </div>
                      </li>

                      <li class="li"><samp class="codeph nolang">&lt;a&gt;</samp></li>

                      <li class="li"><samp class="codeph nolang">&lt;b&gt;</samp></li>

                      <li class="li"><samp class="codeph nolang">&lt;code&gt;</samp></li>

                      <li class="li"><samp class="codeph nolang">&lt;i&gt;</samp></li>

                      <li class="li"><samp class="codeph nolang">&lt;u&gt;</samp></li>

                      <li class="li"><samp class="codeph nolang">&lt;s&gt;</samp></li>

                      <li class="li"><samp class="codeph nolang">&lt;ul&gt;</samp></li>

                      <li class="li"><samp class="codeph nolang">&lt;ol&gt;</samp></li>

                      <li class="li"><samp class="codeph nolang">&lt;li&gt;</samp></li>

                      <li class="li">
                        <samp class="codeph nolang">&lt;img&gt;</samp>
                        <p class="p">The <samp class="codeph nolang">&lt;img&gt;</samp> tag is accessible only through
                          the API and must reference files in Salesforce similar to this example:
                          <span class="ph filepath">&lt;img
                            src="sfdc://069B0000000omjh"&gt;&lt;/img&gt;</span>
                        </p>
                      </li>

                    </ul>
                    <div class="box message info">
                      <div class="inner">
                        <div class="bd">
                          <div class="media">
                            <img class="img mtm" src="https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/images/icon_note.png" alt="Note">
                            <div class="mediaBd">
                              <h4 class="mbs">Note</h4>
                              <p>In API version 35.0 and later, the system replaces special
                                characters in rich text with escaped HTML. In API version 34.0 and prior,
                                all rich text appears as a plain-text representation.</p>
                            </div>
                          </div>
                        </div>
                      </div>
                    </div>
                  </dd>


                </dl>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname" id="field_LastEditById"><a name="field_LastEditById"><!-- --></a>LastEditById</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">reference</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Create, Filter, Group, Nillable, Sort</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd">ID of the user who last edited the feed item.</dd>


                </dl>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname" id="field_LastEditDate"><a name="field_LastEditDate"><!-- --></a>LastEditDate</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">datetime</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Create, Filter, Nillable, Sort</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd">The date the feed item was last edited.</dd>


                </dl>

              </td>

            </tr>

            <tr id="LikeCountRow">
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname">LikeCount</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">int</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Filter, Group, Sort</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd" id="dd_LikeCount">
                    <a name="dd_LikeCount"><!-- --></a><span class="ph" id="desc_LikeCount"><a name="desc_LikeCount"><!-- --></a>The number of likes associated
                      with this feed item.</span>
                  </dd>


                </dl>

              </td>

            </tr>

            <tr id="LinkUrlRow">
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname" id="feedItem_LinkUrl"><a name="feedItem_LinkUrl"><!-- --></a>LinkUrl</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">url</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Create, Nillable, Sort</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd" id="dd_LinkUrl">
                    <a name="dd_LinkUrl"><!-- --></a><span class="ph" id="LinkUrl_Def"><a name="LinkUrl_Def"><!-- --></a>The URL of a <samp class="codeph nolang">LinkPost</samp>.</span>
                  </dd>


                </dl>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname" id="NetworkScopt"><a name="NetworkScopt"><!-- --></a>NetworkScope</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <a name="NetworkScopeDesc"><!-- --></a>
                <dl class="dl detailList" id="NetworkScopeDesc">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">picklist</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Create, Filter, Group, Nillable, Restricted picklist, Sort</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd">
                    <span class="ph" id="NetworkScopeDesc1"><a name="NetworkScopeDesc1"><!-- --></a>Specifies whether this feed item is available in
                      the default Experience Cloud site, a specific Experience Cloud site, or all
                      sites. This field is available in API version 26.0 and later, if digital
                      experiences is enabled for your org.</span>
                    <div class="p" id="NetworkScopeValues">
                      <a name="NetworkScopeValues"><!-- --></a><span class="keyword parmname">NetworkScope</span> can have the
                      following values: <ul class="ul bulletList">
                        <li class="li">
                          <span class="keyword parmname">NetworkId</span>—The ID of
                          the Experience Cloud site in which the FeedItem is available. If left
                          empty, the feed item is only available in the default Experience Cloud
                          site.
                        </li>

                        <li class="li">
                          <samp class="codeph nolang">AllNetworks</samp>—The feed item
                          is available in all Experience Cloud sites.
                        </li>

                      </ul>
                    </div>
                    <div class="p" id="NetworkScopeExceptions">
                      <a name="NetworkScopeExceptions"><!-- --></a>Note the following exceptions for
                      <span class="keyword parmname">NetworkScope</span>:<ul class="ul bulletList">
                        <li class="li">Only feed items with a Group or User parent can set a <span class="keyword parmname">NetworkId</span> or a null value for <span class="keyword parmname">NetworkScope</span>.</li>

                        <li class="li">For feed items with a record parent, users can set <span class="keyword parmname">NetworkScope</span> only to <samp class="codeph nolang">AllNetworks</samp>.</li>

                        <li class="li">You can’t filter a feed item on the <span class="keyword parmname">NetworkScope</span> field. </li>

                      </ul>
                    </div>
                  </dd>


                </dl>

              </td>

            </tr>

            <tr id="ParentId">
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname">ParentId</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">reference</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Create, Filter, Group, Sort</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd"><span class="ph" id="parentid_desc"><a name="parentid_desc"><!-- --></a>ID of the object type to which the feed item is
                      related. For example, set this field to a <span class="keyword parmname">UserId</span> to post to someone’s profile feed, or an
                      <span class="keyword parmname">AccountId</span> to post to a specific
                      account.</span></dd>

                  <dd class="dd">This is a polymorphic relationship field.</dd>



                  <dt class="dt dlterm">Relationship Name</dt>

                  <dd class="dd">Parent</dd>



                  <dt class="dt dlterm">Relationship Type</dt>

                  <dd class="dd">Lookup</dd>



                  <dt class="dt dlterm">Refers To</dt>

                  <dd class="dd">Account, Accreditation, ActivationTarget, ActivationTrgtIntOrgAccess,
                    ApiAnomalyEventStore, AssessmentIndicatorDefinition, AssessmentTask,
                    AssessmentTaskContentDocument, AssessmentTaskDefinition,
                    AssessmentTaskIndDefinition, AssessmentTaskOrder, Asset, AssetRelationship,
                    AssignedResource, Award, BoardCertification, BusinessLicense,
                    BusinessMilestone, BusinessProfile, Campaign, CareBarrier,
                    CareBarrierDeterminant, CareBarrierType, CareDeterminant, CareDeterminantType,
                    CareDiagnosis, CareInterventionType, CareMetricTarget, CareObservation,
                    CareObservationComponent, CarePgmProvHealthcareProvider, CarePreauth,
                    CarePreauthItem, CareProgram, CareProgramCampaign, CareProgramEligibilityRule,
                    CareProgramEnrollee, CareProgramEnrolleeProduct, CareProgramEnrollmentCard,
                    CareProgramGoal, CareProgramProduct, CareProgramProvider,
                    CareProgramTeamMember, CareProviderAdverseAction,
                    CareProviderFacilitySpecialty, CareProviderSearchableField,
                    CareRegisteredDevice, CareRequest, CareRequestDrug, CareRequestExtension,
                    CareRequestItem, CareSpecialty, CareSpecialtyTaxonomy, CareTaxonomy, Case,
                    CodeSet, CollaborationGroup, CommSubscription, CommSubscriptionChannelType,
                    CommSubscriptionConsent, CommSubscriptionTiming, ConsumptionSchedule, Contact,
                    ContactEncounter, ContactEncounterParticipant, ContentDocument, Contract,
                    CoverageBenefit, CoverageBenefitItem, CredentialStuffingEventStore,
                    CreditMemo, CreditMemoLine, Dashboard, DashboardComponent, DataStream,
                    DelegatedAccount, DocumentChecklistItem, EngagementChannelType,
                    EnhancedLetterhead, EnrollmentEligibilityCriteria, Event, HealthcareFacility,
                    HealthcareFacilityNetwork, HealthcarePayerNetwork,
                    HealthcarePractitionerFacility, HealthcareProvider, HealthcareProviderNpi,
                    HealthcareProviderSpecialty, HealthcareProviderTaxonomy, Identifier, Image,
                    IndividualApplication, Invoice, InvoiceLine, Lead, Location, MarketSegment,
                    MarketSegmentActivation, MemberPlan, MessagingSession, MktCalculatedInsight,
                    OperatingHours, Opportunity, Order, OrderItem, OtherComponentTask,
                    PartyConsent, PersonEducation, PersonLanguage, PersonLifeEvent, PersonName,
                    PlanBenefit, PlanBenefitItem, Product2, ProductFulfillmentLocation,
                    ProductItem, ProductItemTransaction, ProductRequest, ProductRequestLineItem,
                    ProductRequired, ProductTransfer, ProfileSkill, ProfileSkillEndorsement,
                    ProfileSkillUser, ProviderSearchSyncLog, PurchaserPlan, PurchaserPlanAssn,
                    ReceivedDocument, Report, ReportAnomalyEventStore, ResourceAbsence,
                    ResourcePreference, ReturnOrder, ReturnOrderLineItem, ServiceAppointment,
                    ServiceResource, ServiceResourceSkill, ServiceTerritory,
                    ServiceTerritoryMember, ServiceTerritoryWorkType, SessionHijackingEventStore,
                    Shift, Shipment, ShipmentItem, Site, SkillRequirement, SocialPost, Solution,
                    Task, ThreatDetectionFeedback, Topic, User, Visit, VisitedParty, Visitor,
                    VoiceCall, VolunteerProject, WorkBadgeDefinition, WorkOrder,
                    WorkOrderLineItem, WorkType, WorkTypeGroup, WorkTypeGroupMember</dd>


                </dl>

              </td>

            </tr>

            <tr id="RelatedRecordIdRow">
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname" id="Related_Record_Id"><a name="Related_Record_Id"><!-- --></a>RelatedRecordId</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">reference</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Create, Group, Nillable, Sort</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd" id="dd_RelatedRecord">
                    <a name="dd_RelatedRecord"><!-- --></a><span class="ph" id="relatedrecordid_descrip_short"><a name="relatedrecordid_descrip_short"><!-- --></a>ID of the
                      ContentVersion record associated with a <samp class="codeph nolang">ContentPost</samp>. For WDC thanks posts, it’s the ID of the WorkThanks
                      object associated with a <samp class="codeph nolang">RypplePost</samp>.
                      This field is typically null for all posts except <samp class="codeph nolang">ContentPost</samp> and <samp class="codeph nolang">RypplePost</samp>.</span>
                    <p class="p"><span class="ph" id="relatedrecordid_descrip2"><a name="relatedrecordid_descrip2"><!-- --></a>For
                        example, set this field to an existing ContentVersion ID and post it to a
                        feed with <span class="keyword parmname">Type</span> set to <samp class="codeph nolang">ContentPost</samp>.</span></p>
                  </dd>


                </dl>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname" id="field_Revision"><a name="field_Revision"><!-- --></a>Revision</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">int</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Create, Filter, Group, Nillable, Sort</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd">The revision number of the feed item.</dd>


                </dl>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname" id="field_Status"><a name="field_Status"><!-- --></a>Status</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">picklist</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Create, Defaulted on create, Group, Nillable, Restricted picklist, Sort,
                    Update</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd">Specifies whether this feed item is published and visible to all who can
                    access the feed. This field is available in API version 37.0 and later.</dd>

                  <dd class="dd">Possible values are:<ul class="ul bulletList">
                      <li class="li">
                        <samp class="codeph nolang">Published</samp>—The item’s visible
                        to all with access to the feed.
                      </li>

                      <li class="li">
                        <samp class="codeph nolang">PendingReview</samp>—The item’s
                        visible to its author and users who see the item and have View All Data or
                        Can Approve Feed Post and Comment permission. Some people can delete and
                        edit the item. They include the author and users who see the item and have
                        Can Approve Feed Post and Comment or Modify All Data permission. <div class="box message info" id="note_vtp_ppr_nsb">
                          <a name="note_vtp_ppr_nsb"><!-- --></a>
                          <div class="inner">
                            <div class="bd">
                              <div class="media">
                                <img class="img mtm" src="https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/images/icon_note.png" alt="Note">
                                <div class="mediaBd">
                                  <h4 class="mbs">Note</h4>
                                  <p>These permissions don’t apply when you retrieve
                                    feed items using SOQL. To filter out Pending Review feed items you must
                                    add an explicit clause.</p>
                                </div>
                              </div>
                            </div>
                          </div>
                        </div>
                        <div class="p">Some actions are blocked when a feed
                          item is pending review:<ul class="ul bulletList">
                            <li class="li">Comment</li>

                            <li class="li">Like and unlike</li>

                            <li class="li">Bookmark</li>

                            <li class="li">Share</li>

                          </ul>
                        </div>
                      </li>

                      <li class="li">
                        <samp class="codeph nolang">Isolated</samp>—The item is visible
                        only to admins. After an item is isolated, the author no longer has view
                        or edit access. The admin user can edit, view, and delete isolated feed
                        items.
                      </li>

                    </ul>
                  </dd>


                </dl>

              </td>

            </tr>

            <tr id="TitleRow">
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname" id="FeedItem_Title"><a name="FeedItem_Title"><!-- --></a>Title</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">string</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Create, Filter, Group, Nillable, Sort, Update</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd" id="dd_Title">
                    <a name="dd_Title"><!-- --></a><span class="ph" id="title_desc"><a name="title_desc"><!-- --></a>The title of the feed item. <span class="ph" id="title_desc_linkpost"><a name="title_desc_linkpost"><!-- --></a>When the <span class="keyword parmname">Type</span> is <samp class="codeph nolang">LinkPost</samp>, the
                        <span class="keyword parmname">LinkUrl</span> is the URL and this
                        field is the link name.</span></span> The <span class="keyword parmname">Title</span> field can be updated on posts of <span class="keyword parmname">Type</span>
                    <samp class="codeph nolang">QuestionPost</samp>.
                  </dd>


                </dl>

              </td>

            </tr>

            <tr id="TypeRow">
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname" id="FeedItem_Type"><a name="FeedItem_Type"><!-- --></a>Type</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <dl class="dl detailList">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">picklist</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Create, Filter, Group, Nillable, Restricted picklist, Sort</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd" id="dd_Type">
                    <a name="dd_Type"><!-- --></a>The type of feed item. Except for <samp class="codeph nolang">ContentPost</samp>, <samp class="codeph nolang">LinkPost</samp>,
                    <samp class="codeph nolang">QuestionPost</samp>, and <samp class="codeph nolang">TextPost</samp>, all the FeedItem types listed here
                    are system-generated. In most situations, we recommend that you don't create
                    system-generated fields using Apex or our APIs. One exception is during
                    Chatter data migrations, which can require admins to migrate system-generated
                    post types.<a name="TypePicklist"><!-- --></a>
                    <ul class="ul bulletList" id="TypePicklist">
                      <li class="li">
                        <p class="p"><samp class="codeph nolang">ActivityEvent</samp>—indirectly
                          generated event when a user or the API adds a <a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_task.htm#sforce_api_objects_task" title="Represents a business activity such as making a phone call or other to-do items. In the user interface, Task and Event records are collectively referred to as activities.">Task</a> associated with a feed-enabled parent
                          record (excluding email tasks on cases). Also occurs when a user or the
                          API adds or updates a Task or <a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_event.htm#sforce_api_objects_event" title="Represents an event in the calendar. In the user interface, event and task records are collectively referred to as activities.">Event</a> associated with a case record
                          (excluding email and call logging).</p>

                        <p class="p">For a recurring Task with CaseFeed disabled, one event is generated for
                          the series only. For a recurring Task with CaseFeed enabled, events are
                          generated for the series and each occurrence.</p>

                      </li>

                      <li class="li">
                        <samp class="codeph nolang" id="advancedTextPost"><a name="advancedTextPost"><!-- --></a>AdvancedTextPost</samp>—created when a user posts a group
                        announcement and, in Lightning Experience as of API version 39.0 and
                        later, when a user shares a post.
                      </li>

                      <li class="li">
                        <samp class="codeph nolang">AnnouncementPost</samp>—Not
                        used.
                      </li>

                      <li class="li">
                        <samp class="codeph nolang">ApprovalPost</samp>—generated when
                        a user submits an approval.
                      </li>

                      <li class="li">
                        <samp class="codeph nolang">BasicTemplateFeedItem</samp>—Not
                        used.
                      </li>

                      <li class="li">
                        <samp class="codeph nolang">CanvasPost</samp>—a post made by a
                        canvas app posted on a feed.
                      </li>

                      <li class="li">
                        <samp class="codeph nolang">CollaborationGroupCreated</samp>—generated when a user creates a
                        public group.
                      </li>

                      <li class="li">
                        <samp class="codeph nolang">CollaborationGroupUnarchived</samp>—Not used.
                      </li>

                      <li class="li">
                        <samp class="codeph nolang" id="contentPost"><a name="contentPost"><!-- --></a>ContentPost</samp>—a post with an attached file.
                      </li>

                      <li class="li">
                        <samp class="codeph nolang">CreatedRecordEvent</samp>—generated
                        when a user creates a record from the publisher.
                      </li>

                      <li class="li">
                        <samp class="codeph nolang">DashboardComponentAlert</samp>—generated when a dashboard metric
                        or gauge exceeds a user-defined threshold.
                      </li>

                      <li class="li">
                        <samp class="codeph nolang">DashboardComponentSnapshot</samp>—created when a user posts a
                        dashboard snapshot on a feed.
                      </li>

                      <li class="li">
                        <samp class="codeph nolang" id="linkPost"><a name="linkPost"><!-- --></a>LinkPost</samp>—a
                        post with an attached URL.
                      </li>

                      <li class="li">
                        <samp class="codeph nolang">PollPost</samp>—a poll posted on a
                        feed.
                      </li>

                      <li class="li">
                        <samp class="codeph nolang">ProfileSkillPost</samp>—generated
                        when a skill is added to a user’s Chatter profile.
                      </li>

                      <li class="li">
                        <samp class="codeph nolang" id="questionPost"><a name="questionPost"><!-- --></a>QuestionPost</samp>—generated when a user posts a question.
                      </li>

                      <li class="li">
                        <samp class="codeph nolang">ReplyPost</samp>—generated when
                        Chatter Answers posts a reply.
                      </li>

                      <li class="li">
                        <samp class="codeph nolang">RypplePost</samp>—generated when a
                        user creates a Thanks badge in WDC.
                      </li>

                      <li class="li">
                        <samp class="codeph nolang" id="textPost"><a name="textPost"><!-- --></a>TextPost</samp>—a
                        direct text entry on a feed.
                      </li>

                      <li class="li">
                        <samp class="codeph nolang" id="type_trackedchange"><a name="type_trackedchange"><!-- --></a>TrackedChange</samp>—a change or group of changes to a tracked
                        field.
                      </li>

                      <li class="li">
                        <samp class="codeph nolang">UserStatus</samp>—automatically
                        generated when a user adds a post. Deprecated.
                      </li>

                    </ul>
                    <div class="p" id="case_feed_type_values">
                      <a name="case_feed_type_values"><!-- --></a>The following values appear in the
                      <span class="keyword parmname">Type</span> picklist for all feed
                      objects but apply only to CaseFeed: <ul class="ul bulletList">
                        <li class="li">
                          <samp class="codeph nolang">AttachArticleEvent</samp>—generated event when a user attaches
                          an article to a case.
                        </li>

                        <li class="li">
                          <samp class="codeph nolang">CallLogPost</samp>—generated
                          event when a user logs a call for a case through the user interface. CTI
                          calls also generate this event.
                        </li>

                        <li class="li">
                          <samp class="codeph nolang">CaseCommentPost</samp>—generated
                          event when a user adds a case comment for a case object.
                        </li>

                        <li class="li">
                          <samp class="codeph nolang">ChangeStatusPost</samp>—generated
                          event when a user changes the status of a case.
                        </li>

                        <li class="li">
                          <samp class="codeph nolang">ChatTranscriptPost</samp>—generated event when Chat transcript
                          is saved to a case.
                        </li>

                        <li class="li">
                          <samp class="codeph nolang">EmailMessageEvent</samp>—generated event when an email related
                          to a case object is sent or received.
                        </li>

                        <li class="li">
                          <samp class="codeph nolang">FacebookPost</samp>—generated
                          when a Facebook post is created from a case. Deprecated.
                        </li>

                        <li class="li">
                          <samp class="codeph nolang">MilestoneEvent</samp>—generated
                          when a case milestone is completed or reaches violation status.
                        </li>

                        <li class="li">
                          <samp class="codeph nolang">SocialPost</samp>—generated when
                          a social post is created from a case.
                        </li>

                      </ul>
                    </div>
                    <div class="box message info">
                      <div class="inner">
                        <div class="bd">
                          <div class="media">
                            <img class="img mtm" src="https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/images/icon_note.png" alt="Note">
                            <div class="mediaBd">
                              <h4 class="mbs">Note</h4>
                              <p>If you set <span class="keyword parmname">Type</span> to
                                <samp class="codeph nolang">ContentPost</samp>, also specify <span class="keyword parmname">ContentData</span> and <span class="keyword parmname">ContentFileName</span>.
                              </p>
                            </div>
                          </div>
                        </div>
                      </div>
                    </div>
                  </dd>


                </dl>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d909898e150" data-title="Field Name"><span class="keyword parmname" id="Visibility"><a name="Visibility"><!-- --></a>Visibility</span></td>

              <td class="entry" headers="d909898e153" data-title="Details">
                <a name="VisibilityDesc"><!-- --></a>
                <dl class="dl detailList" id="VisibilityDesc">

                  <dt class="dt dlterm">Type</dt>

                  <dd class="dd">picklist</dd>



                  <dt class="dt dlterm">Properties</dt>

                  <dd class="dd">Create, Filter, Group, Nillable, Restricted picklist, Sort, Update</dd>



                  <dt class="dt dlterm">Description</dt>

                  <dd class="dd">Specifies whether this feed item is available to all users or internal users
                    only. This field is available in API version 26.0 and later, if digital
                    experiences is enabled for your org.<div class="p">
                      <span class="keyword parmname">Visibility</span> can have the following values: <ul class="ul bulletList">
                        <li class="li">
                          <samp class="codeph nolang">AllUsers</samp>—The feed item is
                          available to all users who have permission to see the feed item.
                        </li>

                        <li class="li">
                          <samp class="codeph nolang" id="InternalUsers-4D1EB2B9"><a name="InternalUsers-4D1EB2B9"><!-- --></a>InternalUsers</samp>—The feed item is available to internal
                          users only.
                        </li>

                      </ul>
                    </div>
                    <div class="p">Note the following exceptions for <span class="keyword parmname">Visibility</span>: <ul class="ul bulletList">
                        <li class="li">For record posts, <span class="keyword parmname">Visibility</span>
                          is set to <samp class="codeph nolang">InternalUsers</samp> for all
                          internal users by default. </li>

                        <li class="li">External users can set <span class="keyword parmname">Visibility</span> only to <samp class="codeph nolang">AllUsers</samp>.</li>

                        <li class="li">
                          <span class="keyword parmname">Visibility</span> can be updated on
                          record posts.
                        </li>

                        <li class="li">The <samp class="codeph nolang">Update</samp> property is supported
                          only for feed items posted on records.</li>

                      </ul>
                    </div>
                  </dd>


                </dl>

              </td>

            </tr>

          </tbody>

        </table>

## Usage

- When a feed item’s IsClosed field is set to true, some actions are blocked and others are blocked to most users. This table sets out the actions that are blocked when a feed item is closed.
    
    <table class="featureTable sort_table" summary="">


                <thead class="thead sorted" align="left">
                  <tr>
                    <th class="featureTableHeader  " id="d909898e2102">Action</th>

                    <th class="featureTableHeader  " id="d909898e2105">Availability on a Closed Conversation</th>

                  </tr>

                </thead>

                <tbody class="tbody">
                  <tr>
                    <td class="entry" headers="d909898e2102" data-title="Action">Add a comment</td>

                    <td class="entry" headers="d909898e2105" data-title="Availability on a Closed Conversation">Blocked</td>

                  </tr>

                  <tr>
                    <td class="entry" headers="d909898e2102" data-title="Action">Answer a question</td>

                    <td class="entry" headers="d909898e2105" data-title="Availability on a Closed Conversation">Blocked</td>

                  </tr>

                  <tr>
                    <td class="entry" headers="d909898e2102" data-title="Action">Vote on a poll</td>

                    <td class="entry" headers="d909898e2105" data-title="Availability on a Closed Conversation">Blocked</td>

                  </tr>

                  <tr>
                    <td class="entry" headers="d909898e2102" data-title="Action">Edit a feed item or its comments or answers</td>

                    <td class="entry" headers="d909898e2105" data-title="Availability on a Closed Conversation">Blocked to author; available to admins, moderators, and people with the
                      Close Conversation Threads in Feeds permission<p class="p">Editing is blocked
                        specifically for the feed item title, feed item body, and feed content body
                        fields.</p>
                    </td>

                  </tr>

                  <tr>
                    <td class="entry" headers="d909898e2102" data-title="Action">Edit a topic</td>

                    <td class="entry" headers="d909898e2105" data-title="Availability on a Closed Conversation">Available</td>

                  </tr>

                  <tr>
                    <td class="entry" headers="d909898e2102" data-title="Action">Delete a feed item or its comments or answers</td>

                    <td class="entry" headers="d909898e2105" data-title="Availability on a Closed Conversation">Blocked to author; available to admins, moderators, and people with the
                      Close Conversation Threads in Feeds permission</td>

                  </tr>

                  <tr>
                    <td class="entry" headers="d909898e2102" data-title="Action">Publish a pending review comment (moderation)</td>

                    <td class="entry" headers="d909898e2105" data-title="Availability on a Closed Conversation">Available to admins and moderators</td>

                  </tr>

                  <tr>
                    <td class="entry" headers="d909898e2102" data-title="Action">Like or unlike; upvote or downvote</td>

                    <td class="entry" headers="d909898e2105" data-title="Availability on a Closed Conversation">Available</td>

                  </tr>

                  <tr>
                    <td class="entry" headers="d909898e2102" data-title="Action">Select or remove a best answer</td>

                    <td class="entry" headers="d909898e2105" data-title="Availability on a Closed Conversation">Blocked to author; available to admins, moderators, and people with the
                      Close Conversation Threads in Feeds permission</td>

                  </tr>

                  <tr>
                    <td class="entry" headers="d909898e2102" data-title="Action">Company verify; remove verification</td>

                    <td class="entry" headers="d909898e2105" data-title="Availability on a Closed Conversation">Available only to people with the Verify Answers to Chatter Questions
                      permission</td>

                  </tr>

                  <tr>
                    <td class="entry" headers="d909898e2102" data-title="Action">Flag</td>

                    <td class="entry" headers="d909898e2105" data-title="Availability on a Closed Conversation">Available</td>

                  </tr>

                  <tr>
                    <td class="entry" headers="d909898e2102" data-title="Action">Share</td>

                    <td class="entry" headers="d909898e2105" data-title="Availability on a Closed Conversation">Available</td>

                  </tr>

                  <tr>
                    <td class="entry" headers="d909898e2102" data-title="Action">Bookmark</td>

                    <td class="entry" headers="d909898e2105" data-title="Availability on a Closed Conversation">Available</td>

                  </tr>

                  <tr>
                    <td class="entry" headers="d909898e2102" data-title="Action">Mute and unmute</td>

                    <td class="entry" headers="d909898e2105" data-title="Availability on a Closed Conversation">Available</td>

                  </tr>

                  <tr>
                    <td class="entry" headers="d909898e2102" data-title="Action">Escalate to case</td>

                    <td class="entry" headers="d909898e2105" data-title="Availability on a Closed Conversation">Available only to people permitted to escalate a feed item to a
                      case</td>

                  </tr>

                </tbody>

              </table>
- This Apex example shows how to add a feed item with an attachment to a lead using API version 36.0 and later. First, post a feed item.
    
    //create and insert post
    FeedItem post = new FeedItem();
    post.Body = 'HelloThere';
    post.ParentId = 'ID\_OF\_LEAD\_ENTITY';
    post.Title = 'FileName';
    insert post;
    
    Then insert the attachment.
    
    //create and associate a content attachment to the post
    FeedAttachment feedAttachment = new FeedAttachment();
    feedAttachment.FeedEntityId = post.Id;
    feedAttachment.RecordId = 'ID\_OF\_CONTENT\_VERSION'; 
    feedAttachment.Title = 'FileName';
    feedAttachment.Type = 'CONTENT'; 
    insert feedAttachment;
- If you’re using API version 23.0 or later and have View All Data permission, you can directly query for a FeedItem. The following example returns the 20 most recent feed items.
    
    SELECT ID, CreatedDate, CreatedById, CreatedBy.FirstName, CreatedBy.LastName, ParentId, Parent.Name, Body,
     (SELECT ID, FieldName, OldValue, NewValue FROM FeedTrackedChanges ORDER BY ID DESC) 
    FROM FeedItem 
    WHERE CreatedDate > LAST\_MONTH 
    ORDER BY CreatedDate DESC
- If you’re using an earlier API version than version 23.0, query FeedItem objects through a feed (such as AccountFeed or OpportunityFeed). The following example returns all feed items for a given account, ordered by date descending:
    
    SELECT Id, Type, FeedItem.Body 
    FROM AccountFeed 
    WHERE ParentId = AccountId ORDER BY CreatedDate DESC
    
    ![Note](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/images/icon_note.png)
    
    #### Note
    
    Provide the ParentId for API version 22.0 and earlier.
- A feed item of type UserStatus is automatically created when a user adds a post to update the status. You can’t explicitly create a feed item of type UserStatus.
- The FeedItem object doesn’t support aggregate functions in queries.
- If the context user has the Insert System Field Values for Chatter Feeds user permission, the create field property is available on CreatedBy and CreatedDate system fields. During migration, the context user can set these fields to the original post’s author and creation date. The fields can’t be updated after migration.
- The size limit for an attachment on a feed is 2 GB.
- You can’t use the content fields to update or delete the content.
- You can’t filter or update the content fields.
- Deleting a feed item via the API also deletes the associated content. Likewise, undeleting a feed item restores associated content.
    
    ![Note](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/images/icon_note.png)
    
    #### Note
    
    This object is hard deleted. It isn’t sent to the Recycle Bin.
- After uploading to a feed, it’s possible for an attachment or document to be deleted, marked private, or hidden by sharing rules. In this case, all content fields in a FeedItem object appear as null in a SOQL query.
- You can’t explicitly create or delete a [FeedTrackedChange](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_feedtrackedchange.htm "Represents an individual field change or set of field changes. A FeedTrackedChange is a child object of a record feed, such as AccountFeed. This object is available in API version 18.0 and later.") record.
- Imagine that you insert a feed item or feed comment of Type ContentPost on a [User](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_user.htm#sforce_api_objects_user "Represents a user in your organization.") or [Group](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_group.htm#sforce_api_objects_group "A set of User records.") to create a file. Then the NetworkScope field value of the feed item is passed to the file.
- If you use an Apex trigger to modify the Body of a FeedItem object, all mentions hyperlinks are converted to plain text. The mentioned users don’t get email notifications.
- If you insert rich text into the feed item body, make sure that the case of the opening and closing HTML tags matches. For example, <b>This is bold text</B> generates an error.
- To check file sharing with Apex triggers, write triggers on ContentDocumentLink instead of FeedItem. For an example, see [ContentDocumentLink](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_contentdocumentlink.htm "Represents the link between a Salesforce CRM Content document, Salesforce file, or ContentNote and where it's shared. A file can be shared with other users, groups, records, and Salesforce CRM Content libraries. This object is available in versions 21.0 and later for Salesforce CRM Content documents and Salesforce Files.").
- In API version 36.0 and later, use [FeedAttachment](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_feedattachment.htm "Represents an attachment to a feed item, such as a file attachment or a link. Use FeedAttachment to add various attachments to one feed item. This object is available in API version 36.0 and later.") to attach one or more content items to a feed item. As a result of support for multiple attachments through FeedAttachment, all fields related to content attachments have been removed. These fields are: ContentData, ContentDescription, ContentFileName, ContentSize, and ContentType.
- For all API versions of FeedItem, you can’t query a FeedItem object using the System Modstamp filter.
- When you use the FeedItem object to create a record-triggered flow, and the flow tries to update a field on the parent record, the field may not update in the UI until the page is refreshed.