If you are researching salesforce api riproar types integration, you probably need to answer one question: which Salesforce API should connect to which system, and how do you keep it running once real data volume arrives? Most guides stop at a list of API names. This one goes further and covers the trade-offs, limits, authentication choices and architecture patterns that decide whether an integration survives production.
Salesforce exposes more than one way in and out of the platform. Picking the wrong one rarely fails in a demo. It fails at scale, during a bulk load, or when a token expires at 2 a.m. The sections below explain each option, when to use it, and where teams usually go wrong.
How Salesforce Integration Actually Works
Every integration starts with two decisions before any API is chosen: direction and level.
Inbound and Outbound Direction
Direction describes who starts the conversation.
- Inbound: an external system calls Salesforce to read, create, update or delete records. A billing platform pushing invoice status to an Opportunity is a typical case.
- Outbound: Salesforce initiates contact with an outside system. Apex callouts, outbound messages and event publishing fall into this group.
Many real projects need both. A quote approved in Salesforce (outbound) triggers an ERP order, and the ERP then sends fulfillment status back (inbound). successful private caregiver business riproar
The Three Integration Levels
Integration can also be described by where it connects.
- User interface level: external content is displayed inside Salesforce, or Salesforce content is embedded elsewhere.
- Application logic level: APIs let systems trigger business processes across platforms.
- Data level: records are extracted, transformed and loaded between data stores.
Most API work sits at the application logic and data levels. Knowing which level your project belongs to narrows the API choice quickly.
Salesforce API Types Compared

