Your Tech Club
INTEGRATIONSSALESFORCE

Connect Salesforce to your other systems

Salesforce is often the screen where account managers start their day. An integration means they can also see what's happening in the ERP, the online store and the accounting system there, without calling the sales office. And a won opportunity sets up the order itself, instead of an email to the finance team.

All integrations
4.8 from 127 reviews
ISO 9001 & 27001
SalesforceCRM and sales · Salesforce, Inc.
  • Accounts, contacts and leads goes back and forth with Your other systems
  • Opportunities goes back and forth with Your other systems
  • Products, price books and quotes goes back and forth with Your other systems
  • Orders and contracts goes back and forth with Your other systems
Your other systemsSuch as Exact Online, Twinfield, Microsoft Dynamics 365 Business Central

Built for clients including Tata Steel, M&G Investments, Digistore24, Toppers in Concert, Bar-le-Duc and Loogman

What you exchange

This is the data organisations most often let flow between systems. Which of it matters to you depends on where work is getting stuck today.

Accounts, contacts and leads

Salesforce separates companies (accounts), people (contacts) and leads that haven't been qualified yet. An integration has to know where a new record belongs. Person accounts exist for consumer customers, but you don't switch them on lightly.

Opportunities

Sales opportunities with stage, amount and expected close date. An opportunity moving to won is the moment to start an order, debtor or project in another system.

Products, price books and quotes

Items and prices often come from the ERP. Keep the price books in Salesforce in line with it, and a quote always uses the right price.

Orders and contracts

Orders and contracts follow the sale. Agree which system creates an order and which system may still change it afterwards.

Invoices and payment behaviour back

Invoices live in the accounting system or ERP. Outstanding items and payment behaviour on the account help account managers with renewals and new quotes.

Cases and activities

Customer questions (cases), emails and meetings. Einstein Activity Capture brings in email and calendar from Microsoft or Google. Data from other service systems needs its own integration.

Off the shelf or custom

Not always. If an existing integration for Salesforce does exactly what you need, we'll tell you.

What already exists

AppExchange has integrations for many packages, from accounting to e-signatures. Salesforce also has its own building blocks: Einstein Activity Capture for email and calendar from Microsoft or Google, Salesforce Connect to show data from another system without copying it, and MuleSoft as an integration platform.

An AppExchange app works well if your Salesforce setup is close to standard. The more custom fields, validation rules and flows you have, the more likely a standard integration is to get stuck on them.

Salesforce Connect is useful if you only want to view data, such as order lines from the ERP. It works through OData or a custom adapter. If you want to report on or automate with that data, copying it makes more sense.

When you need custom work
  • Your ERP or accounting system has no integration on AppExchange, or the app can't handle your custom objects and fields.
  • A won opportunity has to create an order, a debtor and a project in different systems.
  • You have validation rules and flows that make fields mandatory, and the integration has to take them into account.
  • Changes have to go through immediately via Change Data Capture, not in a nightly batch.
  • You have business customers and consumers, and need to choose between accounts with contacts and person accounts.
How it works technically

Different APIs for different jobs

Salesforce has a REST API and a SOAP API for individual records, and Bulk API 2.0 for large volumes. One order at a time works fine through REST. A nightly update of all customers is better done through Bulk.

OAuth through external client apps

Integrations authenticate with OAuth 2.0. Since the Spring '26 release, creating new connected apps has been restricted and Salesforce recommends external client apps. Existing connected apps keep working.

Change Data Capture

Salesforce publishes changes to records as events: create, update, delete and undelete. An external system subscribes to them, for example through the Pub/Sub API, instead of constantly asking what's new. This works in Enterprise, Performance, Unlimited and Developer Edition.

One daily limit for the whole org

Enterprise Edition starts at 100,000 API requests per 24 hours, plus 1,000 per Salesforce licence. That limit applies to all integrations and installed packages together, not per user. Professional Edition only has API access if it has been enabled separately.

Sandboxes

Test in a sandbox. Developer and Developer Pro contain only your configuration, Partial Copy also part of your data, and Full a complete copy. For a test with real volumes, Partial Copy or Full is the most realistic.

AI in between

An integration moves data. In between, AI can read, sort and prepare a suggestion. Where it matters, a person decides.

