---
schema_version: "1"
id: 3ac1d6ef5bae432a2291710a5d12631f9545bf8683a42606a4067292c0cb1619
title: ExtlClntAppCanvasSettings
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/api_meta/meta_extlclntappcanvassettings.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_extlclntappcanvassettings.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: ec937547fc592d5d819cb77e88bac3ce49a956347d80029579640ad83d7c865e
description: Represents an external client app’s canvas app settings.
---
# ExtlClntAppCanvasSettings

Represents an external client app’s canvas app settings.

## Parent Type and Manifest Access

This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field.

## File Suffix and Directory Location

ExtlClntAppCanvasSettings components have the suffix .ecaCanvas and are stored in the extlClntAppCanvasSettings folder.

## Version

ExtlClntAppCanvasSettings components are available in API version 66.0 and later.

## Special Access Rules

There are no additional access requirements that are specific to this type.

## Fields

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



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

              <th class="featureTableHeader  " id="d484132e117">Field Type</th>

              <th class="featureTableHeader  " id="d484132e120">Description</th>

            </tr>

          </thead>

          <tbody class="tbody">
            <tr>
              <td class="entry" headers="d484132e114" data-title="Field Name"><span class="keyword parmname">accessMethod</span></td>

              <td class="entry" headers="d484132e117" data-title="Field Type">AccessMethod (<a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title">enumeration</a> of type string)</td>

              <td class="entry" headers="d484132e120" data-title="Description">Required. Indicates how the canvas app initiates the OAuth authentication flow. The
                valid values are:<a name="ul_jg3_d3t_4hc"><!-- --></a>
                <ul class="ul bulletList" id="ul_jg3_d3t_4hc">
                  <li class="li">
                    <samp class="codeph nolang">Get</samp>—OAuth
                    authentication is used, and the user is prompted to allow
                    the third-party application to access their information.
                    When you use this access method, the canvas app must
                    initiate the OAuth authentication flow.
                  </li>

                  <li class="li">
                    <samp class="codeph nolang">Post</samp>—OAuth
                    authentication is used, but when the administrator installs
                    the canvas app, they implicitly allow access for users.
                    Therefore, the user isn’t prompted to allow the third party
                    to access their user information. When you use this access
                    method, the authentication is posted directly to the canvas
                    app URL.
                  </li>

                </ul>
              </td>

            </tr>

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

              <td class="entry" headers="d484132e117" data-title="Field Type">CanvasLocationOptions (<a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title">enumeration</a> of type string)[]</td>

              <td class="entry" headers="d484132e120" data-title="Description">Indicates where the canvas app can appear to the user. The valid
                values are:<ul class="ul bulletList">
                  <li class="li">
                    <samp class="codeph nolang">Aura</samp>—The canvas
                    app can appear in a custom Lightning component.
                  </li>

                  <li class="li">
                    <samp class="codeph nolang">ChatterFeed</samp>—The
                    canvas app can appear as a Chatter feed item.
                  </li>

                  <li class="li">
                    <samp class="codeph nolang">MobileNav</samp>—The
                    canvas app can appear in a mobile card in the Salesforce
                    mobile app.
                  </li>

                  <li class="li">
                    <samp class="codeph nolang">None</samp>—The canvas
                    app can appear only in the Canvas App Previewer.
                  </li>

                  <li class="li">
                    <samp class="codeph nolang">PageLayout</samp>—The
                    canvas app can appear on a page layout. When viewed in the
                    Salesforce mobile app, the canvas app appears in the record
                    detail page.
                  </li>

                  <li class="li">
                    <samp class="codeph nolang">Publisher</samp>—The
                    canvas app can appear as a global action.
                  </li>

                  <li class="li">
                    <samp class="codeph nolang">Visualforce</samp>—The
                    canvas app can appear on a Visualforce page.
                  </li>

                </ul>
              </td>

            </tr>

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

              <td class="entry" headers="d484132e117" data-title="Field Type">CanvasOptions (<a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title">enumeration</a> of type string)[]</td>

              <td class="entry" headers="d484132e120" data-title="Description">Indicates whether to hide the <strong class="ph uicontrol">Share</strong> button
                and header in the publisher for your canvas app. Valid values are:<ul class="ul bulletList">
                  <li class="li">
                    <samp class="codeph nolang">HideShare</samp>—The
                    <strong class="ph uicontrol">Share</strong> button is hidden in the
                    publisher for the related canvas app.
                  </li>

                  <li class="li">
                    <samp class="codeph nolang">HideHeader</samp>—The
                    header is hidden in the publisher for the related canvas
                    app.
                  </li>

                </ul>
              </td>

            </tr>

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

              <td class="entry" headers="d484132e117" data-title="Field Type">string</td>

              <td class="entry" headers="d484132e120" data-title="Description">Required. The URL of the third-party app that’s exposed as a
                canvas app.</td>

            </tr>

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

              <td class="entry" headers="d484132e117" data-title="Field Type">string</td>

              <td class="entry" headers="d484132e120" data-title="Description">Required. The name of the associated external client app.
              </td>

            </tr>

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

              <td class="entry" headers="d484132e117" data-title="Field Type">string</td>

              <td class="entry" headers="d484132e120" data-title="Description">The name of the app.</td>

            </tr>

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

              <td class="entry" headers="d484132e117" data-title="Field Type">string</td>

              <td class="entry" headers="d484132e120" data-title="Description">The name of the lifecycle handler Apex class.</td>

            </tr>

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

              <td class="entry" headers="d484132e117" data-title="Field Type">SamlInitiationMethod (<a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title">enumeration</a> of type string)</td>

              <td class="entry" headers="d484132e120" data-title="Description">If you’re using SAML single sign-on (SSO), indicates which
                provider initiates the SSO flow.<ul class="ul bulletList">
                  <li class="li">
                    <samp class="codeph nolang">IdpInitiated</samp>—Identity provider initiated.
                    Salesforce makes the initial request to start the SSO
                    flow.
                  </li>

                  <li class="li">
                    <samp class="codeph nolang">SpInitiated</samp>—Service provider initiated. The
                    canvas app starts the SSO flow after it’s invoked.
                  </li>

                  <li class="li">
                    <samp class="codeph nolang">None</samp>—The canvas
                    app isn’t using SAML SSO.
                  </li>

                </ul>
              </td>

            </tr>

          </tbody>

        </table>

## Declarative Metadata Sample Definition

The following is an example of a ExtlClntAppCanvasSettings component.

<?xml version="1.0" encoding="UTF-8"?>
<ExtlClntAppCanvasSettings xmlns="http://soap.sforce.com/2006/04/metadata">
    <accessMethod\>Post</accessMethod\>
    <canvasUrl\>https://www.example.com</canvasUrl\>
    <canvasLocationOptions\>Aura</canvasLocationOptions\>
    <canvasLocationOptions\>Visualforce</canvasLocationOptions\>
    <canvasOptions\>HideHeader</canvasOptions\>
    <label\>My external client app settings for canvas</label\>
    <samlInitiationMethod\>None</samlInitiationMethod\>
    <externalClientApplication\>testCanvasECA</externalClientApplication\>
</ExtlClntAppCanvasSettings\>

The following is an example package.xml that references the previous definition.

<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <types\>
        <members\>\*</members\>
        <name\>ExternalClientApplication</name\>
    </types\>
    <types\>
        <members\>\*</members\>
        <name\>ExtlClntAppOauthSettings</name\>
    </types\>
    <types\>
        <members\>\*</members\>
        <name\>ExtlClntAppCanvasSettings</name\>
    </types\>
    <version\>66.0</version\>
</Package\>

## Wildcard Support in the Manifest File

This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "The deploy() and retrieve() calls are used to deploy and retrieve a .zip file. Within the .zip file is a project manifest (package.xml) that lists what to retrieve or deploy, and one or more XML components that are organized into folders.").