ExtlClntAppCanvasSettings

Represents an external client app’s canvas app settings.

Parent Type 

This type extends Metadata and inherits its fields.

File Suffix and Directory Location 

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

Version 

Introduced in API version 66.0.

Special Access Rules 

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

Fields 

accessMethod 

  • Type: AccessMethod (enumeration of type string)
  • Required: No
  • Description: Required. Indicates how the canvas app initiates the OAuth authentication flow.
  • Possible values:
    • Get — 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.
    • Post — 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.

canvasLocationOptions 

  • Type: CanvasLocationOptions (enumeration of type string)[]
  • Required: No
  • Description: Indicates where the canvas app can appear to the user.
  • Possible values:
    • Aura — The canvas app can appear in a custom Lightning component.
    • ChatterFeed — The canvas app can appear as a Chatter feed item.
    • MobileNav — The canvas app can appear in a mobile card in the Salesforce mobile app.
    • None — The canvas app can appear only in the Canvas App Previewer.
    • PageLayout — 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.
    • Publisher — The canvas app can appear as a global action.
    • Visualforce — The canvas app can appear on a Visualforce page.

canvasOptions 

  • Type: CanvasOptions (enumeration of type string)[]
  • Required: No
  • Description: Indicates whether to hide the Share button and header in the publisher for your canvas app.
  • Possible values:
    • HideShare — The Share button is hidden in the publisher for the related canvas app.
    • HideHeader — The header is hidden in the publisher for the related canvas app.

canvasUrl 

  • Type: string
  • Required: Yes
  • Description: Required. The URL of the third-party app that’s exposed as a canvas app.

externalClientApplication 

  • Type: string
  • Required: Yes
  • Description: Required. The name of the associated external client app.

label 

  • Type: string
  • Required: No
  • Description: The name of the app.

lifeCycleHandler 

  • Type: string
  • Required: No
  • Description: The name of the lifecycle handler Apex class.

samlInitiationMethod 

  • Type: SamlInitiationMethod (enumeration of type string)
  • Required: No
  • Description: If you’re using SAML single sign-on (SSO), indicates which provider initiates the SSO flow.
  • Possible values:
    • IdpInitiated — Identity provider initiated. Salesforce makes the initial request to start the SSO flow.
    • SpInitiated — Service provider initiated. The canvas app starts the SSO flow after it’s invoked.
    • None — The canvas app isn’t using SAML SSO.

Declarative Metadata Sample Definition 

The following is an example of a ExtlClntAppCanvasSettings component.

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

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

1<?xml version="1.0" encoding="UTF-8"?>
2<Package xmlns="http://soap.sforce.com/2006/04/metadata">
3    <types>
4        <members>*</members>
5        <name>ExternalClientApplication</name>
6    </types>
7    <types>
8        <members>*</members>
9        <name>ExtlClntAppOauthSettings</name>
10    </types>
11    <types>
12        <members>*</members>
13        <name>ExtlClntAppCanvasSettings</name>
14    </types>
15    <version>66.0</version>
16</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.