SlideShare a Scribd company logo
2
Most read
6
Most read
8
Most read
Canvas
SalesforceCodex.com 1
SalesforceCodex.com 2
Overview:-
What is Canvas:-
Canvas enables you to easily integrate a third-party application in Salesforce. Canvas is a set of tools and JavaScript
APIs that you can use to expose an application as a canvas app. This means you can take your new or existing
applications and make them available to your users as part of their Salesforce experience.
Important Entity:-
Authentication
Context
Cross-domain XHR
Events
Canvas Apps in Visualforce
Canvas
Scenarios•Application integration—You’re a partner, systems integrator, or customer that builds cloud apps, and you’d like to
integrate these applications with Salesforce.
•Application rationalization/enterprise desktop—You’re a large organization that has many existing apps that
your users access in addition to Salesforce. You’d like to integrate these apps into Salesforce so that users can
accomplish all of their tasks in one place.
SalesforceCodex.com 3
Continue:-
canvas app is also a kind of connected app. You can consider canvas app as connected app with some enhanced features to
make it work seamlessly with external apps within Salesforce UI. Some of these additional features are:
a) canvas app settings has 'Access Method' option which simplifies the way your connected app is getting authenticated and
authorized. This is important when you want to have your canvas app do authentication and authorization behind the
scene without having user know about it.
b) Canvas app framework provides Lightweight and easy-to-use JavaScript libraries.
c) Canvas app framework natively provides 'Context Services' which tells more about the logged-in user, what org are they in,
how much area does the canvas provide to display etc.
d) It natively allows cross-domain API calls.
e) It is based on lightweight JSON eventing framework which allows your apps to publish and subscribe to events. (the events
are sent through Canvas API).
So, in summary, above said additional features on top of connected app makes a canvas app
Important parameters:-
• Authentication—signed request or OAuth 2.0.
• Context.
• Cross-domain cross-domain XML HTTP requests .
• Resizing—M
• Events—Events provide a JavaScript-based way to send and receive events between canvas apps.
• Canvas Apps in Aura—An Aura component that lets you expose your canvas app in a custom Aura
component.
• Canvas Apps in Visualforce
• Canvas Apps in the Publisher
• Canvas Apps in the Chatter Feed
• Canvas in the Salesforce Mobile App
SalesforceCodex.com 4
SalesforceCodex.com 5
Canvas can be placed in salesforce:-
Chatter Feed—The canvas app appears in the feed. If this option is selected, you must create a CanvasPost feed item and ensure
that the current user has access to the canvas app.
Chatter Tab—The canvas app appears in the app navigation list on the Chatter tab. If this option is selected, the canvas app
appears there automatically.
Console—The canvas app appears in the footer or sidebars of a Salesforce console. If this option is selected, you must choose
where the canvas app appears in a console by adding it as a custom console component.
Visualforce Page—The canvas app can appear 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; otherwise, you’ll receive an error
Layouts and Mobile Cards—The canvas app can appear on a page layout or a mobile card. If this option is selected, you choose
where the canvas app appears by adding it to the page layout.
Mobile Nav—The canvas app is accessible from the mobile app navigation menu.
Open CTI—The canvas app appears in the call control tool. If this option is selected, you must specify the canvas app in your call
center’s definition file for it to appear.
Publisher—The canvas app appears in the Chatter publisher and action bar. If this option is selected, you must also create a
canvas custom action and add it to the global publisher layout or to an object’s page layout.
SalesforceCodex.com 6
Authentication and Permission:-Permission:-
The following user permissions are required to create canvas apps and view them in the Canvas App
Previewer:“Customize Application”
•“Modify All Data”
•User Interface Considerations
Authentication
When you create a canvas app, you can use one of the following authentication methods:
Signed request—The default method of authentication for canvas apps. The signed request authorization flow
varies depending on whether the administrator gives users access to the canvas app or if users can self-authorize.
The signed request containing the consumer key, access token, and other contextual information is provided to the
canvas app in one of these ways:
The administrator allows access to the canvas app for the user.
The user approves the canvas app in the OAuth flow.
OAuth 2.0—Canvas apps can use the OAuth 2.0 protocol to authorize and acquire access tokens.
Signed Request Authentication
The signed request authorization flow varies depending on whether the canvas app’s Permitted Users field is set to "Admin
approved users are pre-authorized" or "All users may self-authorize."
SalesforceCodex.com 7
Canvas Configuration:-
Permitted Users Value Canvas App Accessibility When the User Needs to Approve the
Canvas App
POST or GET Behavior
Admin approved users are pre-
authorized
The app is accessible to users as soon
as the administrator installs it in the
organization and configures which users
can see it. Users don’t need to approve
or deny access.
Never Salesforce performs a POST to the
canvas app with all the authorization
information contained in the body of the
signed request, including the refresh
token.
All users may self-authorize The app is accessible to all users, but
the user is prompted to approve or deny
access to the app.
•The first time that the user opens the
app
•If the access token is revoked by the
administrator
•If the administrator sets a time limit on
the token and that time limit is exceeded
1.If the user has previously approved the
app and the access hasn’t been revoked
or expired, Salesforce performs a POST
to the canvas app with a signed request
payload.If the user hasn’t approved the
app, or if the access has been revoked
or expired, Salesforce performs a GET
to the canvas app URL. The canvas app
must handle the GET by accepting the
call and looking for the URL
parameter _sfdc_canvas_authvalue. If
the canvas app receives this parameter
value, the canvas app should initiate the
approve or deny OAuth
flow._sfdc_canvas_authvalue =
user_approval_required
After the OAuth flow is initiated and the
user approves the app, the canvas app
should call the repost() method with a
parameter of true to retrieve the signed
request.
SalesforceCodex.com 8
How Canvas works:-
SalesforceCodex.com 9
Continue:-
salesforcecodex.com 10
Keep Exploring. Keep Learning.

