Introducing 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. Then take your new or existing
applications and make them available to your users as part of their
Salesforce experience.
Instead of redesigning and reintegrating your external applications, you can now use these tools to integrate your technology within Canvas. Canvas includes tools that handle:
- Authentication—If your application requires authorization, you can implement it by using a signed request or OAuth 2.0.
- Context—API support that enables you to retrieve context information about the environment in which the canvas app is running.
- Cross-domain XHR—JavaScript support for cross-domain XML HTTP requests back to the Salesforce domain.
- Resizing—Methods that support the ability to resize your canvas app.
- Events—Events provide a JavaScript-based way to send and receive events between canvas apps. Use events to enable communication between multiple canvas apps on a single page.
- Canvas Apps in Aura—An Aura component that lets you expose your canvas app in a custom Aura component.
- Canvas Apps in Visualforce—A Visualforce component that lets you expose your canvas app on a Visualforce page.
- Canvas Apps in the Publisher—Lets you add a canvas app as a custom action and expand the publisher to include a canvas app.
- Canvas Apps in the Chatter Feed—Lets you expose your canvas apps as feed items.
- Canvas in the Salesforce Mobile App—Makes your canvas apps available in the Salesforce mobile app.
The third-party app that you want to expose as a Canvas app can be written in any language. The only requirement is that the app has a secure URL (HTTPS).
Other Integration Options
Before diving into Canvas, consider these other options for integrating
a third-party application in Salesforce:
- Web tabs
- Canvas apps present third-party applications as part of a page. Web tabs can present a full application in a large screen space.
- HTML iframes in a custom component
- Canvas apps provide greater functionality than developing with iframes. Iframes are sometimes easier to integrate with your application.