
Introduction
Legacy systems aren’t going anywhere anytime soon. Many organizations still depend on decades-old ERPs, mainframes, or custom-built platforms. But as companies modernize, integrating these old systems with platforms like Salesforce becomes essential. That’s where Salesforce Connected Apps come in.
A connected app acts like a secure gateway, allowing your legacy system to talk to Salesforce using APIs, secure tokens, and OAuth flows.
Understanding Connected Apps
What Is a Salesforce Connected App?
A Connected App is a configurable framework in Salesforce that allows external applications—including legacy systems—to securely access Salesforce data.
It provides:
Authentication
Authorization
Secure token management
API access permissions
Key Features of a Connected App
OAuth 2.0 authentication
Scoped access
API access control
Token refresh
Why Connected Apps Are Best for Legacy Integrations
Legacy systems often lack modern authentication. A Connected App simplifies this by providing secure credentials and token-based access compatible even with older platforms.
Types of Communication Methods for Legacy Systems
REST API
Lightweight, modern, perfect for most systems.
Learn more: Salesforce REST API
SOAP API
Ideal for XML-based older systems.
Learn more: Salesforce SOAP API
OAuth 2.0 Authentication Flow
The backbone of secure communication between legacy systems and Salesforce.
Details here: OAuth 2.0 Salesforce
Preparing the Legacy System for Integration
Requirements
Ability to make HTTPS calls
Store access tokens
JSON/XML support
Secure Token Handling
Tokens must be encrypted or stored securely.
Network & Firewall
Salesforce IPs may need whitelisting.
Reference: Salesforce IP Ranges
Step-by-Step Guide to Creating a Connected App
Enabling OAuth Settings
This generates keys for authentication.
Selecting OAuth Scopes
Common scopes:
API
Refresh Token
Full Access
Scopes list: Salesforce OAuth Scopes
Callback URL
Legacy systems using Username-Password flow may use a dummy callback URL.
Managing Consumer Key & Secret
These work like credentials and must be kept secure.
Authentication Flows for Legacy Systems
Username-Password OAuth Flow
Best for systems without UI.
Guide: OAuth Username-Password Flow
JWT Bearer Flow
More secure; requires certificates.
Guide: OAuth JWT Flow
Web Server Flow
Used when there’s a user login/UI.
Which Flow Is Best?
Most legacy integrations use:
Username-Password Flow
JWT Flow (if certificates supported)
How Data Travels Between Legacy System and Salesforce
Request → Authentication → Response flow:
Legacy → Token → API Request → Salesforce → Data Returned
Access Tokens
Tokens expire over time.
Refresh Tokens
Useful for long-running integrations.
Learn more: Salesforce Token Lifecycle
Using REST API in Legacy Systems
Example:
GET /services/data/v62.0/sobjects/Account HTTP/1.1 Authorization: Bearer <access_token>
Response comes in JSON.
Using SOAP API in Legacy Systems
SOAP uses WSDL & XML.
WSDL reference: Salesforce WSDL
Use SOAP When:
System uses XML
Complex transactions
Strict message structure required
Security Best Practices
IP restrictions
Short token expiry
Protect consumer keys
TLS 1.2+ required
Salesforce security guide: Salesforce Security Guide
Common Challenges & Solutions
Token Expiry: Use refresh tokens
Legacy TLS Issues: Upgrade to TLS 1.2
Slow Processing: Use batch APIs
Batch API info: Salesforce Bulk API
Real-World Integration Flow
Legacy system → Token request → Salesforce → Token → API operation → Response
Future-Proofing Legacy Integrations
Middleware
Tools like MuleSoft, Boomi, Workato help modernize integrations.
Event-Driven Architecture
Use Platform Events for near real-time communication.
Conclusion
Connecting legacy systems to Salesforce using a Connected App is secure, scalable, and reliable. OAuth flows, REST/SOAP APIs, and token-based authentication make even the oldest systems capable of modern communication.
FAQs
1. Can any legacy system integrate with Salesforce?
Yes, if it supports HTTPS and token handling.
2. Best OAuth flow for old systems?
Username-Password Flow.
3. What if JSON isn’t supported?
Use SOAP API.
4. Is a Connected App required?
Yes, for external secure access.
5. Can these integrations be automated?
Yes — scheduled jobs can run API calls.
Ready to transform your Salesforce experience?
Start exploring the Salesforce Exchange today and discover apps that can take your CRM efficiency to the next level.