More Related Content

PPTX
Salesforce sales cloud solutions
PPTX
Seamless Authentication with Force.com Canvas
PDF
Intro to Force.com Canvas: Running External Apps within the Salesforce UI Web...
PDF
Dive Deep Into the Force.com Canvas Framework
PPTX
Salesforce Integration Patterns
PDF
Best Practices with Apex in 2022.pdf
PDF
Performing a successful technical debt assessment in Salesforce
PPTX
Salesforce Development Best Practices
Salesforce sales cloud solutions
Seamless Authentication with Force.com Canvas
Intro to Force.com Canvas: Running External Apps within the Salesforce UI Web...
Dive Deep Into the Force.com Canvas Framework
Salesforce Integration Patterns
Best Practices with Apex in 2022.pdf
Performing a successful technical debt assessment in Salesforce
Salesforce Development Best Practices

What's hot (20)

PPTX
Introducing the Salesforce platform
PPTX
Introduction to Lightning Web Component
PDF
Manage Development in Your Org with Salesforce Governance Framework
PPTX
Salesforce Intro
PPTX
SAP and Salesforce Integration
PDF
Google Firebase presentation - English
PPTX
Salesforce online training || Salesforce Integration | salesforce lightning
PPTX
What Is Salesforce? | Salesforce Training - What Does Salesforce Do? | Salesf...
PDF
Getting started with Marketing Cloud
PDF
First Steps to Salesforce Release Management & DevOps [Salesforce User Group,...
PDF
Secure Salesforce: External App Integrations
PDF
Visualforce & Force.com Canvas: Unlock your Web App inside of Salesforce.com ...
PDF
Salesforce CI/CD - A strategy for success
PPTX
Salesforce intro session_for_students_v2
PPTX
What is Salesforce lighting explained
PPTX
Salesforce Overview For Beginners/Students
PPTX
How Salesforce CRM Improves Your Sales Pipeline?
PDF
Lightning web components - Episode 1 - An Introduction
PPTX
Classic vs. lightning
PPTX
Lightning web components
Introducing the Salesforce platform
Introduction to Lightning Web Component
Manage Development in Your Org with Salesforce Governance Framework
Salesforce Intro
SAP and Salesforce Integration
Google Firebase presentation - English
Salesforce online training || Salesforce Integration | salesforce lightning
What Is Salesforce? | Salesforce Training - What Does Salesforce Do? | Salesf...
Getting started with Marketing Cloud
First Steps to Salesforce Release Management & DevOps [Salesforce User Group,...
Secure Salesforce: External App Integrations
Visualforce & Force.com Canvas: Unlock your Web App inside of Salesforce.com ...
Salesforce CI/CD - A strategy for success
Salesforce intro session_for_students_v2
What is Salesforce lighting explained
Salesforce Overview For Beginners/Students
How Salesforce CRM Improves Your Sales Pipeline?
Lightning web components - Episode 1 - An Introduction
Classic vs. lightning
Lightning web components
Ad

Similar to Integration using Salesforce Canvas (20)

PPTX
Force.com Canvas - Admin-approved, User-approved, and Personal Apps Unlocked
PPTX
Force.com Canvas: 2 Case Studies and a Roadmap
PPTX
Surface Your Existing Force.com Canvas App in the Salesforce1 Mobile App
PDF
Introduction to Force.com Canvas Apps
PPTX
m365_slides.pptx
PPTX
Force.com Canvas: Salesforce1, SAML, & Apex...Oh My!
PPTX
Enhance model driven embedded canvas app here is all that you need to know!
PPTX
Enhance model driven embedded canvas app here is all that you need to know!
PDF
Salesforce Developer Garage Seattle: Force.com Canvas
PDF
Winter 15 : Salesforce
PDF
Progressive Web Apps
PPTX
Salesforce zoom integration
PPTX
Overview of wrap Features in Power Apps.pptx
PDF
Rits Brown Bag - Salesforce AppExchange
PDF
PPTX
Progressive web apps
PPTX
Progressive web app
PPTX
TapCrowd MEAP (mobile enterprise application platform)
PPTX
Android Marshmallow APIs and Changes
PPTX
What are the Best Practices for developing SaaS Applications? | Calidad Infotech
Force.com Canvas - Admin-approved, User-approved, and Personal Apps Unlocked
Force.com Canvas: 2 Case Studies and a Roadmap
Surface Your Existing Force.com Canvas App in the Salesforce1 Mobile App
Introduction to Force.com Canvas Apps
m365_slides.pptx
Force.com Canvas: Salesforce1, SAML, & Apex...Oh My!
Enhance model driven embedded canvas app here is all that you need to know!
Enhance model driven embedded canvas app here is all that you need to know!
Salesforce Developer Garage Seattle: Force.com Canvas
Winter 15 : Salesforce
Progressive Web Apps
Salesforce zoom integration
Overview of wrap Features in Power Apps.pptx
Rits Brown Bag - Salesforce AppExchange
Progressive web apps
Progressive web app
TapCrowd MEAP (mobile enterprise application platform)
Android Marshmallow APIs and Changes
What are the Best Practices for developing SaaS Applications? | Calidad Infotech
Ad

More from Dhanik Sahni (6)

PPTX
Demystify Salesforce Bulk API
PPTX
Deep dive into Salesforce Connected App
PPTX
Salesforce Streaming event - PushTopic and Generic Events
PPTX
Salesforce Integration Pattern Overview
PPTX
Salesforce Einstein OCR API
PPTX
Lightning web component
Demystify Salesforce Bulk API
Deep dive into Salesforce Connected App
Salesforce Streaming event - PushTopic and Generic Events
Salesforce Integration Pattern Overview
Salesforce Einstein OCR API
Lightning web component

Recently uploaded (20)

PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
A Presentation on Artificial Intelligence
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Machine Learning_overview_presentation.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
“AI and Expert System Decision Support & Business Intelligence Systems”
The AUB Centre for AI in Media Proposal.docx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Approach and Philosophy of On baking technology
Advanced methodologies resolving dimensionality complications for autism neur...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
NewMind AI Weekly Chronicles - August'25-Week II
Unlocking AI with Model Context Protocol (MCP)
Diabetes mellitus diagnosis method based random forest with bat algorithm
A Presentation on Artificial Intelligence
MYSQL Presentation for SQL database connectivity
Building Integrated photovoltaic BIPV_UPV.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Reach Out and Touch Someone: Haptics and Empathic Computing
Assigned Numbers - 2025 - Bluetooth® Document
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Machine Learning_overview_presentation.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11

Integration using Salesforce Canvas

  • 2. SalesforceCodex.com 2 Overview:- What is Canvas:- Canvas enables you to easily integrate a third-party application in Salesforce. Canvas is a set of tools and JavaScript APIs that you can use to expose an application as a canvas app. This means you can take your new or existing applications and make them available to your users as part of their Salesforce experience. Important Entity:- Authentication Context Cross-domain XHR Events Canvas Apps in Visualforce Canvas Scenarios•Application integration—You’re a partner, systems integrator, or customer that builds cloud apps, and you’d like to integrate these applications with Salesforce. •Application rationalization/enterprise desktop—You’re a large organization that has many existing apps that your users access in addition to Salesforce. You’d like to integrate these apps into Salesforce so that users can accomplish all of their tasks in one place.
  • 3. SalesforceCodex.com 3 Continue:- canvas app is also a kind of connected app. You can consider canvas app as connected app with some enhanced features to make it work seamlessly with external apps within Salesforce UI. Some of these additional features are: a) canvas app settings has 'Access Method' option which simplifies the way your connected app is getting authenticated and authorized. This is important when you want to have your canvas app do authentication and authorization behind the scene without having user know about it. b) Canvas app framework provides Lightweight and easy-to-use JavaScript libraries. c) Canvas app framework natively provides 'Context Services' which tells more about the logged-in user, what org are they in, how much area does the canvas provide to display etc. d) It natively allows cross-domain API calls. e) It is based on lightweight JSON eventing framework which allows your apps to publish and subscribe to events. (the events are sent through Canvas API). So, in summary, above said additional features on top of connected app makes a canvas app
  • 4. Important parameters:- • Authentication—signed request or OAuth 2.0. • Context. • Cross-domain cross-domain XML HTTP requests . • Resizing—M • Events—Events provide a JavaScript-based way to send and receive events between canvas apps. • Canvas Apps in Aura—An Aura component that lets you expose your canvas app in a custom Aura component. • Canvas Apps in Visualforce • Canvas Apps in the Publisher • Canvas Apps in the Chatter Feed • Canvas in the Salesforce Mobile App SalesforceCodex.com 4
  • 5. SalesforceCodex.com 5 Canvas can be placed in salesforce:- Chatter Feed—The canvas app appears in the feed. If this option is selected, you must create a CanvasPost feed item and ensure that the current user has access to the canvas app. Chatter Tab—The canvas app appears in the app navigation list on the Chatter tab. If this option is selected, the canvas app appears there automatically. Console—The canvas app appears in the footer or sidebars of a Salesforce console. If this option is selected, you must choose where the canvas app appears in a console by adding it as a custom console component. Visualforce Page—The canvas app can appear 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; otherwise, you’ll receive an error Layouts and Mobile Cards—The canvas app can appear on a page layout or a mobile card. If this option is selected, you choose where the canvas app appears by adding it to the page layout. Mobile Nav—The canvas app is accessible from the mobile app navigation menu. Open CTI—The canvas app appears in the call control tool. If this option is selected, you must specify the canvas app in your call center’s definition file for it to appear. Publisher—The canvas app appears in the Chatter publisher and action bar. If this option is selected, you must also create a canvas custom action and add it to the global publisher layout or to an object’s page layout.
  • 6. SalesforceCodex.com 6 Authentication and Permission:-Permission:- The following user permissions are required to create canvas apps and view them in the Canvas App Previewer:“Customize Application” •“Modify All Data” •User Interface Considerations Authentication When you create a canvas app, you can use one of the following authentication methods: Signed request—The default method of authentication for canvas apps. The signed request authorization flow varies depending on whether the administrator gives users access to the canvas app or if users can self-authorize. The signed request containing the consumer key, access token, and other contextual information is provided to the canvas app in one of these ways: The administrator allows access to the canvas app for the user. The user approves the canvas app in the OAuth flow. OAuth 2.0—Canvas apps can use the OAuth 2.0 protocol to authorize and acquire access tokens. Signed Request Authentication The signed request authorization flow varies depending on whether the canvas app’s Permitted Users field is set to "Admin approved users are pre-authorized" or "All users may self-authorize."
  • 7. SalesforceCodex.com 7 Canvas Configuration:- Permitted Users Value Canvas App Accessibility When the User Needs to Approve the Canvas App POST or GET Behavior Admin approved users are pre- authorized The app is accessible to users as soon as the administrator installs it in the organization and configures which users can see it. Users don’t need to approve or deny access. Never Salesforce performs a POST to the canvas app with all the authorization information contained in the body of the signed request, including the refresh token. All users may self-authorize The app is accessible to all users, but the user is prompted to approve or deny access to the app. •The first time that the user opens the app •If the access token is revoked by the administrator •If the administrator sets a time limit on the token and that time limit is exceeded 1.If the user has previously approved the app and the access hasn’t been revoked or expired, Salesforce performs a POST to the canvas app with a signed request payload.If the user hasn’t approved the app, or if the access has been revoked or expired, Salesforce performs a GET to the canvas app URL. The canvas app must handle the GET by accepting the call and looking for the URL parameter _sfdc_canvas_authvalue. If the canvas app receives this parameter value, the canvas app should initiate the approve or deny OAuth flow._sfdc_canvas_authvalue = user_approval_required After the OAuth flow is initiated and the user approves the app, the canvas app should call the repost() method with a parameter of true to retrieve the signed request.