Agentforce in Sales Cloud

Agentforce (Default) for Sales has actions to summarise accounts, contacts, leads and opportunities, and to draft a follow-up email after a customer call. It requires Enterprise, Performance or Unlimited Edition with the Einstein for Sales add-on.

When that isn't enough

Agentforce works with what's in Salesforce. If payment behaviour is in the accounting system or lead times are in the ERP, a summary can't say anything about them. Connect first, then summarise.

AI before data entry

A purchase order arrives as a PDF by email. AI reads the order, looks up the account and the products and prepares a draft order. An employee checks prices and quantities and releases it. Only then does the order go to the ERP.

Where it goes wrong

Validation rules and flows block the integration

An integration writes through the same rules as a user. A new required field or a changed flow can suddenly cause records to be rejected. Test changes to your configuration in a sandbox first, together with the integration.

One limit for all integrations

All integrations and installed packages share the same daily limit. A new app making a lot of requests can bring your ERP integration to a halt. Set up an alert in Setup that emails you when a percentage of the limit is reached.

Connecting with a personal account

If an integration runs under an employee's account, it stops when they leave, and it sees everything that employee can see. Use a separate integration user with API-only access. Enterprise, Unlimited and Performance orgs get five Salesforce Integration licences for this.

Person accounts can't be reversed

Person accounts look handy for consumers. But once you switch them on, you can't switch them off. Try it in a sandbox first, and only then decide how the integration creates customers.

How we build an integration

  1. What goes where

    Which data moves, in which direction, and which system wins when two values differ. That is written down before anything gets built. For this integration, that means: Accounts, contacts and leads, Opportunities, Products, price books and quotes, Orders and contracts, Invoices and payment behaviour back, Cases and activities.

  2. Fields and rules

    For every field, how it translates between the systems: statuses, VAT codes, general ledger accounts, item numbers. And what happens with a duplicate or a missing value. For this integration, that means: Different APIs for different jobs, OAuth through external client apps, Change Data Capture, One daily limit for the whole org, Sandboxes.

  3. Testing with real cases

    In a sandbox or test administration, with the exceptions you actually run into: credit notes, partial deliveries, changed customer details.

  4. Live, with logging and monitoring

    Every sync is logged, and when something fails, someone gets an alert. If a vendor changes its API, we update the integration.

The Your Tech Club team at the office in Amsterdam
Amsterdam
Who you'll talk to

No account manager. You talk to someone who builds integrations themselves, and who will tell you when a standard integration is enough.

Joey van VlietJoey van VlietFounder
Yassine SeghrouchniYassine SeghrouchniFounder
  • Office on the Duivendrechtsekade in Amsterdam
  • ISO 9001 and ISO 27001, certified by Kiwa
  • 500 projects delivered
  • 4.8 from 127 reviews
Frequently asked questions

Does every Salesforce edition have API access?

No. Enterprise, Unlimited, Performance and Developer Edition have API access. On Professional Edition, API access has to be enabled separately. Check this before you choose an integration, because without API access an external system can't reach your data.

How many API requests can an integration make?

On Enterprise Edition, it's 100,000 per 24 hours plus 1,000 per Salesforce licence, for the whole org combined. On Unlimited and Performance, it's 5,000 per licence. You can see current usage in Setup and through the REST API's limits resource.

Can we keep using our existing connected app?

Yes, existing connected apps keep working. Creating new connected apps has been restricted since the Spring '26 release, and Salesforce recommends external client apps. If you're building a new integration, start with an external client app.

How do I test a Salesforce integration safely?

In a sandbox. A Developer or Developer Pro sandbox is enough to build the integration, but contains no production data. For a test with real volumes and real exceptions, use a Partial Copy or Full sandbox.

Do I need to copy data into Salesforce, or can I just display it?

Both are possible. With Salesforce Connect, you show data from another system as external objects without copying it; that works through OData or a custom adapter. Copying makes more sense if you want to do a lot of reporting or automation with it.

Can YTC connect Salesforce to a package without a standard integration?

Yes. We can connect Salesforce to any system, even when there's no AppExchange app for it. We then use the APIs of Salesforce and the other system, with a separate integration user that gets only the permissions it needs.