Module 04Integrations and API

CRM integrations that retry, log their failures and tell someone.

CRM integration and API work for sales teams: email and calendar sync, click-to-call logging, web forms, billing and webhooks. $800 to $1,600 per connected system. Every connection ships with retry handling and an error log a named person reads, because the silent failure is the one that costs you a quarter of lost leads.

Rate
$800 to $1,600 / system
Retries
3 attempts, backoff 1, 5, 30 min
Error log
Kept 90 days, daily digest
Estimator range
0 to 10 systems
Calendar effect
+1 week per 3 systems

Price basis

One connected system, one price band. Direction and volume set where it lands.

A system is one outside product talking to your CRM: your email provider, your phone platform, your billing tool. The low end is a one-way sync using a connector the CRM vendor already ships, where our work is configuration, field mapping and testing. The high end is two-way sync or a custom webhook receiver, where we write and host the glue and own its failure modes.

A typical mid-size team connects email, calendar and a phone system. Three systems at $800 to $1,600 each is $2,400 to $4,800, and the estimator adds a week to the calendar for every three. That is an estimate band, not a quote. We quote in writing after a 45-minute scoping call, once we have read the API documentation of every system on your list.

API client with a request and response open while testing a CRM webhook
Fig. 01 / Webhook test, request and responseStatus 200 or it goes to the log
Per connected system$800 to $1,600
Email, calendar, phone$2,400 to $4,800
After launch30-day fix window

What we connect

Six kinds of connection, and the detail in each that breaks first.

Every row below is a real category we connect to sales CRMs. The last column is the thing we check before quoting, because it is the thing that goes wrong in month two.

Integration types, direction and first failure point
IntegrationWhat movesDirectionWhat we check first
Email syncSent and received mail logged against the matching contactMailbox to CRMPersonal mail leaking in. We exclude domains and folders by rule
Calendar syncMeetings with contacts become activities; booked meetings update the dealTwo-wayRecurring events and time zones. We test across two time zones
TelephonyClick-to-call, call duration, outcome and recording link on the recordPhone system to CRMCalls from unknown numbers. They create a lead or a task, never nothing
Web formsForm submissions become leads with source and campaign fields filledSite to CRMDuplicates. Every form runs through the same match rules as migration
BillingInvoice status, plan and renewal date on the account; closed-won creates a customerTwo-way, narrowWhich system owns the price. One of them, in writing
Webhooks and REST APIAnything else with an API: product usage, support tickets, a partner portalEitherRate limits and auth token expiry, both logged
Headset beside a laptop logging a call to a CRM contact record
Fig. 02 / Call panel on the contact recordDuration and outcome logged on hang-up
0 Calls a rep should have to log by hand

Telephony, worked through

Click-to-call is where activity data is won or lost.

Reps skip logging calls. Not out of laziness: a 40-call day with a 30-second form after each one is 20 minutes of typing. So the call count in the CRM runs at maybe half the real number, and every activity-based report downstream is wrong by the same factor.

We connect the phone system so a click on a number dials it, and hang-up writes the call to the record: direction, duration, outcome picklist and a link to the recording where your plan stores one. The rep picks an outcome from five values. That is the only input.

Inbound calls from numbers the CRM does not know create a task for the rep who answered, with the number attached. Dropping them silently is what most default connectors do, and it is the first thing we change.

Recording and consent rules for calls vary by state. We configure whatever disclosure your phone platform supports; deciding what your legal position is stays with you and your counsel.

Stage sheetIntegrations

Seven stages. Each with one entry rule. That covers most B2B teams under 40 seats.

Stage sheet, rule 02

Webhooks and REST API

What ships with every piece of API work, whether you ask for it or not.

The code that moves data is the easy part. The parts below are what separate an integration from a script that worked on the day of the demo.

01 / Retry handlingAlways on

Failed calls retry three times with backoff at 1, 5 and 30 minutes. Payloads carry an idempotency key, so a retried webhook updates the record once instead of creating a twin.

02 / Error loggingAlways on

After the third failure the payload goes to an error log with the response body, kept for 90 days. A daily digest lands with your admin. Zero errors means an empty email, which tells you the digest itself still works.

03 / Rate limitsMeasured

Every CRM caps API calls per day or per rolling window, and the cap is shared with every other app you have installed. We count your current usage first and batch our calls to leave headroom for the tools you already run.

04 / CredentialsScoped

A dedicated integration user with the narrowest permissions the job allows, never a rep's login and never an admin's. Token expiry is logged a week ahead, so nobody learns about it from a quiet pipeline.

Fibre optic strands with points of light at their ends

Every connection is one more thing that can fail quietly

What we will not connect

Some requests are cheaper to decline than to maintain.

Scraping tools and bought lead feeds

We do not pipe scraped profiles or purchased lists into a CRM. They fill it with contacts who never asked to hear from you, and they wreck deliverability for the reps' real email.

Systems with no API, driven by screen robots

If a product only exposes a web screen, a bot clicking through it breaks on the next redesign. We will set up a scheduled CSV exchange instead and tell you plainly that it is a workaround.

ERP and custom apps

Inventory, accounting ledgers and bespoke internal software are out of scope; the services page lists the boundary. We will connect a billing tool's invoice status to the account. We will not rebuild your finance stack around the CRM.

How it runs

Integration work, step by step.

In a full engagement integrations are built in weeks 2 to 4, after migration has cleaned the records they will write to, and alongside automation rules that often fire on their data. The process page has the full calendar.

  1. 01Read the docs

    We read the API documentation of every system on your list and check plan limits: API access tier, webhook support, daily call caps.

    Before the quote. Some plans hide the API behind an upgrade.

  2. 02Data contract

    One page per integration: which fields move, in which direction, which system wins on conflict, and who reads the error digest.

    Signed by you before build.

  3. 03Sandbox build

    Built against sandbox or test accounts. We break it on purpose: expired token, rate limit hit, malformed payload, duplicate delivery.

    Each failure has to land in the log.

  4. 04Live

    Production switch-over, first digest reviewed together, and the data contract filed in the admin guide.

    Covered by the 30-day fix window in the terms.

Objections

Questions we hear before an integration is signed.

Our CRM's marketplace already has a connector. Why pay you?

Often you should not. If the marketplace connector maps the fields you need and logs its errors, we configure it and charge at the low end of the band. We only build custom when the connector drops data you need or fails without telling anyone.

Where does custom code run?

Inside the CRM's own serverless functions where the platform offers them, otherwise on a hosting account in your name. Never on ours. You hold the keys and the code, and the admin guide explains how to redeploy it.

What happens when a vendor changes its API?

Deprecation notices go to your admin via the error digest. Within 30 days of launch, fixes to what we built are covered. After that, changes are handled through the admin retainer or quoted as a separate small job.

Who is this not for?

Teams that need a data warehouse, a product built on the CRM, or dozens of systems synced in real time. That is an engineering project and deserves an engineering team. Our ceiling in the estimator is ten connected systems for a reason.

Next step

List the systems you want talking to the CRM.

Product names and the plan tier you are on is enough. We read their API docs before the scoping call and reply during business hours, Pacific time.

Studio
415 MISSION STREET, 3RD FLOOR
SAN FRANCISCO, CA 94105

Estimate bands are not quotes. We quote in writing after the scoping call.