---
schema_version: "1"
id: 0e6a9e9780e2b6d9ba273f57bdb08cdd2ca05501e21d2385c321da4c49fbd00f
title: ConnectApi.AbstractRecordField
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/apexref/apex_connectapi_output_abstractRecordField.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_connectapi_output_abstractRecordField.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: e92f926b1cd9470ce92082f90633d501bde49b2aae033a22c68bbee80ad4577a
description: A field on a record.
---
# ConnectApi.AbstractRecordField

A field on a record.

This class is abstract.

Superclass of:

- [ConnectApi.BlankRecordField](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_connectapi_output_blankRecordField.htm "Record field displayed as a place holder in a grid of fields.")
- [ConnectApi.LabeledRecordField](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_connectapi_output_labeledRecordField.htm "Record field containing a label and a text value.")

Message segments in a feed item are typed as ConnectApi.MessageSegment. Feed item capabilities are typed as ConnectApi.FeedItemCapability. Record fields are typed as ConnectApi.AbstractRecordField. These classes are all abstract and have several concrete subclasses. At runtime you can use instanceof to check the concrete types of these objects and then safely proceed with the corresponding downcast. When you downcast, you must have a default case that handles unknown subclasses.

![Important](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/images/icon_note_important.png)

#### Important

The composition of a feed can change between releases. Write your code to handle instances of unknown subclasses.

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




            <thead class="thead sorted" align="left">
              <tr>
                <th class="featureTableHeader vertical-align-top " id="d767882e84">Name</th>

                <th class="featureTableHeader vertical-align-top " id="d767882e87">Type</th>

                <th class="featureTableHeader vertical-align-top " id="d767882e90">Description</th>

                <th class="featureTableHeader vertical-align-top " id="d767882e93">Available Version</th>

              </tr>

            </thead>

            <tbody class="tbody">
              <tr>
                <td class="entry" headers="d767882e84" data-title="Name"><samp class="codeph apex_code">type</samp></td>

                <td class="entry" headers="d767882e87" data-title="Type">String</td>

                <td class="entry" headers="d767882e90" data-title="Description">Type of the field. One of these values:<ul class="ul bulletList">
                    <li class="li"><samp class="codeph apex_code">Address</samp></li>
                    <li class="li"><samp class="codeph apex_code">Blank</samp></li>
                    <li class="li"><samp class="codeph apex_code"><span class="keyword">Boolean</span></samp></li>
                    <li class="li"><samp class="codeph apex_code">Compound</samp></li>
                    <li class="li"><samp class="codeph apex_code">CreatedBy</samp></li>
                    <li class="li"><samp class="codeph apex_code"><span class="keyword">Date</span></samp></li>
                    <li class="li"><samp class="codeph apex_code">DateTime</samp></li>
                    <li class="li"><samp class="codeph apex_code">Email</samp></li>
                    <li class="li"><samp class="codeph apex_code">LastModifiedBy</samp></li>
                    <li class="li"><samp class="codeph apex_code">Location</samp></li>
                    <li class="li"><samp class="codeph apex_code">Name</samp></li>
                    <li class="li"><samp class="codeph apex_code">Number</samp></li>
                    <li class="li"><samp class="codeph apex_code">Percent</samp></li>
                    <li class="li"><samp class="codeph apex_code">Phone</samp></li>
                    <li class="li"><samp class="codeph apex_code">Picklist</samp></li>
                    <li class="li"><samp class="codeph apex_code">Reference</samp></li>
                    <li class="li"><samp class="codeph apex_code">Text</samp></li>
                    <li class="li"><samp class="codeph apex_code"><span class="keyword">Time</span></samp></li>
                  </ul>
                </td>

                <td class="entry" headers="d767882e93" data-title="Available Version">29.0</td>

              </tr>

            </tbody>

          </table>

#### See Also

- [ConnectApi.RecordViewSection](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_connectapi_output_recordViewSection.htm "Section of record fields and values on a record detail.")