loader
salesforce-integration-challenge

Salesforce Integration

Most Common Salesforce Integration Challenges (and How to Solve Them)

Most companies run sales, finance, support and operations in different tools. Connecting them to Salesforce gives everyone one view of the customer, but integrations fail in predictable ways. Here are the problems we see most often across our integration projects, and what to do about each one.

Salesforce One view of the customerERP and finance Support desk Website and forms Marketing Phone and messaging Project tools

Every connection is a place where data can be mapped wrong, duplicated, delayed or blocked.

Common reasons to integrate include data sync, process automation, a better customer experience, connecting third-party apps and unified reporting. Whatever the reason, these challenges come up again and again:

  1. Data mapping and transformation
  2. Duplicate records
  3. Security and authentication
  4. API limits
  5. Real-time vs batch sync
  6. Validation rules and failed syncs
  7. Performance and downtime
  8. Monitoring and error handling
  9. Choosing the right partner

1.Data mapping and transformation

The problem

The two systems rarely store data the same way. Field types conflict, picklist values donโ€™t match, and Salesforce expects things in a set format. Addresses are a classic example: Salesforce splits them into street, city, state and postal code, while the other app may keep one text block.

How to handle it

  • Write a field-by-field mapping document before building anything, and get both teams to sign off.
  • Decide which system owns each field, so updates donโ€™t overwrite each other.
  • Do transformations like splitting addresses or translating picklist values in one place, ideally in middleware or a dedicated class, not scattered across flows.

2.Duplicate records

The problem

Integrations that insert instead of matching create a new record every time they run. Within weeks, the org fills with duplicate contacts, accounts and cases, and reports stop being trustworthy.

How to handle it

  • Add an External ID field (marked Unique and External ID) on each synced object to hold the other systemโ€™s ID.
  • Use upsert on that field instead of insert. Matching records are updated, new ones are created.
  • Example: for a Zendesk integration, store the Zendesk ticket ID on Case and upsert by it, so the same ticket never becomes two cases.
  • Add duplicate rules for records created outside the integration.

3.Security and authentication

The problem

Integrations often move sensitive customer data between several systems and tools. Hard-coded passwords, over-privileged integration users and shared admin logins are common, and theyโ€™re a real risk.

How to handle it

  • Use a dedicated integration user with only the permissions it needs.
  • Authenticate with OAuth, and store outbound credentials in Named Credentials, never in code or custom settings.
  • Restrict integration logins by IP where you can.
  • Check what data actually needs to move, and donโ€™t sync sensitive fields you donโ€™t need.

4.API limits

The problem

Salesforce has a daily API request limit and governor limits on every transaction. The other system has its own rate limits and file size caps. A chatty integration can burn through limits and break everything else that uses the API.

How to handle it

  • Estimate daily call volume before you build, and check it against your orgโ€™s limit.
  • Use composite and bulk APIs to send many records per call instead of one at a time.
  • Only send records that changed, not full data sets.
  • Plan large file transfers separately, and check size limits on both ends.

5.Real-time vs batch sync

The problem

Teams often say they need โ€œreal-timeโ€ when a nightly or hourly sync would do, or assume an import job is the same as an integration. Batch jobs leave systems out of sync between runs, while real-time costs more to build and uses more API calls.

How to handle it

Pick the pattern per use case, not per project:

  • Real-time: when someone acts on the data right away, like a support agent seeing an order status.
  • Near real-time: event-driven updates with Platform Events or Change Data Capture.
  • Batch: scheduled jobs for reporting, finance sync and large volumes.

6.Validation rules and failed syncs

The problem

A record thatโ€™s fine in the source system fails in Salesforce because of a validation rule, a required field or a wrong data type. If nobody notices, the systems quietly drift apart. Sometimes the sync succeeds but pushes bad data.

How to handle it

  • Review validation rules and required fields on every synced object during design.
  • Decide whether the integration user should bypass certain rules, and do it deliberately, for example with a hierarchy custom setting.
  • Spot check synced data regularly in the first few weeks after launch.

7.Performance and downtime

The problem

Heavy syncs can slow the org for users, cause record locking errors, or fail when the other system is down for maintenance.

How to handle it

  • Run large batch jobs outside business hours.
  • Process records asynchronously so users arenโ€™t waiting on callouts.
  • Queue updates and retry when the other system comes back, instead of dropping them.
  • Have a manual workaround ready and tell users early when somethingโ€™s down.

8.Monitoring and error handling

The problem

Many integrations work at launch and then fail silently. Errors land in a debug log nobody reads, and the business finds out weeks later when numbers donโ€™t match.

How to handle it

  • Log every failure to a custom object with the record, the error and the payload.
  • Send an alert to an owner when errors pass a threshold.
  • Build a simple dashboard of sync success and failure, and add a way to reprocess failed records.

9.Choosing the right partner

The problem

Integrations touch several systems and teams. A partner who only knows one side, or treats it as a one-off script, leaves you with something fragile that nobody can maintain.

What to look for

  • Experience on both Salesforce and the systems youโ€™re connecting.
  • A written mapping and design before development starts.
  • Error handling, monitoring and documentation included, not extras.
  • Support after go-live, since APIs on both sides change over time.

Quick reference

ChallengeMain fix
Data mappingSigned-off mapping document and one owner per field
DuplicatesExternal ID fields and upsert
SecurityLeast-privilege integration user, OAuth, Named Credentials
API limitsBulk and composite APIs, sync only changes
Sync timingReal-time, event-driven or batch, chosen per use case
Validation failuresReview rules in design and bypass deliberately
PerformanceAsync processing, off-hours batches, retry queues
Silent failuresError logging, alerts and reprocessing

Moving data once, not syncing it? One-time migrations have their own pitfalls. See our Salesforce data migration best practices.

Planning a Salesforce integration?

Weโ€™ve delivered 20+ integration and migration projects and can help you avoid every issue on this list.

See our integration services