---
schema_version: "1"
id: 7ee5a8824e9295178fa87e326860cde17f6afac24019b4ad16579e2cc6cd93eb
title: Metadata Field Types
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/api_meta/meta_field_types.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_field_types.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: 55601c7b49ffa15847670ad314b698089ac61b07c0ccd517d4fb2367084e7929
description: These field types extend the field types described in the Salesforce Object Reference.
---
# Metadata Field Types

These field types extend the field types described in the _Salesforce Object Reference_.

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

#### Important

Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.

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



        <thead class="thead sorted" align="left">
          <tr>
            <th class="featureTableHeader  " id="d500029e61">Field Type</th>

            <th class="featureTableHeader  " id="d500029e64">Objects</th>

            <th class="featureTableHeader  " id="d500029e67">What the Field Contains</th>

          </tr>

        </thead>

        <tbody class="tbody">
          <tr>
            <td class="entry" headers="d500029e61" data-title="Field Type">CustomField</td>

            <td class="entry" headers="d500029e64" data-title="Objects">Custom object<p class="p">Custom field</p>
            </td>

            <td class="entry" headers="d500029e67" data-title="What the Field Contains">Represents a custom field.</td>

          </tr>

          <tr>
            <td class="entry" headers="d500029e61" data-title="Field Type">DeleteConstraint</td>

            <td class="entry" headers="d500029e64" data-title="Objects">Custom field</td>

            <td class="entry" headers="d500029e67" data-title="What the Field Contains">A string that represents deletion options for lookup relationships. Valid values are:<ul class="ul bulletList">
                <li class="li"><samp class="codeph nolang">SetNull</samp></li>

                <li class="li"><samp class="codeph nolang">Restrict</samp></li>

                <li class="li"><samp class="codeph nolang">Cascade</samp></li>

              </ul>
            </td>

          </tr>

          <tr>
            <td class="entry" headers="d500029e61" data-title="Field Type">DeploymentStatus</td>

            <td class="entry" headers="d500029e64" data-title="Objects">Custom object<p class="p">Custom field</p>
            </td>

            <td class="entry" headers="d500029e67" data-title="What the Field Contains">
              <p class="p" id="meta_type_deploy_stat_desc"><a name="meta_type_deploy_stat_desc"><!-- --></a>A string that represents the deployment status of
                a custom object or field. Valid values are:</p>

              <ul class="ul bulletList">
                <li class="li"><samp class="codeph nolang">InDevelopment</samp></li>

                <li class="li"><samp class="codeph nolang">Deployed</samp></li>

              </ul>

            </td>

          </tr>

          <tr>
            <td class="entry" headers="d500029e61" data-title="Field Type">FieldType</td>

            <td class="entry" headers="d500029e64" data-title="Objects">Custom field</td>

            <td class="entry" headers="d500029e67" data-title="What the Field Contains">Indicates the type of a custom field. Valid values are:
              <a name="field_type_options"><!-- --></a>
              <ul class="ul bulletList" id="field_type_options">
                <li class="li"><samp class="codeph nolang">Address</samp></li>

                <li class="li"><samp class="codeph nolang">AutoNumber</samp></li>

                <li class="li"><samp class="codeph nolang">Lookup</samp></li>

                <li class="li"><samp class="codeph nolang">MasterDetail</samp></li>

                <li class="li"><samp class="codeph nolang">MetadataRelationship</samp></li>

                <li class="li"><samp class="codeph nolang">Checkbox</samp></li>

                <li class="li"><samp class="codeph nolang">Currency</samp></li>

                <li class="li"><samp class="codeph nolang">Date</samp></li>

                <li class="li"><samp class="codeph nolang">DateTime</samp></li>

                <li class="li"><samp class="codeph nolang">Email</samp></li>

                <li class="li">
                  <samp class="codeph nolang">EncryptedText</samp>
                  <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.api_meta.meta/api_meta/images/icon_note.png" alt="Note">
                          <div class="mediaBd">
                            <h4 class="mbs">Note</h4>
                            <p>This page is about
                              Classic Encryption, not Shield Platform Encryption. <a class="xref" href="https://help.salesforce.com/s/articleView?id=xcloud.security_pe_vs_classic_encryption.htm&amp;type=5&amp;language=en_US" target="_blank">What's the difference?</a></p>
                          </div>
                        </div>
                      </div>
                    </div>
                  </div>
                </li>

                <li class="li"><samp class="codeph nolang">ExternalLookup</samp></li>

                <li class="li"><samp class="codeph nolang">IndirectLookup</samp></li>

                <li class="li">
                  <samp class="codeph nolang">Number</samp><sup class="ph sup">1</sup>
                </li>

                <li class="li"><samp class="codeph nolang">Percent</samp></li>

                <li class="li"><samp class="codeph nolang">Phone</samp></li>

                <li class="li"><samp class="codeph nolang">Picklist</samp></li>

                <li class="li"><samp class="codeph nolang">MultiselectPicklist</samp></li>

                <li class="li"><samp class="codeph nolang">Summary</samp></li>

                <li class="li"><samp class="codeph nolang">Text</samp></li>

                <li class="li"><samp class="codeph nolang">TextArea</samp></li>

                <li class="li"><samp class="codeph nolang">LongTextArea</samp></li>

                <li class="li"><samp class="codeph nolang">Url</samp></li>

                <li class="li"><samp class="codeph nolang">Hierarchy</samp></li>

                <li class="li"><samp class="codeph nolang">File</samp></li>

                <li class="li"><samp class="codeph nolang">Html</samp></li>

                <li class="li">
                  <samp class="codeph nolang">Location</samp> (use for geolocation fields)
                </li>

                <li class="li"><samp class="codeph nolang">Time</samp></li>

                <li class="li"><samp class="codeph nolang">Array</samp></li>

                <li class="li"><samp class="codeph nolang">Integer</samp></li>

                <li class="li"><samp class="codeph nolang">Long</samp></li>

              </ul>
              <sup class="ph sup">1</sup> A <samp class="codeph nolang">Number</samp> custom field, internally represented as a field of type double. Setting the scale of the <samp class="codeph nolang">Number</samp> field to 0 gives you a double that behaves like
              an int.
            </td>

          </tr>

          <tr>
            <td class="entry" headers="d500029e61" data-title="Field Type">Gender</td>

            <td class="entry" headers="d500029e64" data-title="Objects">Custom object</td>

            <td class="entry" headers="d500029e67" data-title="What the Field Contains">
              <span class="ph" id="gender_desc"><a name="gender_desc"><!-- --></a>Indicates the gender of the noun that represents the object.
                Used for languages where words need different treatment depending on their
                gender.</span> Valid values are:<a name="gender_ul"><!-- --></a>
              <ul class="ul bulletList" id="gender_ul">
                <li class="li"><span class="keyword parmname">Masculine</span></li>

                <li class="li"><span class="keyword parmname">Feminine</span></li>

                <li class="li"><span class="keyword parmname">Neuter</span></li>

                <li class="li">
                  <span class="keyword parmname">AnimateMasculine</span> (<span class="ph" id="west_slavic_languages_list"><a name="west_slavic_languages_list"><!-- --></a>Slavic languages—currently Czech, Polish, Russian, Slovak, Slovenian, and
                    Ukrainian</span>)
                </li>

                <li class="li">
                  <span class="keyword parmname">ClassI</span>, <span class="keyword parmname">ClassIII</span>,
                  <span class="keyword parmname">ClassV</span>, <span class="keyword parmname">ClassVII</span>,
                  <span class="keyword parmname">ClassIX</span>, <span class="keyword parmname">ClassXI</span>,
                  <span class="keyword parmname">ClassXIV</span>, <span class="keyword parmname">ClassXV</span>,
                  <span class="keyword parmname">ClassXVI</span>, <span class="keyword parmname">ClassXVII</span>,
                  <span class="keyword parmname">ClassXVIII</span> (African languages—currently Afrikaans, Xhosa,
                  and Zulu)
                </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.api_meta.meta/api_meta/images/icon_note.png" alt="Note">
                      <div class="mediaBd">
                        <h4 class="mbs">Note</h4>
                        <p>The following genders appear on the Rename Tabs and Labels page in
                          Setup but are stored internally as “Feminine”. When setting them through the
                          Metadata API, use “Feminine”.
                        </p><ul class="ul bulletList">
                          <li class="li"><span class="keyword parmname">Euter (Swedish)</span></li>

                          <li class="li"><span class="keyword parmname">Common (Dutch)</span></li>

                        </ul>
                        <p></p>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </td>

          </tr>

          <tr>
            <td class="entry" headers="d500029e61" data-title="Field Type"><a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_picklist.htm" title="Deprecated. Represents a picklist (or dependent picklist) definition for a custom field in a custom object or a custom or standard field in a standard object, such as an account.">Picklist (Including Dependent
                Picklist)</a></td>

            <td class="entry" headers="d500029e64" data-title="Objects">Custom field</td>

            <td class="entry" headers="d500029e67" data-title="What the Field Contains">(This field type isn’t used in Metadata API. CustomField includes this field type
              for Tooling API support). Represents a picklist, a set of labels and values that can
              be selected from a picklist.</td>

          </tr>

          <tr>
            <td class="entry" headers="d500029e61" data-title="Field Type">SharingModel</td>

            <td class="entry" headers="d500029e64" data-title="Objects">Custom object</td>

            <td class="entry" headers="d500029e67" data-title="What the Field Contains">Represents the sharing model for the custom object. Depending on the object,
              valid values are:<a name="ExSharing"><!-- --></a>
              <ul class="ul bulletList" id="ExSharing">
                <li class="li"><samp class="codeph nolang">Private</samp></li>

                <li class="li"><samp class="codeph nolang">Read</samp></li>

                <li class="li"><samp class="codeph nolang">ReadWrite</samp></li>

                <li class="li"><samp class="codeph nolang">ReadWriteTransfer</samp></li>

                <li class="li"><samp class="codeph nolang">FullAccess</samp></li>

                <li class="li"><samp class="codeph nolang">ControlledByParent</samp></li>

                <li class="li"><samp class="codeph nolang">ControlledByCampaign</samp></li>

                <li class="li"><samp class="codeph nolang">ControlledByLeadOrContact</samp></li>

              </ul>
              <p class="p" id="ExSharing_obj"><a name="ExSharing_obj"><!-- --></a>For example, the User object supports <samp class="codeph nolang">Private</samp> and <samp class="codeph nolang">Read</samp>
                values. Accounts, opportunities, and custom objects support <samp class="codeph nolang">Private</samp>, <samp class="codeph nolang">Read</samp>
                and <samp class="codeph nolang">ReadWrite</samp> values. Campaign members support
                <samp class="codeph nolang">ControlledByCampaign</samp> and <samp class="codeph nolang">ControlledByLeadOrContact</samp>.
              </p>
            </td>

          </tr>

          <tr>
            <td class="entry" headers="d500029e61" data-title="Field Type">StartsWith</td>

            <td class="entry" headers="d500029e64" data-title="Objects">Custom object<p class="p">Custom field</p>
            </td>

            <td class="entry" headers="d500029e67" data-title="What the Field Contains">
              <span class="ph" id="startsWith_desc"><a name="startsWith_desc"><!-- --></a>Indicates whether the noun starts with a vowel,
                consonant, or is a special character. This is used for languages where words need
                different treatment depending on the first character.</span> Valid values are:<a name="startsWith_ul"><!-- --></a>
              <ul class="ul bulletList" id="startsWith_ul">
                <li class="li"><span class="keyword parmname">Consonant</span></li>

                <li class="li"><span class="keyword parmname">Vowel</span></li>

                <li class="li"><span class="keyword parmname">Special (for nouns starting with z, or s plus
                    consonants)</span></li>

              </ul>
            </td>

          </tr>

          <tr>
            <td class="entry" headers="d500029e61" data-title="Field Type">TreatBlanksAs</td>

            <td class="entry" headers="d500029e64" data-title="Objects">Custom field</td>

            <td class="entry" headers="d500029e67" data-title="What the Field Contains">Indicates how blanks should be treated. Valid values are:<ul class="ul bulletList">
                <li class="li"><samp class="codeph nolang">BlankAsBlank</samp></li>

                <li class="li"><samp class="codeph nolang">BlankAsZero</samp></li>

              </ul>
            </td>

          </tr>

          <tr>
            <td class="entry" headers="d500029e61" data-title="Field Type">ValueSet</td>

            <td class="entry" headers="d500029e64" data-title="Objects">Custom field</td>

            <td class="entry" headers="d500029e67" data-title="What the Field Contains"><span class="ph" id="ValueSet_descr"><a name="ValueSet_descr"><!-- --></a>Represents a set of values that can be selected from a
                custom picklist field. Defines the valueSet of a custom picklist field.</span></td>

          </tr>

        </tbody>

      </table>

