Skip to content
Lightning Web Components Developer Guide (lwc)
- Content Security Policy Overview
- Stricter CSP Restrictions
- How Lightning Web Security Compares to Lightning Locker
- Get Started with Security for Lightning Components
- Release Notes
- JavaScript Strict Mode Enforcement
- Select the Locker API Version for an Org
- Lightning Locker API Viewer Overview
- Arrays Proxied When Passed to Child Components
- Benchmark Lightning Locker Effect on JavaScript Code
- Evaluate JavaScript Code Compatibility with Lightning Locker
- Locker Console Overview
- Third-Party Web Components With Lightning Locker
- Disable Lightning Locker for an Aura Component
- DOM Access Containment
- Secure Wrappers
- Lightning Locker
- Access to Supported JavaScript API Framework Methods
- eval() Function Is Limited by Lightning Locker
- MIME Types Permitted
- How Lightning Locker Uses the Proxy Object
- querySelector APIs Running With Lightning Locker
- Restricted Access to Salesforce Global Variables
- Lightning Locker Tools
- Lightning Locker Disabled for Unsupported Browsers
- What Does Lightning Locker Affect?
- Components Fail to Load with a Commented-Out Import
- Third-Party Analytics Libraries Blocked by Lightning Web Security
- How Lightning Web Security Works
- Static Resources with async Functions Behave Inconsistently
- Aura Endpoints Disallowed by Lightning Web Security
- Use Blob Objects for Download Links
- Build Components to Work with Lightning Web Security
- Delayed Enabling or Disabling of Lightning Web Security
- Local Development with LWS CLI
- Cloned Objects Behavior Differently in LWS Compared to Lightning Locker
- Determine if Lightning Web Security Affects Your Org
- Debug with Distortions Disabled
- Limitations for Debugging with Lightning Web Security Enabled
- Debug with Lightning Web Security Enabled
- Enable and Disable Lightning Web Security in Scratch Orgs
- Enable Lightning Web Security in an Org
- Access to iframe Content in Lightning Web Security
- Lightning Web Security
- Determine if Lightning Web Security is Enabled
- Third-Party Library Considerations for Lightning Web Security
- Lightning Web Security Limitations
- Experience Builder Sites and Lightning Web Security
- Local Storage Limitations
- Avoid Using Map Objects
- Specify a MIME Type for Blob Objects in Lightning Web Security
- Avoid Mutating Objects
- Understand How LWS Architecture Affects Component Performance
- Programmatic Click to Open Same-Origin URLs
- Objects Passed Between Components Are Proxied
- Considerations Before Using LWS-Only Features
- Salesforce Global Variables Blocked by Lightning Web Security
- Disable Sanitization
- HTML Allowlist for Lightning Web Security
- How Lightning Web Security Sanitizes Static Resources in SVG Elements
- SVG Allowlist for Lightning Web Security
- Lightning Web Security Sanitization
- Script Tags Transformed to Fetch Calls
- Avoid Custom Properties on Standard JavaScript Objects
- Workflow to Test Your Components with Lightning Web Security
- Evaluate JavaScript in Lightning Web Security Console
- Look Up Distortion Details in Lightning Web Security Distortion Viewer
- Install ESLint Rules for Lightning Web Security
- Tools for Lightning Web Security
- Troubleshoot Issues Related to Lightning Web Security
- Properties Evaluate as undefined in Lightning Web Security
- URL Protocol Schemes Allowed
- When to Enable Lightning Web Security
- Use Skills for LWC Development
- Use Agentforce Vibes for LWC Development
- Batching of Apex Actions
- Call Apex Methods Imperatively
- Work with a Continuation in an Apex Class
- @AuraEnabled Annotations for Continuations
- Continuation Example
- Continuation Limits
- Make Long-Running Callouts with Continuations
- Handle Errors from Apex
- Expose Apex Methods to Lightning Web Components
- Import Apex Methods
- Client-Side Caching of Apex Method Results
- Import Objects and Fields from @salesforce/schema
- Secure Apex Classes
- Wire Apex Methods to Lightning Web Components
- Call Apex Methods
- Base Components Accessibility
- Base Components Categories
- Pass Configuration and Data to a Base Component
- Base Component Composition
- Base Components Considerations
- Supported App Containers for Base Components
- Handle Events on Base Components
- Base Components Minimum API Version
- Work with Lightning Base Components
- Use a Base Component with Global Attributes
- Base Components Usage Patterns
- Pass Markup to a Base Component Slot
- Access Client Form Factor
- Get Information About the Current Experience Builder Site
- Component Accessibility Attributes
- Component Accessibility
- Compose Components Using Slots Vs Data
- Bind HTML Classes
- Composition
- Compose Components
- Set Properties on Child Components
- Data Flow
- Define a Component
- Access Elements the Component Owns
- Handle Focus
- Component Folder
- Best Practices
- HTML Syntax Compatibility
- Considerations and Limitations
- Common Error Messages
- Example: Render Lists with Template Expressions
- Example: Handle User Input with Complex Expressions
- Additional Usage Examples
- Supported Expression Types
- Use Complex Expressions to Compute Values
- Template Expressions
- Component HTML File
- Use HTML Templates
- HTML Templates
- Create Lightning Web Components
- Additional JavaScript Files
- Component JavaScript File
- Component Configuration File
- Component Namespaces
- Pass Markup into Slots
- Add Event Listeners Dynamically on Children
- Spread Properties on Child Components
- Bind Inline Styles
- Component SVG Icon
- Component Tests
- View Component Dependencies
- Render DOM Elements Conditionally
- Access Content Asset Files
- Work with the DOM
- Synthetic Shadow
- Shadow DOM
- Check Permissions
- Access Static Resources, Labels, Internationalization Properties, User IDs, and Form Factors
- Access Internationalization Properties
- Call Methods on Child Components
- Access Labels
- Run Code When a Component Is Created
- Run Code When a Component Is Inserted or Removed from the DOM
- Handle Component Errors
- Conditionally Render a Template
- Run Code When a Component Renders
- Lifecycle Hooks
- Light DOM
- Render Lists
- Build Components in Mixed Shadow Mode (Beta)
- Render Multiple Templates
- Access Static Resources
- Work with Custom Elements
- Use Third-Party Web Components in LWC
- Third-Party Web Components
- Pass Data to a Custom Element
- Append Styles to a Custom Element
- Salesforce Releases and LWC API Versions
- Changes in LWC Framework that Affect Component Behavior
- Version Lightning Web Components
- Versioning Considerations
- Upgrade a Component's API Version
- Anti-Patterns for Styling Components
- Use Custom Aura Tokens
- Style Components Using Lightning Design System Styling Hooks
- Use Lightning Design System Design Tokens (Deprecated)
- Component CSS File
- Style a Component
- Share CSS Style Rules
- Create a Component from an SLDS Blueprint
- Style Components with Lightning Design System
- Compare Salesforce Lightning Design System Versions
- Create Styling Hooks for Your Components
- Use Lightning Base Component Design Variations
- Style Components with CSS Stylesheets
- Get Information About the Current User
- Mobile-Ready Components
- TypeScript Type Definitions for LWC (Developer Preview)
- Call APIs from Apex
- Usage Considerations for Working with Records
- Create a Record
- Change the Form Display Density
- Edit a Record
- Work with Errors
- Handle Errors in Lightning Data Service
- Work with Records Using Base Components
- Compare Base Components
- Data Guidelines
- Load a Record
- Build Custom UI to Create and Edit Records
- Datatable Accessibility
- Edit Template Example for Custom Data Types
- Make a Custom Data Type Editable
- Dispatch a Custom Event From a Custom Data Type
- Customize Data Type Layout and Styles
- Create a Custom Data Type for lightning-datatable
- Display Data in a Table with Inline Editing
- Display Record Data in a Table
- Improve Datatable Performance
- Create a Hierarchical Table of Record Data
- Compare lightning-datatable and lightning-tree-grid for Data Display
- Lightning Data Service
- Use the Wire Service with Base Components
- Get Record Data
- Understand the Wire Service
- Use the Wire Service to Get Data
- Work with Salesforce Data
- Use RefreshView API
- Considerations for Using RefreshView API
- RefreshView API Example
- RefreshView API User Experience
- Refresh Component Data with RefreshView API
- Create a Custom Data Type for lightning-tree-grid
- Debug Mode
- Debug Using Chrome DevTools
- Disable Caching During Development
- Execution Modes for Lightning Components
- HTTP Caching for Custom Components
- Debug Lightning Web Components
- Debug Components in an Org with LWS Enabled
- Debug Mobile Components
- Enable Debug Mode in Salesforce
- Production Mode
- Debug Wire Adapters
- Events Best Practices
- Create and Dispatch Events
- Dynamic Event Listeners Considerations
- Handle Events
- Configure Event Propagation
- Communicate Across the DOM
- Send Events to an Enclosing Aura Component
- Communicate with Events
- API End-of-Life Policy
- API Versioning
- Best Practices for Development with Lightning Web Components
- Install the Salesforce CLI
- Lightning Component Library
- Set Up an Editor, Linter, and Org
- Get Started with Lightning Web Components
- How to Choose Lightning Web Components or Aura
- Get Started Coding
- Lightning Web Components: Open Source
- Lightning Web Components Release Notes
- Develop in Non-Scratch Orgs
- Hello World in a Scratch Org
- Develop in Scratch Orgs
- Develop with Salesforce DX Tools
- Supported Salesforce APIs
- Supported Browsers
- Supported Salesforce Targets and Tools
- Supported JavaScript
- Run a Live Component Preview
- Deploy Using Your Own Tools
- Develop Mobile Components
- Explore Trailhead and Sample Code
- Set Up Your Development Environment
- Compose Aura Components from Lightning Web Components
- Lightning Web Components and Aura Components Working Together
- Share JavaScript Code Between LWC and Aura
- Boolean Properties
- Bind Data in a Template
- Manage Attribute Dependencies in a Getter
- Use Getters and Setters to Modify Data
- Reflect JavaScript Properties to HTML Attributes
- Fields, Properties, and Attributes
- LightningElement Class Properties
- Property and Attribute Names
- Call APIs from JavaScript
- Dynamically Instantiate Components
- JavaScript
- Share JavaScript Code
- Determine Whether a JavaScript Library Is Locker-Compliant
- Use Third-Party JavaScript Libraries
- LWS-Compliant JavaScript Libraries
- Web API Properties
- Understand Lightning Out 2.0 Architecture
- Authentication from Lightning Out (Beta)
- How Lightning Out 2.0 Compares to Lightning Out (Beta)
- Set Component Styles and Properties in a Lightning Out 2.0 App
- Lightning Out (Beta) Considerations and Limitations
- Lightning Out (Beta) Dependencies
- Handle Lightning Out 2.0 App Events
- Use Components Outside Salesforce with Lightning Out 2.0
- Lightning Out 2.0 Limitations
- Lightning Out (Beta) Markup
- Share Lightning Out (Beta) Apps with Unauthenticated Users
- Lightning Out (Beta) Requirements
- Enable Browser Third-Party Cookies for Lightning Out (Beta)
- Use Components Outside Salesforce with Lightning Out (Beta)
- Use the Aura-to-LWC Migration Tools (Beta)
- Use the Lightning Base Components MCP Tools (Beta)
- LWC MCP Tools Usage Considerations
- Use the Figma to LWC Conversion Tool (Beta)
- Use DX MCP Tools for LWC (Beta)
- Use the Lightning Data Service MCP Tools (Beta)
- Use the LWC Development MCP Tools (Beta)
- Use the Migration Verification Tools (Beta)
- LWC MCP Tools Reference (Beta)
- Use the Lightning Web Security (LWS) MCP Tools (Beta)
- Use the SLDS Guideline Tool (Beta)
- Use LWC Testing MCP Tools (Beta)
- Use the Validation MCP Tools (Developer Preview)
- Migrate Access Controls
- Migrate Apex
- Migrate Attributes
- Migrate Base Components
- Migrate Component Bundle Files
- Migrate Conditionals
- Migrate CSS
- Data Binding Behavior Differences With Aura
- Pick a Component to Migrate
- Migrate Event Handlers
- Migrate Events
- Migrate Expressions
- Migrate Facets
- Migrate Global Value Providers
- Migrate Initializers
- Migrate Interfaces
- Migrate Aura Components to Lightning Web Components
- Migrate Iterations
- Migrate JavaScript
- LWC Migration for Record Home Pages
- Base Components: Aura Vs Lightning Web Components
- Base Components: Migrate ui components
- Migrate Markup
- Migrate Quick Actions
- Migrate Registered Events
- Migration Strategy
- Enable CDN to Load Applications Faster
- Improve Performance
- Enable Secure Browser Caching
- Reactivity for Fields, Objects, and Arrays
- Public Properties
- Reactivity
- createDataConnector
- createDataflowJob
- createDatasetVersion
- createDataset
- createReplicatedDataset
- deleteDataConnector
- deleteDataset
- deleteRecipe
- deleteReplicatedDataset
- deleteWaveFolder
- executeQuery
- ingestDataConnector
- postWaveFolders
- updateDataConnector
- updateDataflowJob
- updateDatasetVersion
- updateDataset
- updatePartialWaveFolder
- updateRecipeNotification
- updateRecipe
- updateReplicatedFields
- updateReplicatedDataset
- updateSchedule
- updateWaveFolder
- updateXmd
- validateWaveTemplate
- CRM Analytics for LWC
- lightning/analyticsWaveApi Wire Adapters and Functions
- AppReviewService Data Types
- getAppReviewService()
- isAvailable()
- requestAppReview()
- AppReviewService API
- beginCapture(options) (Legacy)
- BarcodeScanner Constants
- BarcodeScanner Data Types
- dismiss()
- endCapture() (Legacy)
- getBarcodeScanner()
- isAvailable()
- resumeCapture() (Legacy)
- scan(options)
- BarcodeScanner API
- checkUserIsDeviceOwner(options)
- BiometricsService Constants
- BiometricsService Data Types
- getBiometricsService
- isAvailable()
- isBiometricsReady(options)
- BiometricsService API
- addEvent(event, options)
- CalendarService Constants
- CalendarService Data Types
- getCalendarService()
- getCalendars(options)
- getEvents(startDateSecondsUTC, endDateSecondsUTC, calendars?, options)
- isAvailable()
- removeEvent(event, options)
- updateEvent(updatedEvent, options)
- CalendarService API
- Commerce Cloud for LWC
- lightning/commerceCartApi Module
- createCart(cartInput)
- deleteCart(cartInput)
- lightning/commerceRegisterGuestBuyerApi Module
- registerGuestBuyer(guestBuyerInput)
- lightning/commerceRepricingApi Module
- productDetails
- searchProducts
- ContactsService Data Types
- getContactsService()
- getContacts(options)
- isAvailable()
- ContactsService API
- lightning/distributedMarketing Module
- openDistributedMarketing(config)
- DocumentScanner Constants
- DocumentScanner Data Types
- Entity Extraction
- getDocumentScanner()
- isAvailable()
- scan(options)
- DocumentScanner API
- GeofencingService Data Types
- getMonitoredGeofences
- getGeofencingService()
- isAvailable()
- startMonitoringGeofence()
- stopMonitoringAllGeofences()
- stopMonitoringGeofence()
- GeofencingService API
- GraphQL API Wire Adapter
- executeMutation
- Pagination
- refresh
- Children and Parent Relationships
- graphql
- graphql
- lightning/uiGraphQLApi (v1)
- lightning/graphql Wire Adapter (v2)
- refreshGraphQL(result) (Deprecated)
- HealthService Data Types
- getHealthService()
- getWeight(options)
- isAvailable()
- writeWeight(record)
- HealthService API
- LocationService Data Types
- getLocationService()
- getCurrentPosition(options)
- isAvailable()
- startWatchingPosition(options, callback)
- stopWatchingPosition(watchId)
- LocationService API
- lightning/mobileCapabilities Module
- DocumentScanner Constants
- createTextRecord(payload)
- createUriRecord(payload)
- NFCService Data Types
- erase(options)
- getNFCService()
- isAvailable()
- read(options)
- write(options)
- NFCService API
- collectPayment()
- getSupportedPaymentMethods()
- Payments Service API
- LWC API Modules
- XML Configuration File Elements
- createListInfo
- createRecordInputFilteredByEditedFields(recordInput, originalRecord)
- createRecord(recordInput)
- Decorators
- deleteListInfo
- deleteRecord(recordId)
- HTML Template Directives
- evaluateLearningItem
- experience/blockBuilderApi Module
- experience/cms*Api Wire Adapters and Functions
- experience/cmsDeliveryApi
- experience/cmsEditorApi
- generateRecordInputForCreate(record, objectInfo)
- generateRecordInputForUpdate(record, objectInfo)
- getFieldDisplayValue(record, field)
- getFieldValue(record, field)
- getLayout
- getListInfoByName
- getListInfosByName
- getListInfosByObjectName
- getListObjectInfo
- getListPreferences
- getListRecordsByName
- getListUi (Deprecated)
- getRecordNotifyChange(recordIds) (Deprecated)
- lightning/analyticsSmartDataDiscoveryApi Wire Adapters and Functions
- lightning/cmsDeliveryApi Wire Adapters and Functions (Beta)
- lightning/fileDownload Module
- postBenefitAssignment(benefitAssignmentId, providerId)
- lightning/industriesEducationPublicApi Module
- lightning/uiAppsApi (Beta)
- lightning/uiListApi (Deprecated)
- lightning/uiListsApi
- lightning/uiObjectInfoApi
- lightning/uiRecordApi
- lightning/uiRelatedListApi
- lightning/uiLayoutApi
- lightning/uiLearningPlatformApi
- notifyRecordUpdateAvailable(recordIds)
- Standard Objects That Support List View Multiple-Column Sort
- Standard Objects Support for Record Home Pages
- Standard Objects That Don't Support Related List Multiple-Column Sort
- Salesforce Objects Support in LWC
- PageReference Types
- @salesforce Modules
- Salesforce Objects Supported by lightning/ui*Api Modules
- HTML Template Errors
- lightning/ui*Api Wire Adapters and Functions
- updateListInfoByName
- updateListPreferences
- updateRecord(recordInput, clientOptions)
- Reference
- lightning/refresh Module
- RefreshEvent Properties
- RefreshStatus Constants
- registerRefreshContainer()
- registerRefreshHandler()
- unregisterRefreshContainer()
- unregisterRefreshHandler()
- updateViewStat(articleOrVersionId)
- lightning/serviceKnowledgeApi Module
- lightning/stateManagerLayout
- lightning/stateManagerObjectInfo
- lightning/stateManagerObjectInfos
- lightning/stateManagerRecord
- lightning/stateManagerRelatedListInfo
- lightning/stateManagerRelatedListRecords
- lightning/stateManagerRelatedListsInfo
- Best Practices for State Manager Design
- Example: Use a Built-in State Manager
- Use lightning/stateManager* State Managers
- lightning/stateManager* State Managers
- lightning__ECSFSApp Target
- lightning__AgentforceInput Target
- lightning__AgentforceOutput Target
- lightning__AppPage Target
- lightningCommunity__Default Target
- lightningCommunity__Page_Layout Target
- lightningCommunity__Page Target
- lightningCommunity__Theme_Layout Target
- lightning__EnablementProgram Target
- lightning__FlowAction Target
- lightning__FlowScreen Target
- lightning__GlobalAction Target
- lightning__HomePage Target
- lightning__Inbox Target
- lightning__PropertyEditor Target
- lightning__RecordAction Target
- lightning__RecordPage Target
- lightningStatic__Email Target
- lightning__UrlAddressable Target
- lightning__UtilityBar Target
- lightning__VoiceExtension Target
- getRecordCreateDefaults
- getContent
- getContents
- getContent
- getContext
- updateContent
- generateUrl
- getActions
- getAnalyticsLimits
- getCurrentSelectedBlock
- getDataConnectorSourceFields
- getDataConnectorSourceObjectDataPreviewWithFields
- getDataConnectorSourceObject
- getDataConnectorStatus
- getDataConnectorTypes
- getDataConnector
- getDataConnectors
- getDataflowJobNode
- getDataflowJobNodes
- getDataflowJob
- getDataflowJobs
- getDataflows
- getDatasetVersion
- getDatasetVersions
- getDataset
- getDatasets
- getDependencies
- getNavItems (Beta)
- getRecipeNotification
- getRecipe
- getRecipes
- getRelatedListCount
- getRelatedListInfoBatch
- getRelatedListInfo
- getRelatedListRecordsBatch
- getRelatedListRecords
- getRelatedListsInfo
- getReplicatedDataset
- getReplicatedDatasets
- getReplicatedFieldsWithAdvancedProps
- getReplicatedFields
- getSchedule
- getSecurityCoverageDatasetVersion
- getStories
- getWaveFolder
- getWaveFolders
- getWaveTemplateConfig
- getWaveTemplateReleaseNotes
- getWaveTemplate
- getWaveTemplates
- getXmd
- listContent (Beta)
- getObjectInfo
- getObjectInfos
- getPicklistValuesByRecordType
- getPicklistValues
- getRecordUi (Deprecated)
- getRecord
- getRecords
- replaceBlock
- Develop Secure Code
- State Management Compared with Alternatives
- Implement a State Manager
- Syntax Introduction: A Simple Counter
- Define a State Manager
- Share a State Manager Across Components
- Nested State Manager Example
- State Management Examples
- Manage State Across LWC Components with State Managers
- DOM Inspection Tests Are Subject to Change
- Test Lightning Web Components
- Debug Jest Tests Using VS Code Advanced Configuration
- Write Jest Tests for Lightning Web Components
- Debug Jest Tests for Lightning Web Components
- Install sfdx-lwc-jest
- Jest Test Patterns and Mock Dependencies
- Run Jest Tests for Lightning Web Components
- Write Jest Tests for Lightning Web Components That Use the Wire Service
- Lightning Message Service Limitations
- Create a Message Channel
- Publish on a Message Channel
- Define the Scope of the Message Service
- Subscribe and Unsubscribe from a Message Channel
- Communicate Across the DOM with Lightning Message Service
- Configure a Component for CRM Analytics Dashboards
- Lightning App Builder
- Best Practices for Reactivity in Screen Flows
- Custom Tabs
- Add Components as Custom Tabs in a Lightning Experience App
- Configure Components for Custom Tabs
- Tips for Writing AI Component Descriptions
- Configure a Component for Use in Setup with Agentforce
- Configure a Component for Dynamic Interactions in the Lightning App Builder
- Create Components for the Outlook and Gmail Integrations
- Tips for Working with Lightning App Builder
- Configure a Component for Lightning App Builder
- Configure a Component for Experience Builder
- Configure a Component for Lightning Console App
- Configure a Component for the Email Builder
- Considerations for Custom Components
- Create Components for the Pardot Email Content Builder
- Configure a Component for Flow Screens
- Create Components for Forecasts Pages
- Configure a Component for Quick Actions
- Configure a Component for the Utility Bar
- Configure Your Component for Different Form Factors
- Make a Component Aware of Its Context
- Alert Modals
- Confirm Modals
- Modal Windows
- Prompt Modals
- Open Modal Windows and Notifications
- Add Custom HTML To a Component
- Build the UI for a Custom Property Editor
- Considerations and Limitations for Custom Property Types and Editors
- Create a Custom Property Editor
- Create a LightningTypeBundle
- Create a Custom Property Editor or Type for a Custom Component in Experience Builder
- Decide on the Editor for Each Property in the Component
- Decide on the Validation for Each Property in the Component
- Escape Special XML Characters in Default Values
- General Guidelines for Creating a Custom Property Editor
- High-Level Guide to Creating Custom Property Types and Editors
- Link a Custom Property Editor or Property Type to Your Custom Component
- Migrate from ExperiencePropertyTypeBundle to LightningTypeBundle
- Overview: Creating Custom Property Types and Editors
- Experience Cloud Sites
- The Property Editor Contract and Property Sheet
- Reference a Custom Property Editor by Editor Attribute
- Reference a Custom Property Type by Type Attribute
- Standard Definitions for Layouts
- Supported Attributes for the Property Tag in the js-meta.xml File
- Test a Custom Property Type or Editor
- XML Configuration
- Cancel an Asynchronous Request in a Flow Local Action
- Example: Custom Property Editor for an Invocable Action
- Custom Property Editor JavaScript Interface
- Compare a Custom Property Editor to a Standard Property Editor
- Example: SObject Input for Invocable Actions
- Example: Custom Property Editor for a Screen Component
- Example: Generic SObject Input for Invocable Actions
- Example: SObject Collection Input for Invocable Actions
- Example: Generic SObject Input for Screen Components
- Customize Action and Screen Component UI in Flow Builder
- Example: Custom Lightning Web Component to Custom Lightning Web Component
- Example: Custom Lightning Web Component to Standard Flow Component
- Supported Data Types in Flows
- Embed a Flow in a Custom Lightning Web Component
- Control What Happens When a Flow Interview Finishes
- Create and Start a Flow in a Custom Lightning Web Component
- Set Flow Input Variables
- Get Values from Flow Output Variables
- Resume a Flow Interview
- Configure the Javascript Class for a Flow Local Action
- Create Flow Local Actions using Lightning Web Components
- Configure the Component Markup and Design Resource for a Flow Action
- Runtime Considerations for Flow Screen Components
- Build a Flow Screen Component for Multiple Objects
- Control Navigation in Flow Screen Components
- Set Up Your Screen Flow Components for Reactivity
- Display Flow Stages in a Flow Screen Component
- Create Flow Screen Components
- Example: Standard Flow Component to Custom Lightning Web Component
- Example: Standard Flow Component to Standard Flow Component
- Example: Custom Validation for Components in Flows
- Customize Input Validation Errors for Screen Components
- Validation Methods for Screen Components
- Validate Custom Flow Screen Components
- Validate User Input for Custom Flow Screen Components
- Flows
- Use Mobile Device Features
- Add Query Parameters
- Basic Navigation
- Navigate to a Record’s Create Page with Default Field Values
- Navigate From a Modal
- Navigate to Different Page Types
- Quick Action Navigation
- Navigate to a URL-Addressable Component
- Navigate to Pages, Records, and Lists
- Make a Component Aware of Its Object Context
- Open Files
- Add Components to Managed Packages
- Delete Components from Managed Packages
- Use Components From a Managed Package
- Distribute Components on AppExchange
- Create an Email as a Quick Action
- Create Headless Quick Actions
- Create Screen Quick Actions
- Quick Actions
- Make a Component Aware of Its Record Context
- View a List of Lightning Components in Your Org
- Use Components in Standalone Aura Apps
- Use SVG Resources
- Toast Notifications
- Use Components in Visualforce Pages
- Make a Component Width-Aware
- Use Components in Salesforce Targets
- Customize SLDS Validator
- Get Started
- Get Support
- Interpret Your Results
- Overview
- Release Notes
- Scan Your Code with SLDS Validator
- Set Up SLDS Validator
- Work with SLDS Validator
- Get Started with SLDS Linter
- Run SLDS Linter with SLDS AI Development Skills
- Release Notes for SLDS Linter
- Set Up SLDS Linter
- Commands
- Reference
- Rules
- Create Bugs, Feedback, and Feature Requests
- FAQ
- Get Support
- Troubleshoot SLDS Linter
- Autofix Your Code
- Use SLDS Linter with Custom Configuration Files
- Interpret Your Results
- Scan Your Code
- Use SLDS Linter Rules with Salesforce Code Analyzer
- Work With SLDS Linter
- Browser Extension
- Downloads
- Draggable actions
- Find Salesforce Page Objects
- Elements in Frames
- UTAM Generator
- Override generated content
- Generator Rules
- Get Started
- Imperative Extensions
- Guide for Java Developers
- Guide for JavaScript Developers
- Linting
- Mobile Inspector
- Nullable Versus isPresent
- Page Object Load Interception
- Design Page Objects
- Working with slots
- Handle Stale Elements
- Testing Salesforce Applications
- Tools for UTAM
- Tutorials
- What Is UTAM?
- Arguments
- Basic Actions
- beforeLoad
- document, navigation, and window Objects
- Element Filters
- Element Lists
- Element Selectors
- Error Codes
- Explicit Waits
- JSON Grammar
- Imperative Extensions
- Interfaces
- Method Return Types
- Compose Methods
- document, navigation, and window Objects
- Page Object Elements
- Platform Context
- Page Object Root