
Five essential tips for building effective integrations
I've worked on integrations used by hundreds of SaaS companies and hundreds of thousands of businesses across just about every industry you can name. Over the years, the same handful of problems keep catching teams off guard, no matter how big the company is or what space they're in. Here are five of the big ones, along with what I'd do about each.
1. Get the system right
This one sounds like table stakes. You need to integrate with some system, so you find their API docs and you're off. But even in a world of cloud software, the version still matters. When someone tells me they have an SAP integration or a Sage integration, that's an incomplete sentence.
Sage, SAP, Oracle, and QuickBooks all come in a range of versions, and the connectivity options vary wildly between them. QuickBooks still has on-prem versions. QuickBooks Online is cloud hosted, but there's more than one version of that too. SAP has dozens of different systems living under one name, and each can be deployed on-prem or in the cloud with its own connection method, sometimes down to the point version.
So when a customer or an executive asks you to build an SAP integration, get specific about which version they actually mean, which one makes sense for your customers, and which one is worth the most to your business.
Suggested reading >> API Integration Development: tips, tools, and techniques
2. Make sure you can actually log in
Another one that sounds obvious and still trips people up. You need working credentials and the right level of access to the system you're building against.
API access on its own won't cut it. What you really want is a test environment (ideally not production), API access, and login credentials for the UI. Building blind from API docs alone is close to impossible, and it matters because data can behave differently when it's entered through a UI than when it comes in through an API. Your customers are going to touch this thing through the application layer, so you need to see what they see.
Make sure you have permissions for every object you need to reach. If you can get a test environment that's already seeded with data, even better. NetSuite is great about this, and their sandboxes come loaded with enough to make testing far easier. At a minimum, you need to be able to log in. Until you can, do not pass go.
3. Understand what data your customers actually need
In a perfect world, data would flow freely between apps, update everywhere at once, and never lag. That's not the world we live in. Integrations have to live inside the limits of your data model and your partner's, which means access limits, throughput bottlenecks, and endpoints that don't all behave the same way. Some have webhooks, some don't.
When you're syncing transactions or historical data, it's tempting to grab everything since the beginning of time so nobody ever has to go back for it. But do you really need 30 years of sales orders? Do you need 200,000 customer records when only 30,000 have been active in the last five years? Massive syncs take a long time, and I've watched them run for hours or days only to fail partway through and force a full restart.
One thing we recommend is a look back date, a setting your customer picks so historical data syncs from a date they choose. You start with the most recent records and work backwards until you hit it. You can hard code that date or cap it. Filters help too. If you don't need every customer out of Salesforce, add a custom field like "sync to ACME" and pull only the records that match.
4. Pick the right integration pattern
Most partner systems give you several ways in. There's usually a REST API, maybe a SOAP API, sometimes an SFTP flat file setup, and increasingly webhooks and other event-based triggers. You don't have to use all of them.
This is where knowing your data requirements pays off. If you need historical data, a webhooks-only integration won't get you there. If you need a fast response to a single transaction, a pass-through request straight to the partner API might be plenty, but that same approach falls apart when you need heavy filtering because the latency climbs too high. If the sync has to be resilient, webhooks can be a shaky choice, since retry logic exists in some places and is missing in others.
Data volume, reliability, API coverage, freshness, and your own infrastructure all shape the right design. And if you're building in house rather than using something like Pandium, think about storing webhooks, debouncing, caching, and a message queue. Those don't show up in early testing, but the day your partner goes down for five minutes and replays every webhook they owe you, you'll be glad you planned for it. This is why we often combine patterns.
5. Have an opinion
Integrations are a feature of your product. Your customers see them as something you build and support, but there's a twist. You also have to understand the other system and how people use it.
If you survey customers and ask an open question like "we're building a QuickBooks integration, what do you want it to do?", you'll get an infinite number of answers. That's especially true when they've been doing the work by hand, wiring up Zapier, or building their own thing. A small sample makes it worse, because you can end up designing an entire product around one person's setup.
So have an opinion. Your customers are paying you because they aren't the experts, and part of what they're paying for is your point of view on how the integration should work. Build a few basic flows, document them, hand them to a few trusted customers, and iterate from there. That beats six months of requirements gathering across dozens of companies that each duct taped their own version together.
Suggested reading >> How to Write an Integration Specification Document (2026 guide + template)
I know highly customizable systems like NetSuite and Salesforce make people nervous. But in 20 years of doing this, I've found customers will almost always adjust their process a little to use something native that you build and support, rather than design and pay for their own. We have hundreds of companies running NetSuite integrations across a handful of versions. Our customers made them flexible, which is what lets so many teams use them, but it started with a clear opinion about how the integration works and what options come with it.
An opinion makes your support easier, your sales team happier, and your customers better served.
Want more of these? Come find me on LinkedIn and tell me what you'd like to hear about, visit our YouTube channel, and check out the Pandium blog and our podcast, Between Product and Partnerships, for more from people who build great integrations and partnerships in SaaS.
From the Blog

What to Actually Measure After You Launch an Integration