## ValueSet

Represents a set of values that can be selected from a custom picklist field. Defines the valueSet of a custom picklist field.

| Field Type | Field Type | Description |
| --- | --- | --- |
| controllingField | string | The fullname of the controlling field if this is a dependent picklist. A controlling field can be a checkbox or picklist field, but in this case it’s a picklist. The controlling picklist filters the available values in the dependent picklist. |
| restricted | boolean | Whether the picklist’s values are limited to only the values defined by a Salesforce admin. Values are true or false. |
| valueSetDefinition | ValueSetValuesDefinition | Defines value-specific settings for a custom dependent picklist. Indicates whether the value set of the custom picklist field is sorted alphabetically. |
| valueSetName | string | The masterLabel of the global value set to be used for this picklist field. |
| valueSettings | ValueSettings | Used for the settings that describe a value in a custom picklist field. The picklist can have its own unique value set, or inherit the values from a global value set. You can add field dependency values via the Metadata API but not remove them. |

## ValueSetValuesDefinition

| Field Name | Field Type | Description |
| --- | --- | --- |
| sorted | boolean | Whether the picklist’s value set is displayed in alphabetical order in the user interface. |
| value | CustomValue | Required. The list of values for this local, custom picklist. |

## ValueSettings

| Field Name | Field Type | Description |
| --- | --- | --- |
| controllingFieldValue | stringstring\[\] | Applies only to dependent custom picklists. A list of values in the controlling or parent picklist (that the custom picklist values depend on). You can add field dependency values via the Metadata API but not remove them. |
| valueName | string | Defines the values in the custom dependent picklist. |

- [← Previous](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_weblink.htm "WebLink")