Instant Estimate HQ
Integrations

CRM & Field Service Management

Which CRM systems Instant Estimate HQ delivers leads into, and what you need to do to connect yours.

Connecting a CRM is optional. Every estimate lands in your dashboard either way — the CRM connection exists so leads drop straight into the automations you already run, and so your follow-up can start without anyone touching it.

What we integrate with

Lead Connector is the only CRM integration available today. It works with CRMs built on the LeadConnector platform — if yours has Settings → Private Integrations, that's you.

There is no direct integration with ServiceTitan, Housecall Pro, Jobber or similar field service platforms, and no generic webhook. If you use one of those, work leads from your dashboard and lead notification emails.

Only one delivery mode is active at a time: Disabled or Lead Connector. There's no dual-write.

What you'll need to do

Connecting is done by the Instant Estimate HQ team, not from your settings. Your side is three steps inside your own CRM.

1. Create the contact custom fields

So each lead's results link and quote summary land where your automations can reference them:

Settings → Custom Fields → Add Field → Object: Contact

NameTypeMerge tag you'll use
Estimate LinkText (or URL){{contact.estimate_link}}
Estimate SummaryMulti-line / Text Area{{contact.estimate_summary}}
Lead Score (optional)Number{{contact.lead_score}}

The name can be anything, but the key must match — your CRM derives the key from the name, so naming them exactly Estimate Link, Estimate Summary and Lead Score produces the right keys. If a field is missing, leads still sync; we just can't write that value until it exists.

Lead Score is only needed if you want each lead's score, from 0 to 100, on the contact, where you can sort, filter and branch workflows on it. It's for your team: the score never goes into the Estimate Summary, so that stays safe to send to homeowners.

2. Create a Private Integration Token

If Private Integrations isn't under Settings, enable it first at Settings → Labs.

Settings → Private Integrations → Create new Integration

Name it anything (Instant Estimate HQ is a sensible label). Select these scopes:

  • contacts.write — required. Creates and updates the lead, applies tags.
  • locations.readonly — required. Lets our connection test confirm the link works.
  • locations/customFields.readonly — strongly recommended. Lets us find the Estimate Link and Estimate Summary fields and write to them reliably.
  • contacts.readonly and locations/customValues.write — optional, so you don't need to edit the integration later.

The token is shown once. Copy it immediately — closing the dialog without copying means deleting the integration and creating a new one. It looks like pit-xxxxxxxx-…, it's write-capable on your CRM, and it should be treated like a password.

3. Find your Location ID

Settings → Business Profile → Location ID, or copy it from your browser address bar — it's the value after /location/ while you're inside the account.

4. Send both values securely

Send the token and the Location ID to your Instant Estimate HQ contact through a secure channel — a 1Password share or an encrypted message. Don't send the token by plain email or chat.

We enter them, run a connection test, and switch delivery on.

What happens once you're connected

Every estimate becomes a tagged contact in your CRM with the estimate link, a plain-text quote summary and, if you created the field, the lead score on the record. You don't need to pre-create the tags — we add them.

For the full detail of what gets written, see CRM.

Checking that leads are arriving

When a CRM is connected, Estimates in your dashboard gains a CRM Sync column showing where each lead got to:

BadgeMeaning
SyncedThe lead reached your CRM.
PendingDelivery is in flight. It shouldn't sit here.
FailedDelivery didn't complete. Hover the badge for the error and how many attempts have been made.
—No delivery was attempted for this lead.

A lead's detail page shows the same under Estimate Result & CRM Sync → CRM delivery: each delivery, its status, how many attempts have been made, when it completed and any error.

Delivery happens in the background. It never slows the homeowner down, and the estimate is saved to your dashboard whether or not the CRM accepts it.

When something goes wrong

Retrying a failed lead

Failed rows get a Retry button, in the CRM Sync column and on the lead's detail page. It updates the existing contact rather than creating a second one, so retrying is safe — the only side effect is that the consent note gets added again, so a contact retried a few times will show a few copies of it.

Retry is limited to owners and admins. Other team members see the Failed status but no Retry button.

"Failed" doesn't always mean nothing arrived

Delivery writes the contact first, then the tags, then the consent note. If a later step fails, the lead is marked Failed even though the contact is already in your CRM. Check the contact before assuming the lead was lost — and retry anyway, since it will fill in whatever didn't make it.

If the Contact custom fields were never created in your CRM, delivery still succeeds — your CRM accepts the contact and quietly discards the fields it doesn't recognise. The badge goes green and those values are simply missing.

The fix is to create them exactly as described above, then ask us to re-run the connection test. Leads from that point carry the fields; earlier ones can be back-filled with Retry.

Repeated failures across every lead

If the connection itself has broken — usually because the token was deleted, rotated or had its scopes changed — every new lead will fail the same way. You'll see Failed on row after row.

There's no banner or alert for this in your dashboard, and no email to you. We're notified automatically and will come to you for a new token, but if you spot a run of failures first, contact support rather than waiting.

Leads keep arriving in your dashboard throughout, so nothing is lost while it's being fixed.

What never reaches your CRM

  • Appointments. Bookings live in your booking platform; no opportunity or appointment is created in your CRM.
  • Your costs or margin. The only prices in the estimate summary are the ones the homeowner saw.
  • Deletions. Deleting an estimate from your dashboard removes it here, but the contact, tags, fields and notes stay in your CRM — remove those there if you need to.

On this page