Deploying the Iframe LWC Component to Salesforce
What is the Iframe LWC Component?
The &money EngageMe iframe Lightning Web Component (LWC) is a powerful integration tool that embeds BookMe’s meeting booking functionality directly within Salesforce Lightning pages. For a complete overview of embeddable components and their capabilities, see the Embeddable UI Documentation.
This component enables users to:
- Schedule meetings without leaving Salesforce
- View and manage appointments in context with customer records
- Automate meeting workflows integrated with Salesforce data
- Provide self-service booking to customers through customer portals
- Customize the booking experience with configurable themes and workflows
The component acts as a seamless bridge between Salesforce CRM data and BookMe’s scheduling platform, allowing organizations to leverage their existing customer data while providing advanced booking capabilities.
Overview
The BookMe Management UI provides a streamlined deployment feature that allows administrators to automatically push this iframe Lightning Web Component directly to their connected Salesforce organization. This eliminates the need for manual deployment through Salesforce CLI or other developer tools.
Prerequisites
Before deploying the iframe component, ensure you have:
- Configured Salesforce Domain: Your Salesforce organization’s domain must be properly configured in the Management UI
- Established Salesforce org connection: The connection between BookMe and Salesforce must be provisioned and tested successfully
- Administrator Access: You need appropriate permissions in both the Management UI and Salesforce
- User Access Configuration: Bank employees who will use the iframe must have proper access configured. See Embeddable UI Access Requirements for an overview
Deployment Process
Step 1: Setup Salesforce Connection
Before deploying the component, you must establish a secure connection between BookMe and your Salesforce organization. Follow the comprehensive instructions in the Salesforce Connection Setup guide which covers:
- Configuring the External Client App in Salesforce
- Setting up the Salesforce domain in the Management UI
- Testing and provisioning the connection
- Verifying the authentication flow
Once your connection is successfully established and tested, proceed to deploy the component.
Step 2: Deploy the Portal Component
- Navigate to Admin → CRM → Configuration in the Management UI
- Locate the &money EngageMe Components section
- Click the “Deploy Portal” button
- The deployment process will:
- Package the iframe LWC component
- Authenticate with your Salesforce org using the provisioned connection
- Deploy the component to Salesforce
- Poll for deployment status
Step 3: Verify Deployment
After successful deployment, you should receive a success notification: "Portal deployed successfully"
To verify in Salesforce:
- Log into your Salesforce organization
- Navigate to Setup → Lightning Components
- Look for the deployed Portal component
- The component will be available for use on Lightning pages
Component Structure
The deployed component includes:
Portal Component (c-portal)
The main iframe container component that:
- Accepts configuration through the
configOverrideAPI property - Handles postMessage communication with the embedded iframe
- Dynamically adjusts height based on content
- Supports all configuration options documented in the Iframe LWC Configuration guide
Deployment Contents
- Lightning Web Component bundle
- Component metadata configuration
- Security permissions
- Event handlers for iframe communication
Using the Deployed Component
Once deployed, the component can be used in two ways:
1. Direct Usage
Add the Portal component directly to Lightning pages:
<c-portal
src="https://your-booking-platform.com"
record-id={recordId}
object-api-name={objectApiName}>
</c-portal>
2. Creating Custom Wrappers
Create wrapper components with preset configurations:
// customBookingWrapper.js
import { LightningElement, api } from 'lwc';
export default class CustomBookingWrapper extends LightningElement {
@api recordId;
@api objectApiName;
get portalConfig() {
return {
recordid: this.recordId,
meetingtitle: 'Customer Meeting',
disableheaders: true,
customflow: 'withtheme'
};
}
}
<!-- customBookingWrapper.html -->
<template>
<c-portal
src="https://booking.platform.com"
record-id={recordId}
object-api-name={objectApiName}
config-override={portalConfig}>
</c-portal>
</template>
Related Documentation
- Salesforce Connection Setup - Detailed guide for establishing the BookMe-Salesforce connection
- Salesforce Iframe LWC Configuration - Configuration options for the deployed iframe component
- Salesforce BookMe Integration Setup - Complete Salesforce package installation and metadata configuration
- CRM Integration Security - Security architecture and considerations