SlideShare a Scribd company logo
1 of 10
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

What's hot

Introduction to Force.com Canvas Apps
Introduction to Force.com Canvas AppsIntroduction to Force.com Canvas Apps
Introduction to Force.com Canvas AppsSalesforce Developers
 
Two-Way Integration with Writable External Objects
Two-Way Integration with Writable External ObjectsTwo-Way Integration with Writable External Objects
Two-Way Integration with Writable External ObjectsSalesforce Developers
 
Lwc presentation
Lwc presentationLwc presentation
Lwc presentationNithesh N
 
Introduction to lightning Web Component
Introduction to lightning Web ComponentIntroduction to lightning Web Component
Introduction to lightning Web ComponentMohith Shrivastava
 
Lightning Web Component in Salesforce
Lightning Web Component in SalesforceLightning Web Component in Salesforce
Lightning Web Component in SalesforceJitendra Zaa
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionSalesforce Developers
 
Sales Cloud Lightning Migration Best Practices
Sales Cloud Lightning Migration Best PracticesSales Cloud Lightning Migration Best Practices
Sales Cloud Lightning Migration Best PracticesSalesforce Partners
 
Introduction to the Salesforce Security Model
Introduction to the Salesforce Security ModelIntroduction to the Salesforce Security Model
Introduction to the Salesforce Security ModelSalesforce Developers
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and TestingSalesforce Developers
 
Lightning web components
Lightning web components Lightning web components
Lightning web components Cloud Analogy
 
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...Eva Mave Ng
 
Salesforce Integration
Salesforce IntegrationSalesforce Integration
Salesforce IntegrationJoshua Hoskins
 
Apex Code Analysis Using the Tooling API and Canvas
Apex Code Analysis Using the Tooling API and CanvasApex Code Analysis Using the Tooling API and Canvas
Apex Code Analysis Using the Tooling API and CanvasSalesforce Developers
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilitySalesforce Developers
 
Deep dive into Salesforce Connected App
Deep dive into Salesforce Connected AppDeep dive into Salesforce Connected App
Deep dive into Salesforce Connected AppDhanik Sahni
 

What's hot (20)

Introduction to Force.com Canvas Apps
Introduction to Force.com Canvas AppsIntroduction to Force.com Canvas Apps
Introduction to Force.com Canvas Apps
 
Salesforce REST API
Salesforce  REST API Salesforce  REST API
Salesforce REST API
 
Two-Way Integration with Writable External Objects
Two-Way Integration with Writable External ObjectsTwo-Way Integration with Writable External Objects
Two-Way Integration with Writable External Objects
 
Lwc presentation
Lwc presentationLwc presentation
Lwc presentation
 
Exploring the Salesforce REST API
Exploring the Salesforce REST APIExploring the Salesforce REST API
Exploring the Salesforce REST API
 
Lightning Web Component - LWC
Lightning Web Component - LWCLightning Web Component - LWC
Lightning Web Component - LWC
 
Salesforce Lightning workshop
Salesforce Lightning workshopSalesforce Lightning workshop
Salesforce Lightning workshop
 
Introduction to lightning Web Component
Introduction to lightning Web ComponentIntroduction to lightning Web Component
Introduction to lightning Web Component
 
Lightning Web Component in Salesforce
Lightning Web Component in SalesforceLightning Web Component in Salesforce
Lightning Web Component in Salesforce
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
 
Architect day 20181128 - Afternoon Session
Architect day 20181128 - Afternoon SessionArchitect day 20181128 - Afternoon Session
Architect day 20181128 - Afternoon Session
 
Sales Cloud Lightning Migration Best Practices
Sales Cloud Lightning Migration Best PracticesSales Cloud Lightning Migration Best Practices
Sales Cloud Lightning Migration Best Practices
 
Introduction to the Salesforce Security Model
Introduction to the Salesforce Security ModelIntroduction to the Salesforce Security Model
Introduction to the Salesforce Security Model
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
 
Lightning web components
Lightning web components Lightning web components
Lightning web components
 
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
 
Salesforce Integration
Salesforce IntegrationSalesforce Integration
Salesforce Integration
 
Apex Code Analysis Using the Tooling API and Canvas
Apex Code Analysis Using the Tooling API and CanvasApex Code Analysis Using the Tooling API and Canvas
Apex Code Analysis Using the Tooling API and Canvas
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
 
Deep dive into Salesforce Connected App
Deep dive into Salesforce Connected AppDeep dive into Salesforce Connected App
Deep dive into Salesforce Connected App
 

Similar to Integration using Salesforce Canvas

Force.com Canvas - Admin-approved, User-approved, and Personal Apps Unlocked
Force.com Canvas - Admin-approved, User-approved, and Personal Apps UnlockedForce.com Canvas - Admin-approved, User-approved, and Personal Apps Unlocked
Force.com Canvas - Admin-approved, User-approved, and Personal Apps UnlockedSalesforce Developers
 
Force.com Canvas: 2 Case Studies and a Roadmap
Force.com Canvas: 2 Case Studies and a RoadmapForce.com Canvas: 2 Case Studies and a Roadmap
Force.com Canvas: 2 Case Studies and a RoadmapSalesforce Developers
 
Surface Your Existing Force.com Canvas App in the Salesforce1 Mobile App
Surface Your Existing Force.com Canvas App in the Salesforce1 Mobile AppSurface Your Existing Force.com Canvas App in the Salesforce1 Mobile App
Surface Your Existing Force.com Canvas App in the Salesforce1 Mobile AppSalesforce Developers
 
m365_slides.pptx
m365_slides.pptxm365_slides.pptx
m365_slides.pptxadewad
 