The phrase salesforce api riproar types integration covers a family of APIs, and each one was built for a different job. The table below gives a working comparison.
| API | Protocol and format | Best for | Sync or async |
|---|---|---|---|
| REST API | HTTP, JSON or XML | Web and mobile apps, standard record operations | Synchronous |
| SOAP API | XML, WSDL-based | Enterprise systems that need a strict contract | Synchronous |
| Bulk API 2.0 | REST-based, CSV | Loading or extracting large record volumes | Asynchronous |
| Streaming API | CometD, long polling | Push notifications on data changes | Event-driven |
| Pub/Sub API | gRPC, Avro | High-volume event publishing and subscribing | Event-driven |
| Metadata API | SOAP, XML | Deploying configuration and customizations | Asynchronous |
| GraphQL API | HTTP, JSON | Fetching related records in one request | Synchronous |
| Connect (Chatter) API | REST, JSON | Feeds, files, communities and Experience Cloud data | Synchronous |
REST API
REST is the default starting point for most developers, and for good reason. It uses standard HTTP methods, works with any language, and handles JSON cleanly. You can query with SOQL, work with individual sObjects, and describe objects to discover fields at runtime.
Two features help avoid wasted calls:
- sObject Collections let you create, update or delete up to 200 records in one request.
- Composite resources bundle several operations, up to 25 subrequests, into a single round trip and let later steps use results from earlier ones.
Because API allocations are counted per call, batching through these features matters more than any code-level optimization.
SOAP API
SOAP is older, but it is far from obsolete. Its WSDL gives strongly typed contracts, which suits Java and .NET shops with generated client code. Long-time Salesforce developers often know SOAP best, and many enterprise middleware products still ship SOAP-based connectors. Choose it when a partner system requires a formal contract or when the tooling around it already assumes SOAP. For a fresh project with no such constraint, REST is usually the simpler path.
Bulk API 2.0
When you are moving hundreds of thousands or millions of records, row-by-row calls become slow and expensive. Bulk API 2.0 accepts CSV files, processes them asynchronously, and handles job splitting on Salesforce’s side. You upload data, create a job, and poll for results instead of managing individual batches yourself, which was the burden in the earlier Bulk API.
Typical uses include initial data migrations, nightly warehouse exports and large cleanup jobs. It is a poor fit for anything that needs an immediate answer per record.
Streaming API and Pub/Sub API
Polling Salesforce every minute to check for changes wastes calls. Event-driven APIs reverse the flow: Salesforce pushes a message when something happens.
- Streaming API uses the CometD protocol and supports PushTopics and generic streaming.
- Pub/Sub API is the newer option. It uses gRPC and Avro, supports publishing as well as subscribing, and is built for higher throughput.
Both work with Platform Events and Change Data Capture, covered later in this guide.
Metadata API
This API is about configuration, not business data. It retrieves and deploys objects, fields, page layouts, flows and other customizations between orgs. Most teams touch it indirectly through Salesforce CLI or CI/CD tools rather than writing raw calls. If your use case involves moving a change from sandbox to production, this is the API working underneath.
GraphQL API
GraphQL lets a client ask for exactly the fields it needs, across related objects, in one request. A mobile screen that shows an Account, its Contacts and open Opportunities can be filled with a single query instead of three REST calls. That reduces payload size and round trips, which helps on slow connections. Its query model differs from SOQL, so plan time for a learning curve.
Connect API
Connect API serves social and collaboration features: feeds, groups, files and Experience Cloud content. Unless you are building a custom community or feed experience, you may never need it.
Integration Architecture Patterns
API choice is only half the design. The other half is how systems are wired together, and this is where projects quietly become unmanageable.
| Pattern | How it works | Strength | Weakness |
|---|---|---|---|
| Point-to-point | Two systems connect directly through one API | Fast to build, easy to understand | Becomes tangled as connections multiply |
| Hub-and-spoke | Each system connects to a central hub that routes and transforms messages | One place to manage routing | The hub is a single point of failure |
| Enterprise service bus | An integration engine handles routing, transformation, orchestration and security | Scales up and down with adapters | Heavier tooling and more setup |
| Event-driven | Systems publish and subscribe to events through a broker | Loose coupling, near real-time | Requires careful design for ordering and replay |
When Point-to-Point Is Enough
For one or two connections, direct integration is perfectly reasonable. A marketing form tool writing Leads into Salesforce does not need a bus. The trouble starts around the fifth or sixth connection, when every change to a field requires edits in several places.
When to Move to Middleware
Once you have several systems exchanging data, middleware such as MuleSoft, Boomi or Workato earns its cost. It centralizes transformation logic, error handling and monitoring. The main question for evaluating salesforce api riproar types integration at the architecture level is not which API is best, but where the transformation and retry logic will live so it is not duplicated across every connection.
Event-Driven Design
Event-driven designs suit cases where Salesforce changes must reach other systems quickly without constant polling. They also decouple teams, since the publisher does not need to know who is listening.
Platform Events vs Change Data Capture
These two are often confused, yet they solve different problems.
| Feature | Platform Events | Change Data Capture |
|---|---|---|
| What triggers it | Your code or flow publishes a custom event | Salesforce publishes automatically when records change |
| Payload | Fields you define | Changed fields of the record |
| Best for | Business signals like “order approved” | Keeping an external copy of data in sync |
| Retention | About 72 hours for replay | About 3 days for replay |
Choose Platform Events when you want to announce a meaningful business moment. Choose Change Data Capture when the goal is to mirror record changes elsewhere. Both let a subscriber replay missed messages within the retention window, which is what makes recovery from downtime possible.
Choosing the Right API for the Job
Here is where most of the confusion lives. Use this scenario table as a starting point rather than a rule.
| Scenario | Recommended option | Reason |
|---|---|---|
| Web or mobile app reading and writing single records | REST API | Simple, JSON-friendly |
| Loading two million records during a migration | Bulk API 2.0 | Built for volume, asynchronous |
| Legacy enterprise system requiring a formal contract | SOAP API | WSDL and typed clients |
| Notify an external system when a record changes | Change Data Capture with Pub/Sub API | Push instead of polling |
| Deploy configuration from sandbox to production | Metadata API through CLI | Designed for deployments |
| Mobile screen needing data from several related objects | GraphQL API | One request, only needed fields |
| Several dependent operations that must happen together | Composite API | Fewer round trips, shared results |
A useful rule: if a human is waiting, use a synchronous API. If a machine is processing a backlog, use an asynchronous one.
Authentication and Security
Authentication is where many otherwise sound integrations become fragile. Every API call needs a valid token, and how you obtain it depends on the situation.
Common OAuth Flows
| Flow | Use it when | Notes |
|---|---|---|
| Web server flow | A user logs in through a browser and grants access | Standard for user-facing apps |
| JWT bearer flow | A server needs access without user interaction | Common for scheduled jobs and back-end services |
| Client credentials flow | A service account runs the integration | Tied to a designated run-as user |
| Username-password flow | Legacy scripts only | Discouraged; avoid in new work |
Middleware connectors commonly support several of these, including basic authentication, OAuth 2.0, JWT and SAML-based options. Availability alone does not tell you which to use. For server-to-server integrations, JWT bearer or client credentials is generally the safer choice because no password is stored.

