Amazon Connect Salesforce Integration: Complete Setup Guide 2026
Connect your cloud contact center with Salesforce CRM for screen pops, click-to-dial, and unified customer data
Integrating Amazon Connect with Salesforce creates a powerful unified experience for your agents. When a call comes in, agents instantly see the caller's information, history, and context—eliminating the frustrating "Can you spell your name?" conversations that waste everyone's time.
Why Integrate Amazon Connect with Salesforce?
According to AWS's partner page, the Salesforce integration delivers:
- Screen pops - Customer records automatically display when calls arrive
- Click-to-dial - Initiate calls directly from Salesforce records
- Automatic call logging - Call details saved to Salesforce automatically
- Embedded softphone - Agents work entirely within Salesforce
- Contact attributes - Pass data between systems during calls
Integration Architecture Overview
The integration uses the Amazon Connect CTI Adapter from Salesforce AppExchange. This adapter:
- Embeds the Amazon Connect Contact Control Panel (CCP) in Salesforce
- Uses Salesforce Open CTI to handle telephony events
- Leverages AWS Lambda functions for data lookups
- Connects via Amazon Connect Streams API
Integration Components
┌─────────────────┐ ┌──────────────────┐
│ Salesforce │ │ Amazon Connect │
│ │ │ │
│ ┌───────────┐ │ │ ┌────────────┐ │
│ │CTI Adapter│◄─┼─────┼──│ Streams │ │
│ └───────────┘ │ │ │ API │ │
│ │ │ │ └────────────┘ │
│ ▼ │ │ │ │
│ ┌───────────┐ │ │ ▼ │
│ │ Open CTI │ │ │ ┌────────────┐ │
│ └───────────┘ │ │ │ Lambda │ │
│ │ │ │ (Lookups) │ │
└─────────────────┘ │ └────────────┘ │
└──────────────────┘Prerequisites
Before starting the integration, ensure you have:
- An active Amazon Connect instance (setup guide here)
- Salesforce Enterprise, Unlimited, or Performance edition (CTI requires these)
- Salesforce System Administrator access
- AWS account with appropriate IAM permissions
- At least one Amazon Connect user configured
Step 1: Install the CTI Adapter in Salesforce
The Amazon Connect CTI Adapter is available on the Salesforce AppExchange. As documented in the official installation guide:
- Navigate to the Amazon Connect CTI Adapter on AppExchange
- Click "Get It Now" and log in with your Salesforce credentials
- Select "Install for Admins Only" (recommended for initial setup)
- Wait for installation to complete (usually 5-10 minutes)
- Verify installation under Setup → Installed Packages
Step 2: Configure Salesforce Call Center
After installing the adapter, configure the Salesforce Call Center:
2.1 Import the Call Center Definition
- Go to Setup → Call Centers
- Click "Import"
- Upload the AC_CTI_Adapter.xml file (included with the package)
- Click "Import" to create the call center
2.2 Configure Call Center Settings
Edit the imported call center with these required settings:
Key Configuration Fields
| Field | Value |
|---|---|
| Amazon Connect Instance URL | https://your-instance.my.connect.aws |
| Softphone Height | 550 |
| Softphone Width | 400 |
| Enable Screen Pop | true |
2.3 Add Users to Call Center
- In Call Center setup, click "Manage Call Center Users"
- Click "Add More Users"
- Search and select agents who will use Amazon Connect
- Click "Add to Call Center"
Step 3: Configure Amazon Connect for Salesforce
3.1 Whitelist Salesforce Domain
Amazon Connect requires approved origins for the embedded CCP. In the AWS documentation:
- Go to Amazon Connect console → Your instance → Application integration
- Under "Approved origins", click "Add origin"
- Add your Salesforce domain:
https://your-org.lightning.force.com - Also add:
https://your-org.my.salesforce.com
3.2 Create an Amazon Connect User
Ensure each Salesforce user has a corresponding Amazon Connect user with matching email addresses for single sign-on to work properly.
Step 4: Set Up Screen Pops with Lambda
Screen pops require a Lambda function to look up callers in Salesforce. This is the most powerful part of the integration.
4.1 Create the Lambda Function
AWS provides a sample function in their GitHub repository:
Sample Lambda Function (Python)
import json
import boto3
from simple_salesforce import Salesforce
def lambda_handler(event, context):
# Get caller phone number from Amazon Connect
phone = event['Details']['ContactData']['CustomerEndpoint']['Address']
# Connect to Salesforce
sf = Salesforce(
username=os.environ['SF_USERNAME'],
password=os.environ['SF_PASSWORD'],
security_token=os.environ['SF_TOKEN']
)
# Query for contact by phone
query = f"""
SELECT Id, Name, Email, AccountId, Account.Name
FROM Contact
WHERE Phone = '{phone}' OR MobilePhone = '{phone}'
LIMIT 1
"""
result = sf.query(query)
if result['totalSize'] > 0:
contact = result['records'][0]
return {
'ContactId': contact['Id'],
'ContactName': contact['Name'],
'AccountName': contact.get('Account', {}).get('Name', ''),
'CustomerFound': 'true'
}
return {'CustomerFound': 'false'}4.2 Add Lambda to Contact Flow
In your Amazon Connect contact flow:
- Add an "Invoke AWS Lambda function" block
- Select your Salesforce lookup function
- Use "Set contact attributes" to store the returned values
- Pass these attributes to the CTI adapter for screen pops
Step 5: Configure Click-to-Dial
Click-to-dial allows agents to initiate calls directly from Salesforce records:
5.1 Enable Phone Fields as Dialable
- Go to Setup → Object Manager → Contact (or relevant object)
- Select "Page Layouts"
- Edit your layout
- For phone fields, enable "Call" action in field properties
5.2 Configure Softphone Layout
- Go to Setup → Softphone Layouts
- Create a new layout or edit default
- Configure which objects display for inbound/outbound calls
- Set screen pop behavior (new tab, existing tab, etc.)
Step 6: Enable Automatic Call Logging
The CTI adapter can automatically create Activity records for each call:
Call Log Configuration
- Task Creation: Automatic or manual
- Subject Format: Call - {Direction} - {Duration}
- Related To: Account or Contact from screen pop
- Call Recording Link: Optional attachment to task
Testing Your Integration
Test Checklist
- Softphone loads - CCP appears in Salesforce utility bar
- Agent can log in - Status changes to Available
- Inbound screen pop works - Known caller triggers record display
- Click-to-dial works - Clicking phone number initiates call
- Call logging works - Activity created after call ends
Common Issues and Solutions
Softphone Not Loading
- Verify Salesforce domain is whitelisted in Amazon Connect
- Check browser console for CORS errors
- Ensure user is added to the Call Center
- Clear browser cache and cookies
Screen Pops Not Working
- Verify Lambda function is returning correct attributes
- Check contact flow is invoking Lambda before queue
- Confirm Salesforce user has access to the records
- Test Lambda function independently in AWS console
Click-to-Dial Not Initiating Calls
- Verify agent is logged into the softphone
- Check that phone fields are configured as dialable
- Ensure Softphone Layout is assigned to user profile
Advanced Configuration Options
Case Creation on Call
Automatically create a Case when calls come in for high-priority customers or specific queues. Configure this in the CTI Adapter settings or via custom Lambda logic.
Custom Screen Pop Logic
Use contact attributes to control screen pop behavior:
- Pop to Account for billing inquiries
- Pop to most recent Case for support calls
- Pop to Lead for sales queue calls
Omni-Channel Integration
Combine Amazon Connect with Salesforce Omni-Channel for unified routing of calls, chats, emails, and cases to the same agent pool.
Need Salesforce CTI Integration Done Right?
Salesforce-Amazon Connect integration can get complex quickly. We've delivered CTI integrations for enterprise contact centers and know how to avoid the common pitfalls.
18+ years enterprise experience including Salesforce Service Cloud integrations for ASX-listed companies.
Book Salesforce Integration ConsultationIntegration ROI
Organizations typically see significant returns from this integration:
- Reduced handle time: Agents don't spend time searching for records
- Improved customer experience: Personalized service from first hello
- Better data quality: Automatic logging ensures complete records
- Higher agent satisfaction: Single interface reduces tool switching