---
schema_version: "1"
id: e4fd6926ab5cfe737547906dd3e303347dccb4a57ea6faf9733951178df2f409
title: Expose Your Connected App as a Canvas App
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/xcloud/264-0-0/connected_app_create_canvas.md
canonical_url: https://help.salesforce.com/s/articleView?id=xcloud.connected_app_create_canvas.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: eeb3a423225d3601a6893c6c3406a2f6418f1c65ba3ecf61aac12b4799d37169
description: You can expose your connected app as a canvas app. Canvas apps are available as apps that your org’s Salesforce admin install or as personal apps that users install across orgs. Users access a canvas personal app from the Chatter tab, and are prompted to allow the app to connect to their Salesforce data. Users can choose to make an app a canvas personal app.
products:
  - Security
  - Cross Cloud
release: "264"
---
# Expose Your Connected App as a Canvas App

You can expose your connected app as a canvas app. Canvas apps are available as apps that your org’s Salesforce admin install or as personal apps that users install across orgs. Users access a canvas personal app from the Chatter tab, and are prompted to allow the app to connect to their Salesforce data. Users can choose to make an app a canvas personal app.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition">
        <colgroup>
          <col>
        </colgroup>
        <tbody>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Available in: both Salesforce Classic and Lightning Experience</td>
          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">
              <p>Connected Apps can be created in: <strong>Group</strong>, <strong>Essentials</strong>,
                <strong>Professional</strong>, <strong>Enterprise</strong>, <strong>Performance</strong>, <strong>Unlimited</strong>, and
                <strong>Developer</strong> Editions
              </p>
              <p style="margin-bottom:0;">Connected Apps can be installed in: All
                editions</p>
            </td>
          </tr>
        </tbody>
      </table>

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-xcloud-identity-264-0-0-production-enus/699dab6f-8f1a-4662-b24f-6521d5b747f7/images/icon_note.png)

Note Beginning in Summer ’26, Chatter is turned off by default in all new orgs. For any features in these orgs that require access to Chatter functionality or the Chatter APIs, turn on Chatter by going to **Setup** | **Chatter Settings** and selecting **Enable**. For details, see [Chatter Is Turned Off by Default in New Orgs Beginning in Summer ’26](https://help.salesforce.com/s/articleView?id=experience.collab_chatter_default_off.htm&type=5&language=en_US).

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small permission">
        <colgroup>
          <col style="width:50%">
          <col style="width:50%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="colgroup" class="slds-cell-wrap" colspan="2" style="text-align:center;vertical-align:top;" id="d71956e81">User Permissions Needed</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d71956e81 ">To read, create, update, or delete connected apps:</td>
            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d71956e81 ">
              <p>Customize Application AND either</p>
              <p style="margin-bottom:0;">Modify All Data OR Manage Connected
                Apps</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d71956e81 ">To update all fields except Profiles, Permission Sets, and Service Provider
              SAML Attributes:</td>
            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d71956e81 ">
              <p>Customize Application AND either</p>
              <p style="margin-bottom:0;">Modify All Data OR Manage Connected
                Apps</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d71956e81 ">To update Profiles, Permission Sets, and Service Provider SAML
              Attributes:</td>
            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d71956e81 ">Customize Application AND Modify All Data AND Manage Profiles and Permission
              Sets</td>
          </tr>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d71956e81 ">To rotate the consumer key and consumer secret:</td>
            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d71956e81 ">Allow consumer key and secret rotation</td>
          </tr>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d71956e81 ">To install and uninstall connected apps:</td>
            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d71956e81 ">
              <p>Customize Application AND either</p>
              <p style="margin-bottom:0;">Modify All Data OR Manage Connected
                Apps</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d71956e81 ">To install and uninstall packaged connected apps:</td>
            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d71956e81 ">
              <p>Download AppExchange Packages AND Customize Application AND either</p>
              <p style="margin-bottom:0;">Modify All
                Data OR Manage Connected Apps</p>
            </td>
          </tr>
        </tbody>
      </table>

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-xcloud-identity-264-0-0-production-enus/699dab6f-8f1a-4662-b24f-6521d5b747f7/images/icon_note.png)

