Watch how to setup in Salesforce and see how it works here.
- Prerequisites
 - Deployment Steps
 - VS Code Deployment (Using Salesforce Extension Pack)
 - Project Components
 - Post-Deployment Configuration
 - Troubleshooting
 - Environment-Specific Deployments
 - Best Practices
 - Quick Deploy Script
 - Support
 - References
 
- Salesforce CLI (latest version)
npm install -g @salesforce/cli
 - Node.js (version 18 or higher)
 - Git (for version control)
 - VS Code with Salesforce Extension Pack (recommended)
 
- Access to a Salesforce org (Production, Sandbox, or Developer Edition)
 - System Administrator permissions
 - API access enabled
 
sf --versionsf org login web --alias prodOrgsf org login web --alias sandboxOrg --instance-url https://test.salesforce.comsf org listsf config set target-org prodOrgBefore deploying, validate your metadata:
sf project deploy validate --source-dir force-appsf project deploy start --source-dir force-app# Deploy only LWC components
sf project deploy start --source-dir force-app/main/default/lwc
# Deploy only static resources
sf project deploy start --source-dir force-app/main/default/staticresourcessf project deploy report- 
Install Salesforce Extension Pack:
- Open VS Code
 - Go to Extensions (Ctrl+Shift+X)
 - Search for "Salesforce Extension Pack"
 - Install the official extension by Salesforce
 
 - 
Open Project in VS Code:
code . 
- Open Command Palette (
Ctrl+Shift+P) - Type: 
SFDX: Authorize an Org - Select your org type:
- Production/Developer: Select "Production"
 - Sandbox: Select "Sandbox"
 
 - Enter org alias (e.g., 
vscodeOrg) - Complete authentication in browser
 
- Command Palette (
Ctrl+Shift+P) - Type: 
SFDX: Set a Default Org - Select your authorized org
 
Option A: Deploy Entire Project
- Right-click on 
force-appfolder - Select 
SFDX: Deploy Source to Org 
Option B: Deploy Specific Components
- Right-click on specific file/folder (e.g., 
lwc/acdVoicemailViewer) - Select 
SFDX: Deploy Source to Org 
Option C: Deploy from Explorer
- Select files in Explorer
 - Right-click → 
SFDX: Deploy Source to Org 
- Check Output panel (View → Output)
 - Select "Salesforce CLI" from dropdown
 - Monitor deployment progress and results
 
| Command | Shortcut | Description | 
|---|---|---|
SFDX: Deploy Source to Org | 
- | Deploy selected metadata | 
SFDX: Retrieve Source from Org | 
- | Pull changes from org | 
SFDX: Create Lightning Web Component | 
- | Generate new LWC | 
SFDX: Execute Anonymous Apex | 
Ctrl+Shift+P | 
Run Apex code | 
SFDX: Open Default Org | 
- | Open org in browser | 
- Bottom-left corner shows current default org
 - Click org name to switch between authorized orgs
 - Green checkmark indicates successful connection
 
This project includes:
- Lightning Web Component: 
acdVoicemailViewer - Static Resource: 
GenesysAuthCallback.html - Metadata: Applications, layouts, permission sets, tabs, etc.
 
Navigate to Setup → Users → Permission Sets and assign relevant permissions to users.
After deploying the component, you need to configure the regional and OAuth settings:
- Navigate to the Lightning App Builder or the page where you've added the 
acdVoicemailViewercomponent - Edit the page and select the ACD Voicemail component
 - In the component properties:
- Set the Region: Configure the appropriate region for your Genesys environment
 - Add Client ID: Enter your Genesys OAuth Client ID
 
 
Finding Your Redirect URI:
- 
Determine Your Org Domain:
- In Salesforce, go to Setup → Company Information
 - Note your "My Domain" URL (e.g., 
mycompany.lightning.force.com) - Or check the URL in your browser when logged into Salesforce
 
 - 
Construct the Redirect URI:
- Format: 
https://[your-org-domain]/resource/GenesysAuthCallback - Production/Developer Org: 
https://mycompany.lightning.force.com/resource/GenesysAuthCallback - Sandbox: 
https://mycompany--sandbox.sandbox.lightning.force.com/resource/GenesysAuthCallback 
 - Format: 
 - 
Verify the Static Resource Path:
- Go to Setup → Static Resources
 - Find 
GenesysAuthCallbackin the list - Click "View" to confirm the resource exists and note the exact name
 
 - 
Configure in Genesys:
- In your Genesys environment, navigate to your OAuth client configuration
 - Under Implicit Grant settings, add the complete redirect URI
 - Example: 
https://mycompany.lightning.force.com/resource/GenesysAuthCallback 
 
Common URI Patterns:
- Production: 
https://[domain].lightning.force.com/resource/GenesysAuthCallback - Sandbox: 
https://[domain]--[sandbox-name].sandbox.lightning.force.com/resource/GenesysAuthCallback - Developer Edition: 
https://[domain].develop.lightning.force.com/resource/GenesysAuthCallback 
Testing the URI:
- Copy the redirect URI and paste it in a browser
 - You should see the GenesysAuthCallback.html page load
 - If you get a 404 error, verify the static resource name and org domain
 
Note: These configuration steps are critical for the component to authenticate properly with Genesys services.
- Go to App Launcher → ACD Voicemail (if application is included)
 - Configure any custom settings or metadata
 
- Navigate to the Lightning App Builder
 - Add the 
acdVoicemailViewercomponent to a page - Test functionality and verify OAuth authentication works
 
No authorization information found for [orgAlias]
Solution: Re-authenticate using sf org login web --alias [orgAlias]
Check deployment status:
sf project deploy report --job-id [deployment-id]Solution: Use --ignore-conflicts flag (use with caution):
sf project deploy start --source-dir force-app --ignore-conflictsIf you need to rollback:
- Use Salesforce Setup → Deployment Status
 - Find your deployment and click "Quick Deploy" on a previous successful deployment
 
sf org login web --alias staging --instance-url https://test.salesforce.com
sf project deploy start --source-dir force-app --target-org stagingsf org login web --alias production
sf project deploy validate --source-dir force-app --target-org production
sf project deploy start --source-dir force-app --target-org production- Always validate before deploying to production
 - Use version control - commit changes before deployment
 - Test in sandbox first
 - Deploy during maintenance windows
 - Keep deployment logs for troubleshooting
 - Use change sets for complex deployments across multiple orgs
 
For convenience, you can use the included deploy.bat file:
deploy.batFor deployment issues:
- Check Salesforce Setup → Deployment Status
 - Review deployment logs
 - Verify user permissions
 - Check component dependencies
 
- Salesforce CLI Setup Guide
 - Salesforce DX Developer Guide
 - Salesforce CLI Command Reference
 - Lightning Web Components Developer Guide
 
Note: This project is configured for sandbox deployment by default (see sfdx-project.json). Update the sfdcLoginUrl if deploying to production.