---
schema_version: "1"
id: bf4389aa38b2c4e5bec1de310679e6ff1903ef93f5c9b49a3d351eaa754e718d
title: ConnectApi.PlatformAction
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/apexref/apex_connectapi_output_platform_action.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_connectapi_output_platform_action.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: 86e23957144a3a011f956deb754bc68a5a403ce053bf0d93f013fcb4a876a71a
description: A platform action instance with state information for the context user.
---
# ConnectApi.PlatformAction

A platform action instance with state information for the context user.

<table class="featureTable sort_table" summary="">
          <thead class="thead sorted" align="left">
            <tr>
              <th class="featureTableHeader vertical-align-top " id="d1138685e27">Property Name</th>
              <th class="featureTableHeader vertical-align-top " id="d1138685e29">Type</th>
              <th class="featureTableHeader vertical-align-top " id="d1138685e31">Description</th>
              <th class="featureTableHeader vertical-align-top " id="d1138685e33">Available Version</th>
            </tr>
          </thead>
          <tbody class="tbody">
            <tr>
              <td class="entry" headers="d1138685e27" data-title="Property Name"><samp class="codeph apex_code">actionUrl</samp></td>
              <td class="entry" headers="d1138685e29" data-title="Type">String</td>
              <td class="entry" headers="d1138685e31" data-title="Description">For action links of <samp class="codeph nolang">subtype</samp>
                <samp class="codeph nolang">Ui</samp> or <samp class="codeph nolang">Download</samp>, direct the user to download or visit the UI from this link.
                Salesforce issues a Javascript redirect for the link in this format: <samp class="codeph apex_code">/action-link-redirect/{communityId}​/{actionLinkId}?_bearer={bearerToken}</samp>.<p class="p">For
                  <samp class="codeph nolang">Api</samp> action links and for all platform
                  actions, this value is <samp class="codeph nolang">null</samp> and Salesforce
                  handles the call.
                </p>
              </td>
              <td class="entry" headers="d1138685e33" data-title="Available Version">33.0</td>
            </tr>
            <tr>
              <td class="entry" headers="d1138685e27" data-title="Property Name"><samp class="codeph apex_code">apiName</samp></td>
              <td class="entry" headers="d1138685e29" data-title="Type">String</td>
              <td class="entry" headers="d1138685e31" data-title="Description"><span class="ph" id="apiName"><a name="apiName"><!-- --></a>The API name. The value may be <samp class="codeph nolang">null</samp>.</span></td>
              <td class="entry" headers="d1138685e33" data-title="Available Version">33.0</td>
            </tr>
            <tr>
              <td class="entry" headers="d1138685e27" data-title="Property Name"><samp class="codeph apex_code">confirmation​Message</samp></td>
              <td class="entry" headers="d1138685e29" data-title="Type">String</td>
              <td class="entry" headers="d1138685e31" data-title="Description">If this action requires a confirmation and has a status of <samp class="codeph nolang">NewStatus</samp>, this is a default localized message that should be shown to an end user prior to invoking the action. Otherwise, this is <samp class="codeph nolang">null</samp>.</td>
              <td class="entry" headers="d1138685e33" data-title="Available Version">33.0</td>
            </tr>
            <tr>
              <td class="entry" headers="d1138685e27" data-title="Property Name"><samp class="codeph apex_code">executingUser</samp></td>
              <td class="entry" headers="d1138685e29" data-title="Type"><samp class="codeph apex_code"><a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_connectapi_output_user_summary.htm" title="User summary.">ConnectApi.UserSummary</a></samp></td>
              <td class="entry" headers="d1138685e31" data-title="Description"><span class="ph" id="executingUser"><a name="executingUser"><!-- --></a>The user who initiated execution of this platform action.</span></td>
              <td class="entry" headers="d1138685e33" data-title="Available Version">33.0</td>
            </tr>
            <tr>
              <td class="entry" headers="d1138685e27" data-title="Property Name"><samp class="codeph apex_code">groupDefault</samp></td>
              <td class="entry" headers="d1138685e29" data-title="Type">Boolean</td>
              <td class="entry" headers="d1138685e31" data-title="Description">
                <samp class="codeph nolang">true</samp> if this platform action is the default or primary platform action in the platform action group; <samp class="codeph nolang">false</samp> otherwise. There can be only one default platform action per platform action group.
              </td>
              <td class="entry" headers="d1138685e33" data-title="Available Version">33.0</td>
            </tr>
            <tr>
              <td class="entry" headers="d1138685e27" data-title="Property Name"><samp class="codeph apex_code">iconUrl</samp></td>
              <td class="entry" headers="d1138685e29" data-title="Type">String</td>
              <td class="entry" headers="d1138685e31" data-title="Description">The URL of the icon for the platform action. This value may be <samp class="codeph nolang">null</samp>.</td>
              <td class="entry" headers="d1138685e33" data-title="Available Version">33.0</td>
            </tr>
            <tr>
              <td class="entry" headers="d1138685e27" data-title="Property Name"><samp class="codeph apex_code">id</samp></td>
              <td class="entry" headers="d1138685e29" data-title="Type">String</td>
              <td class="entry" headers="d1138685e31" data-title="Description">
                <span class="ph" id="id"><a name="id"><!-- --></a>The ID for the platform action.</span>
                <p class="p">If the <samp class="codeph nolang">type</samp> is <samp class="codeph nolang">QuickAction</samp> and the
                  <samp class="codeph nolang">subtype</samp> is <samp class="codeph nolang">Create</samp>, this value is <samp class="codeph nolang">null</samp>.
                </p>
              </td>
              <td class="entry" headers="d1138685e33" data-title="Available Version">33.0</td>
            </tr>
            <tr>
              <td class="entry" headers="d1138685e27" data-title="Property Name"><samp class="codeph apex_code">label</samp></td>
              <td class="entry" headers="d1138685e29" data-title="Type">String</td>
              <td class="entry" headers="d1138685e31" data-title="Description"><span class="ph" id="label"><a name="label"><!-- --></a>The localized label for this platform action.</span></td>
              <td class="entry" headers="d1138685e33" data-title="Available Version">33.0</td>
            </tr>
            <tr>
              <td class="entry" headers="d1138685e27" data-title="Property Name"><samp class="codeph apex_code">modifiedDate</samp></td>
              <td class="entry" headers="d1138685e29" data-title="Type">Datetime</td>
              <td class="entry" headers="d1138685e31" data-title="Description">ISO 8601 format date string, for example, 2011-02-25T18:24:31.000Z.</td>
              <td class="entry" headers="d1138685e33" data-title="Available Version">33.0</td>
            </tr>
            <tr>
              <td class="entry" headers="d1138685e27" data-title="Property Name"><samp class="codeph apex_code">platformAction​Group</samp></td>
              <td class="entry" headers="d1138685e29" data-title="Type"><samp class="codeph apex_code"><a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_connectapi_output_reference.htm" title="Reference to a record.">ConnectApi.Reference</a></samp></td>
              <td class="entry" headers="d1138685e31" data-title="Description">A reference to the platform action group containing this platform action.</td>
              <td class="entry" headers="d1138685e33" data-title="Available Version">33.0</td>
            </tr>
            <tr>
              <td class="entry" headers="d1138685e27" data-title="Property Name"><samp class="codeph apex_code">status</samp></td>
              <td class="entry" headers="d1138685e29" data-title="Type"><a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/connectAPI_enums.htm#PlatformActionStatusEnum"><samp class="codeph apex_code" id="PlatformActionStatusEnum">ConnectApi.​PlatformAction​Status</samp></a></td>
              <td class="entry" headers="d1138685e31" data-title="Description">The execution status of the platform action. Values are:<ul class="ul bulletList">
                  <li class="li">
                    <samp class="codeph nolang">FailedStatus</samp>—The action link execution failed.
                  </li>
                  <li class="li">
                    <samp class="codeph nolang">NewStatus</samp>—The action link is ready to be executed. Available for <samp class="codeph nolang">Download</samp> and <samp class="codeph nolang">Ui</samp> action links only.
                  </li>
                  <li class="li">
                    <samp class="codeph nolang">PendingStatus</samp>—The action link is executing. Choosing this value triggers the API call for <samp class="codeph nolang">Api</samp> and <samp class="codeph nolang">ApiAsync</samp> action links.
                  </li>
                  <li class="li">
                    <samp class="codeph nolang">SuccessfulStatus</samp>—The action link executed successfully.
                  </li>
                </ul>
              </td>
              <td class="entry" headers="d1138685e33" data-title="Available Version">33.0</td>
            </tr>
            <tr>
              <td class="entry" headers="d1138685e27" data-title="Property Name"><samp class="codeph apex_code">subtype</samp></td>
              <td class="entry" headers="d1138685e29" data-title="Type">String</td>
              <td class="entry" headers="d1138685e31" data-title="Description">The subtype of a platform action or <samp class="codeph apex_code"><span class="keyword">null</span></samp>. <p class="p">If the
                  <samp class="codeph apex_code">type</samp> property is <samp class="codeph apex_code">ActionLink</samp>, possible values are:
                </p>
                <ul class="ul bulletList">
                  <li class="li">
                    <samp class="codeph nolang">Api</samp>—The action link calls a synchronous API at the action URL. Salesforce sets the status to <samp class="codeph nolang">SuccessfulStatus</samp> or <samp class="codeph nolang">FailedStatus</samp> based on the HTTP status code returned by your server.
                  </li>
                  <li class="li">
                    <samp class="codeph nolang">ApiAsync</samp>—The action link calls an asynchronous API at the
                    action URL. The action remains in a <samp class="codeph nolang">PendingStatus</samp> state until a third party makes a request to <samp class="codeph nolang">/connect/action-links/{actionLinkId}</samp> to set the
                    status to <samp class="codeph nolang">SuccessfulStatus</samp> or <samp class="codeph nolang">FailedStatus</samp> when the asynchronous operation is
                    complete.
                  </li>
                  <li class="li">
                    <samp class="codeph nolang">Download</samp>—The action link downloads a file from the action URL.
                  </li>
                  <li class="li">
                    <samp class="codeph nolang">Ui</samp>—The action link takes the user to a web page at the action URL.
                  </li>
                </ul>
                <p class="p">Invoking <samp class="codeph nolang">ApiAsync</samp> action links from an
                  app requires a call to set the status. However, there isn’t currently a way to set
                  the status of an action link using Apex. To set the status, use Connect REST API.
                  See the Action Link resource in the <a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.264.0.chatterapi.meta/chatterapi/" target="_blank" title="HTML (New Window)">Connect REST API Developer Guide</a>for more information.</p>
              </td>
              <td class="entry" headers="d1138685e33" data-title="Available Version">33.0</td>
            </tr>
            <tr>
              <td class="entry" headers="d1138685e27" data-title="Property Name"><samp class="codeph apex_code">type</samp></td>
              <td class="entry" headers="d1138685e29" data-title="Type"><a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/connectAPI_enums.htm#PlatformActionTypeEnum"><samp class="codeph apex_code" id="PlatformActionTypeEnum">ConnectApi.​PlatformActionType</samp></a></td>
              <td class="entry" headers="d1138685e31" data-title="Description">The type of platform action. Values are:<ul class="ul bulletList">
                  <li class="li">
                    <samp class="codeph apex_code">ActionLink</samp>—An indicator on a feed element that targets an API, a web page, or a file, represented by a button in the Salesforce UI.
                  </li>
                  <li class="li">
                    <samp class="codeph apex_code">CustomButton</samp>—When clicked, opens a URL or a Visualforce page in a window or executes JavaScript.
                  </li>
                  <li class="li">
                    <samp class="codeph apex_code">ProductivityAction</samp>—Productivity actions are predefined and attached to a limited set of objects. Productivity actions include Send Email, Call, Map, View Website, and Read News. Except for the Call action, you can’t edit productivity actions.
                  </li>
                  <li class="li">
                    <samp class="codeph apex_code">QuickAction</samp>—A global or object-specific action.
                  </li>
                  <li class="li">
                    <samp class="codeph nolang">StandardButton</samp>—A predefined Salesforce button such as New, Edit, or Delete.
                  </li>
                </ul>
              </td>
              <td class="entry" headers="d1138685e33" data-title="Available Version">33.0</td>
            </tr>
            <tr>
              <td class="entry" headers="d1138685e27" data-title="Property Name"><samp class="codeph apex_code">url</samp></td>
              <td class="entry" headers="d1138685e29" data-title="Type">String</td>
              <td class="entry" headers="d1138685e31" data-title="Description">
                <span class="ph" id="url"><a name="url"><!-- --></a>The URL for this platform action.</span>
                <p class="p">If the <samp class="codeph nolang">type</samp> is <samp class="codeph nolang">QuickAction</samp> and the
                  <samp class="codeph nolang">subtype</samp> is <samp class="codeph nolang">Create</samp>, this value is <samp class="codeph nolang">null</samp>.
                </p>
              </td>
              <td class="entry" headers="d1138685e33" data-title="Available Version">33.0</td>
            </tr>
          </tbody>
        </table>

#### See Also

- [ConnectApi.PlatformActionGroup](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_connectapi_output_platform_action_group.htm "A platform action group instance with state appropriate for the context user.")