Skip to main content

Salesforce embedding

One generic Lightning web component, edgeCanvasRunner, displays every canvas. It is installed once per org; after that, placing a canvas on any record page is a Lightning App Builder operation — drag the component onto the page, set the canvas ID, save.

App Builder properties

PropertyDefaultPurpose
canvasId— (required)Which canvas to render, e.g. rooming-list. Tenant-scoped ids resolve within your tenant; edge__-prefixed ids resolve from the shared platform library.
requiresRecordIdfalseWait for record context before loading — set on record pages so the canvas never renders without its record.
height400pxMinimum container height.
showBorderfalseDraw a border around the canvas container.
showFooterfalseShow a last-updated timestamp.
refreshInterval0Auto-refresh in seconds; 0 disables.

The component targets record pages, app pages, and home pages. On record pages it passes recordId to the canvas automatically, where it is available as the :recordId bind variable.

How the component finds your tenant

The component never hardcodes a tenant or an environment:

  1. It reads the org ID from the org it is running in.
  2. It calls the platform resolve endpoint, which looks the org ID up across tenant blueprints (salesforce_environments[].org_id) and returns the owning tenant, the matching Salesforce environment label, and the correct Edge environment URLs for that org.
  3. All render and action calls then go through the org route, so a sandbox org automatically talks to the staging Edge environment and a production org to production — with no per-page configuration.

This is why the same Lightning page definition can be deployed unchanged to a sandbox and to production.

Org prerequisites

PrerequisiteWhat it is
Component bundleedgeCanvasRunner (and its edgeMessageHandler dependency) deployed to the org.
CSP Trusted SitesThe Edge admin and canvas hosts for your environments, so the Lightning page may fetch from them.
Blueprint registrationThe org's ID listed under salesforce_environments in your tenant blueprint, mapping it to a Salesforce connection.
Tenant OAuth connectionAn active platform connection for the org, used for server-side SOQL.

No Apex beyond a one-line org-ID helper, no Named Credentials, and no per-canvas metadata are required.

Refresh behavior

The component reloads the canvas when the record changes, when a canvas-refresh button inside the canvas is clicked, on the configured refreshInterval, and when other Edge components on the page broadcast a change (for example, after a document is created from another widget).