Force.com Canvas: Salesforce1, SAML, & Apex...Oh My!
Force.com Canvas: Salesforce1, SAML, & Apex...Oh My!Force.com Canvas: Salesforce1, SAML, & Apex...Oh My!
Force.com Canvas: Salesforce1, SAML, & Apex...Oh My!Salesforce Developers
 
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!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!Concetto Labs
 
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!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!Heli Thakkar
 
Salesforce Developer Garage Seattle: Force.com Canvas
Salesforce Developer Garage Seattle: Force.com CanvasSalesforce Developer Garage Seattle: Force.com Canvas
Salesforce Developer Garage Seattle: Force.com CanvasSalesforce Developers
 
Salesforce zoom integration
Salesforce zoom integrationSalesforce zoom integration
Salesforce zoom integrationsampat786
 
Overview of wrap Features in Power Apps.pptx
Overview of wrap Features in Power Apps.pptxOverview of wrap Features in Power Apps.pptx
Overview of wrap Features in Power Apps.pptxConcetto Labs
 
Rits Brown Bag - Salesforce AppExchange
Rits Brown Bag - Salesforce AppExchangeRits Brown Bag - Salesforce AppExchange
Rits Brown Bag - Salesforce AppExchangeRight IT Services
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web appsSuraj Kumar
 
TapCrowd MEAP (mobile enterprise application platform)
TapCrowd MEAP (mobile enterprise application platform)TapCrowd MEAP (mobile enterprise application platform)
TapCrowd MEAP (mobile enterprise application platform)Niko Nelissen
 
Android Marshmallow APIs and Changes
Android Marshmallow APIs and ChangesAndroid Marshmallow APIs and Changes
Android Marshmallow APIs and ChangesMalwinder Singh
 
What are the Best Practices for developing SaaS Applications? | Calidad Infotech
What are the Best Practices for developing SaaS Applications? | Calidad InfotechWhat are the Best Practices for developing SaaS Applications? | Calidad Infotech
What are the Best Practices for developing SaaS Applications? | Calidad InfotechCalidad Infotech
 
Integrating Web Apps with Canvas - Salesforce1 World Tour
Integrating Web Apps with Canvas - Salesforce1 World TourIntegrating Web Apps with Canvas - Salesforce1 World Tour
Integrating Web Apps with Canvas - Salesforce1 World TourRichard Donkin
 

Similar to Integration using Salesforce Canvas (20)

Force.com Canvas - Admin-approved, User-approved, and Personal Apps Unlocked
Force.com Canvas - Admin-approved, User-approved, and Personal Apps UnlockedForce.com Canvas - Admin-approved, User-approved, and Personal Apps Unlocked
Force.com Canvas - Admin-approved, User-approved, and Personal Apps Unlocked
 
Force.com Canvas: 2 Case Studies and a Roadmap
Force.com Canvas: 2 Case Studies and a RoadmapForce.com Canvas: 2 Case Studies and a Roadmap
Force.com Canvas: 2 Case Studies and a Roadmap
 
Surface Your Existing Force.com Canvas App in the Salesforce1 Mobile App
Surface Your Existing Force.com Canvas App in the Salesforce1 Mobile AppSurface Your Existing Force.com Canvas App in the Salesforce1 Mobile App
Surface Your Existing Force.com Canvas App in the Salesforce1 Mobile App
 
m365_slides.pptx
m365_slides.pptxm365_slides.pptx
m365_slides.pptx
 
Force.com Canvas: Salesforce1, SAML, & Apex...Oh My!
Force.com Canvas: Salesforce1, SAML, & Apex...Oh My!Force.com Canvas: Salesforce1, SAML, & Apex...Oh My!
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!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!
 
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!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
Salesforce Developer Garage Seattle: Force.com CanvasSalesforce Developer Garage Seattle: Force.com Canvas
Salesforce Developer Garage Seattle: Force.com Canvas
 
Winter 15 : Salesforce
Winter 15 : SalesforceWinter 15 : Salesforce
Winter 15 : Salesforce
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Salesforce zoom integration
Salesforce zoom integrationSalesforce zoom integration
Salesforce zoom integration
 
Overview of wrap Features in Power Apps.pptx
Overview of wrap Features in Power Apps.pptxOverview of wrap Features in Power Apps.pptx
Overview of wrap Features in Power Apps.pptx
 
Rits Brown Bag - Salesforce AppExchange
Rits Brown Bag - Salesforce AppExchangeRits Brown Bag - Salesforce AppExchange
Rits Brown Bag - Salesforce AppExchange
 
1 + 1 = 3
1 + 1 = 31 + 1 = 3
1 + 1 = 3
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 
Progressive web app
Progressive web appProgressive web app
Progressive web app
 
TapCrowd MEAP (mobile enterprise application platform)
TapCrowd MEAP (mobile enterprise application platform)TapCrowd MEAP (mobile enterprise application platform)
TapCrowd MEAP (mobile enterprise application platform)
 
Android Marshmallow APIs and Changes
Android Marshmallow APIs and ChangesAndroid Marshmallow APIs and Changes
Android Marshmallow APIs and Changes
 
What are the Best Practices for developing SaaS Applications? | Calidad Infotech
What are the Best Practices for developing SaaS Applications? | Calidad InfotechWhat are the Best Practices for developing SaaS Applications? | Calidad Infotech
What are the Best Practices for developing SaaS Applications? | Calidad Infotech
 
Integrating Web Apps with Canvas - Salesforce1 World Tour
Integrating Web Apps with Canvas - Salesforce1 World TourIntegrating Web Apps with Canvas - Salesforce1 World Tour
Integrating Web Apps with Canvas - Salesforce1 World Tour
 

Recently uploaded

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Recently uploaded (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

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.