Wired to the rest of your stack

The problem

Every Salesforce org is a different product.

Salesforce does not really arrive as one product. It arrives as a platform that a predecessor, an implementation partner and two or three admins have each shaped over several years. By the time anyone looks at it properly there are custom objects, record types, validation rules, a managed package somebody bought for one project, and Apex written in 2019 that still fires on every Contact insert.

That is why the off-the-shelf connector which demos beautifully fails on your org. It posts a Lead, a validation rule rejects it because a custom picklist is required, and the failure lands in a log nobody has ever opened. Or it writes fine, but field-level security on its profile drops half the payload without complaining, so the record looks complete in a list view and is empty when somebody opens it.

Making Salesforce work is mostly reading your org, not writing code. We go through the objects, the automation and the permissions before building anything, write against what is genuinely there rather than what the documentation assumes, and test against copied records so the surprises happen in a sandbox instead of in front of a customer.

The joins that survive your validation rules.

Calls Into the Right Record

Every call, human or AI, is matched against your existing Leads, Contacts and Person Accounts using your own matching rules before anything new is created, so one caller does not become three records. The recording, transcript and outcome are written as a Task against that record rather than left in a phone system nobody logs into.

Flow First, Apex Only If Needed

Automation goes into Flow wherever Flow will carry it, so your admin can open it, read it and change it without calling us back. Apex comes out only when Flow genuinely cannot do the job, and then it ships with the test classes and coverage Salesforce demands before anything deploys to production.

Built Inside Your API Budget

Your rolling 24-hour API allowance is org-wide and already shared with every other tool writing into Salesforce, so a naive sync that polls every record every few minutes can starve the integrations that matter. We batch through the Composite and Bulk APIs and subscribe to Platform Events instead of asking the same question all day.

Runs as an Integration User

The connection authenticates through a connected app as a dedicated API-only user on a minimum-access profile, with a permission set granting exactly the objects and fields it needs. Enterprise and Unlimited orgs include a handful of Salesforce Integration licences for precisely this, so it usually costs nothing extra and does not break when an employee leaves.

Sandbox, Then Your Release Path

Everything is built and run against a sandbox first, then deployed through whatever process you already have: change sets, DevOps Center, or your own pipeline if a partner set one up. Production sees the work once you have signed it off, not while we are still finding out what your validation rules reject.

Migration Into a Salesforce Shape

Moving off a spreadsheet or another CRM means deciding what becomes a Lead, what becomes a Contact under an Account, and whether Person Accounts belong in the model at all, because that last choice is painful to reverse. We load against an external ID so a re-run updates rather than duplicates, and we put your matching and duplicate rules in front of the load rather than cleaning up behind it.

Questions we get a lot.

Will this work on our edition of Salesforce?

It depends on the edition, and it is the first thing we check. Enterprise, Unlimited and Developer editions include API access, so a real integration is available immediately. Professional Edition does not include it as standard: you buy the API add-on through your account executive, or you are left with imports and whatever an AppExchange package can do inside the org. The entry-level Starter and Group editions are more constrained again. We look at your org before quoting, because an integration that assumes API access on an edition without it is not an integration, it is an invoice.

Why does a Salesforce integration cost more than a HubSpot one?

Because HubSpot is broadly the same product for everybody and Salesforce is not. On HubSpot we write against a known data model with a known set of properties. On Salesforce we first have to read your org: which objects your team actually uses, which standard fields they abandoned years ago, what your validation rules reject, what your Apex triggers do on insert, and what a managed package is enforcing that nobody remembers agreeing to. Then there is a sandbox to build in and a deployment path to get through. The code is rarely the expensive part. Understanding your particular org is.

Do you build automation in Flow or in Apex?

Flow wherever Flow will do it, because a Flow is something your admin can open, read and change after we have gone, and Apex is not. Apex comes out for the cases Flow handles badly: bulk processing that would hit the per-transaction limits, callouts that need proper retry and error handling, or logic that is simply clearer written down. If your org still runs Workflow Rules or Process Builder, worth knowing Salesforce ended support for both at the end of 2025, so anything we touch there gets migrated to Flow rather than extended. Apex also carries a test-coverage requirement before it can deploy to production, which is real cost and part of why it is not the default.

Do we need our Salesforce admin or consultant involved?

Yes, and we would be wary of anyone telling you otherwise. Somebody has to approve a connected app, assign the permission set, refresh a sandbox and accept the deployment, and that person holds the keys to your org. Where you already have an admin or an implementation partner we work alongside them and hand over everything: the flows, the permission set, the field mapping, the error handling and where the alerts go. If nobody owns the org, we will say so plainly, because an unowned Salesforce org drifts, and an integration built on a drifting org breaks inside a year.

Will you test in a sandbox before touching production?

Always, and the useful question is which sandbox you have. A Developer sandbox copies your configuration but none of your data, so it will not surface the awkward real records that actually break integrations. Partial Copy and Full Copy sandboxes carry data but refresh on a fixed cadence, a Full Copy no more often than every 29 days, so we plan the refresh into the timeline instead of discovering it on a Friday afternoon. Sandboxes also have their own API allowance and their own record IDs, which is a common reason something that passed in test behaves differently in production. We build the migration and the sync to be re-runnable for exactly that reason.

Our org is heavily customised. What actually breaks?

The same short list, almost every time. A required custom field or a validation rule rejects the insert, so the record never arrives and the error sits in a log nobody watches. Field-level security on the integration user’s profile silently drops fields, so the record does arrive but half of it is missing. An Apex trigger or a Flow fires on our write and does something nobody expected, or hits a per-transaction limit once volume goes up. And where a managed package is involved we cannot change anything inside its namespace, so if an ISV package is what is rejecting your data the fix is a conversation with that vendor, not with us. We would rather you knew that list before signing than after.

Would we be better off on a simpler CRM?

Sometimes, and we will say so when we think it. Salesforce earns its cost when you genuinely use the platform: custom objects that match how the business works, real reporting, approval or territory logic, an industry package that does something nothing else does. If you are a team of six using it as a shared contact list with a pipeline view, you are carrying an annual per-seat commitment for a platform you are not using, and you are paying more for every integration on top of it, because everything above still applies to your org. Pipedrive or HubSpot would cost less to run and less to connect. We would rather lose the work than build a careful integration into a CRM you ought to be leaving.

Send us your org, including the awkward parts.

Read access to a sandbox, or just an honest description of what is in there. We will tell you what can be connected, what your edition allows, and what it would take.

Book a Free Demo