Note Connected apps creation is restricted as of Spring '26. You can continue to use existing connected apps during and after Spring '26. However, we recommend using [external client apps](https://help.salesforce.com/s/articleView?id=xcloud.external_client_apps.htm&language=en_US) instead. If you must continue creating connected apps, contact Salesforce Support.

See [New connected apps can no longer be created in Spring '26](https://help.salesforce.com/s/articleView?id=005228017&type=1&language=en_US) for more details.

For more information about canvas apps, see the [Canvas Developer Guide](https://developer.salesforce.com/docs/atlas.en-us.platform_connect.meta/platform_connect/canvas_framework_intro.htm).

1. Create your connected app, and complete its [basic information](https://help.salesforce.com/s/articleView?id=xcloud.connected_app_create_basics.htm&release=264.0.0&type=5 "For all connected apps, define the basics, which include the app’s name, logo, and contact information.").
2. In the Canvas App Setting section, select **Canvas** to expose your connected app as a canvas app.
3. Enter the canvas app URL to the third-party app. The user is directed to this URL when clicking the link to your canvas app.
4. Select an access method to specify how the canvas app initiates the OAuth authorization flow.
    
    - Signed Request (POST)—OAuth authorization is used, but when Salesforce admins install the canvas app, they implicitly allow access for users. Users aren’t prompted to allow apps to access their user information. When you use this access method, authorization is posted directly to the canvas app URL.
        
        If your canvas app uses signed request authorization, don’t select **Perform requests on your behalf at any time** for the Selected OAuth Scopes.
    - OAuth Webflow (GET)—OAuth authorization is used, and the user is prompted to allow apps to access their information. When you use this access method, the canvas app must initiate the OAuth authorization flow.
5. If you’re using SAML single sign-on (SSO) for canvas app authentication, select the **SAML Initiation Method** field. The options for this field include the following.
    
    - Identity Provider Initiated—Salesforce makes the initial request to start the SSO flow.
    - Service Provider Initiated—Canvas app starts the SSO flow after the app is invoked.
    
    ![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-xcloud-identity-264-0-0-production-enus/699dab6f-8f1a-4662-b24f-6521d5b747f7/images/icon_note.png)
    
    Note You must select **Enable SAML** in the Web App Settings section to enable this field.
6. Under Locations, select where the canvas app appears to users.
    
    - Chatter Feed—Canvas app displays in the feed. If selected, create a CanvasPost feed item and ensure that the current user has access to the canvas app.
    - Chatter Tab—Canvas app displays in the app navigation list on the Chatter tab automatically.
    - Console—Canvas app displays in the footer or sidebars of the Salesforce console. If selected, you must choose where the canvas app displays in a console by adding it as a custom console component.
    - Layouts and Mobile Cards—Canvas app can display on a page layout or a mobile card. If selected, choose where the canvas app displays by adding it to the page layout.
    - Lightning Component—Canvas app appears on your [custom Lightning component](https://developer.salesforce.com/docs/atlas.en-us.platform_connect.meta/platform_connect/canvas_app_aura_code_example.htm).
    - Mobile Nav—Canvas app is accessible from the navigation menu in the Salesforce app.
        
        ![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-xcloud-identity-264-0-0-production-enus/699dab6f-8f1a-4662-b24f-6521d5b747f7/images/icon_note.png)
        
        Note Canvas apps don’t appear in the app navigation menu in Salesforce for Android. To see canvas apps in the navigation menu, log in to Salesforce mobile web.
    - Open CTI—Canvas app displays in the call control tool. If selected, specify the canvas app in your call center’s definition file for it to display.
    - Publisher—Canvas app displays in the publisher. If selected, create a canvas custom quick action and add it to the global layout or to an object layout.
    - Visualforce Page—Canvas app can display on a Visualforce page. If you add an `<apex:canvasApp>` component to expose a canvas app on a Visualforce page, be sure to select this location for the canvas app. If you don’t, you receive an error.
7. To create a global action for your canvas app, select **Create Actions Automatically**. Under Location, select **Publisher**.
    
    If you don’t use this option, global actions aren’t created. You can also create the action later.
8. If you implement your own `Canvas.CanvasLifecycleHandler` Apex class, enter the class name in Lifecycle Class.
    
    Providing a `Canvas.CanvasLifecycleHandler` Apex class lets you customize context information and add custom behavior to your canvas app.
9. To let users install your app, select **Enable as a Canvas Personal App**. Chatter Tab is the only location that supports canvas personal apps.
    
    ![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-xcloud-identity-264-0-0-production-enus/699dab6f-8f1a-4662-b24f-6521d5b747f7/images/icon_note.png)
    
    Note If you don’t see the **Enable as a Canvas Personal App** setting, the admin for the app’s destination org hasn’t enabled canvas personal apps. For details, see “[Enabling Canvas Personal Apps within an Organization](https://developer.salesforce.com/docs/atlas.en-us.platform_connect.meta/platform_connect/canvas_personal_app_enable_org.htm)” in the Canvas Developer Guide.
10. When you’ve configured all settings for your connected app, click **Save**.