Security Practices Worth Following
- Create a dedicated integration user for each connection rather than sharing a personal account.
- Grant that user the smallest permission set that works, and review it when the integration changes.
- Store secrets in a proper vault or in Named Credentials, never in code or spreadsheets.
- Rotate certificates and secrets on a schedule and keep a record of when they expire.
- Monitor login history and API usage for the integration user.
- Restrict access by IP range where the calling system has fixed addresses.
Salesforce has been steering newer development toward External Client Apps in place of classic Connected Apps, so check current documentation before setting up a new one.
Outbound Calls with Named Credentials
For calls from Salesforce to an external service, Named Credentials keep the endpoint and authentication details out of Apex code. External Services can then expose an API described by an OpenAPI schema as invocable actions for Flow, which lets admins build outbound integrations without writing callout code.
Limits, Errors and Performance
An integration that works in a sandbox can still fail in production because of limits. Plan for them from the start.
| Limit area | What to know |
|---|---|
| Daily API requests | The allocation depends on your edition and licenses; check the Limits resource in your org |
| Concurrent long-running requests | Salesforce restricts how many long requests can run at once |
| Record batch size | sObject Collections cap at 200 records per call |
| Composite requests | Up to 25 subrequests per call |
| Event retention | Around 72 hours for Platform Events, about 3 days for Change Data Capture |
Practical Ways to Stay Within Limits
- Batch operations with Collections and Composite instead of one-record calls.
- Replace polling with events wherever a change notification is enough.
- Request only the fields you need in SOQL and GraphQL.
- Cache reference data, such as picklist values and record type IDs, in the calling system.
- Use Bulk API 2.0 for anything that touches large volumes.
Handling Failures
- Build retries with exponential backoff for transient errors.
- Make writes idempotent using External ID fields and upsert so a retried request does not create duplicates.
- Log the request ID and error body from each failed call, since Salesforce error messages are usually specific.
- Set up alerts on failure rates rather than waiting for users to notice missing data.
Version Management
Salesforce releases three times a year and periodically retires very old API versions. Pin your integration to a specific version, review release notes each cycle, and schedule an upgrade test before an old version is turned off.
Real-World Integration Examples
Example 1: Syncing Salesforce with an ERP
A manufacturer wants approved quotes to become ERP sales orders and fulfillment status to return to Salesforce.
- A Flow publishes a Platform Event when a quote reaches Approved.
- Middleware subscribes through Pub/Sub API and transforms the payload to the ERP format.
- The ERP creates the order and returns an order number.
- Middleware calls the REST API to upsert the status on the Opportunity using an External ID.
This design avoids polling, keeps the mapping in one place, and stays safe to retry because of the upsert. It is a good illustration of how salesforce api riproar types integration decisions combine several APIs in a single flow.
Example 2: Nightly Analytics Export
A finance team needs Account and Opportunity data in a warehouse each night.
- A scheduled job creates a Bulk API 2.0 query job.
- Salesforce processes it asynchronously and returns result files.
- The job loads the files into the warehouse and records the last successful run time.
- The next run requests only records modified since that time.
Incremental extraction keeps the job fast and inside the limits.
Example 3: Mobile App with Related Data
A field sales app shows an Account, its Contacts and open Opportunities on one screen. A GraphQL query returns all three levels in one response, so the screen loads with a single request instead of three.
Common Mistakes to Avoid
- Using REST for a million-record load, then hitting daily limits and long runtimes.
- Polling for changes when Change Data Capture would deliver them without extra calls.
- Sharing one admin user across every integration, which hides which system caused a problem.
- Skipping External IDs, which leads to duplicate records after retries.
- Leaving integration logic scattered across many point-to-point connections.
- Hard-coding secrets and endpoints in Apex or scripts.
- Ignoring API version notices until a retirement breaks a working feature.
- Testing only with small datasets, then discovering performance problems after launch.
A Simple Decision Checklist

Before building, answer these questions in order.
- Who starts the conversation, Salesforce or the other system?
- Does a person wait for the answer, or can processing happen in the background?
- How many records move at once, and how often?
- Does the other system need to know about changes immediately?
- Which authentication flow fits, and who owns the integration user?
- Where will transformation, retries and monitoring live?
- What happens when a call fails halfway through?
If you can answer all seven, the API choice usually becomes obvious.
Final Thoughts
Good integration work comes down to matching the tool to the job and planning for failure. Understanding salesforce api riproar types integration means knowing that REST, Bulk, event-based and metadata APIs each solve a separate problem, and that authentication, limits and architecture matter as much as the endpoint you call. Start with the direction and volume of your data, choose the simplest API that fits, secure it with a dedicated user and a sensible OAuth flow, and design retries before you need them. Do that, and the integration stays dependable as your business and your Salesforce org grow.
Frequently Asked Questions
How many types of Salesforce APIs are there?
Salesforce offers several, commonly grouped as REST, SOAP, Bulk, Streaming and Pub/Sub, Metadata, GraphQL and Connect. Each targets a different integration need.
Which Salesforce API is best for large data volumes?
Bulk API 2.0 is built for large loads and exports. It processes CSV data asynchronously, which avoids the overhead of record-by-record calls.
What is the difference between REST and SOAP in Salesforce?
REST is lightweight, uses JSON and suits web and mobile apps. SOAP uses XML with a WSDL contract and fits systems that need strictly typed interfaces.
When should I use Platform Events instead of Change Data Capture?
Use Platform Events to announce custom business moments. Use Change Data Capture to keep an external system in sync with record changes.
Which OAuth flow is best for server-to-server integrations?
JWT bearer flow or client credentials flow is generally preferred because no user password needs to be stored or shared.
How do I avoid duplicate records when a request is retried?
Use an External ID field with upsert operations. The same request then updates the existing record rather than creating a new one.
Do Salesforce API versions expire?
Yes. Salesforce retires very old versions over time, so pin your integration to a version and test upgrades each release cycle.
[…] The businesses that gain the most tend to be at a specific stage. They have outgrown informal habits but haven’t yet built formal systems. A five-person shop can get by on memory and group texts. A twenty-five-person company can’t. salesforce api riproar types integration […]