Integrating with Salesforce be in a Marketing or Customer management context is the norm these days. Salesforce offers a lot of flexibility for information exchange, storage and for capturing events on change
This post lists the interaction patterns we observe with Salesforce, the usage contexts, issues and best-practise
Salesforce Inbound Patterns
How do we create , update, search and retrieve data in Salesforce without Salesforce Apps or custom apps or services
- Real-Time (request/response type interaction)
- Manual-Batch
- Automated-Batch
Real-Time (request/response type interaction)
When Creating less than 200 records per call
- Use standard SOQL/SOSL with Core API for creating data in Salesforce ( know your limits )
- Know your data: Master data (Customer Contact, Account) vs Transactional data (Case, Task)
- Ensure apps calling Salesforce know how to handle validation failures when creating data
Issues
Like any synchronous call, the client needs to handle errors. So ensure applications calling Salesforce know how to handle salesforce errors especially for scenarios with customer account/contact duplicate check
Salesforce Outbound Event Patterns
Keep in sync with Salesforce, getting notified of changes to Salesforce objects
Salesforce Outbound Command/Query Patterns
