How can I explain the pricing model for Salesforce Connect?
I am a Salesforce consultant and one of my clients wants to integrate External data sources into their Salesforce org by using Salesforce Connect. How can I explain the pricing model for Salesforce Connect?
In the context of Salesforce, here is how you can explain and even estimate the costs:-
Data volume
The Salesforce Connect would allow you to access and integrate External data sources like databases, ERP systems, etc.
API calls
The Salesforce connect heavily relies on the API calls for fetching band updating the data from the external systems in real-time or near real-time.
Licensing costs
The Salesforce Connect demands a specific license such as Salesforce Connect External Object or even Salesforce Connect OData license for accessing external data sources.
Here is a coding example given in apex which would show how you can use the Salesforce connect External Object to access the data from an external data source:-
// Define an external data source
String externalDataSourceName = ‘MyExternalDataSource’;
Database.SaveResult saveResult = Database.createExternalDataSource(
New ExternalDataSource(
Name = externalDataSourceName,
EndpointUrl = ‘https://example.com/odata’,
Protocol = ‘OData’,
Type = ‘OData4’,
PrincipalType = ‘Anonymous’,
IsWritable = false
)
);
If (saveResult.isSuccess()) {
// Define an external object
String externalObjectName = ‘MyExternalObject’;
Database.SaveResult objSaveResult = Database.createExternalObject(
New ExternalObject(
Name = externalObjectName,
Label = ‘My External Object’,
DataSourceName = externalDataSourceName,
DisplayUrl = ‘https://example.com/odata’,
SearchUrl = ‘https://example.com/odata/search’
)
);
If (objSaveResult.isSuccess()) {
// Access external object data using SOQL query
List externalRecords = [SELECT Id, Name FROM MyExternalObject__x LIMIT 10];
System.debug(externalRecords);
} else {
System.debug(‘Error creating external object: ‘ + objSaveResult.getErrors()[0].getMessage());
}
} else {
System.debug(‘Error creating external data source: ‘ + saveResult.getErrors()[0].getMessage());
}