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
| Property | Default | Purpose |
|---|---|---|
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. |
requiresRecordId | false | Wait for record context before loading — set on record pages so the canvas never renders without its record. |
height | 400px | Minimum container height. |
showBorder | false | Draw a border around the canvas container. |
showFooter | false | Show a last-updated timestamp. |
refreshInterval | 0 | Auto-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:
- It reads the org ID from the org it is running in.
- 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. - 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
| Prerequisite | What it is |
|---|---|
| Component bundle | edgeCanvasRunner (and its edgeMessageHandler dependency) deployed to the org. |
| CSP Trusted Sites | The Edge admin and canvas hosts for your environments, so the Lightning page may fetch from them. |
| Blueprint registration | The org's ID listed under salesforce_environments in your tenant blueprint, mapping it to a Salesforce connection. |
| Tenant OAuth connection | An 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).