# Turn HubSpot quote requests into Service Fusion customers

> The moment a HubSpot quote request lands, create the matching Service Fusion customer and ping Slack so a dispatcher can call within minutes.

- Workflow type: code
- Services: Service Fusion, HubSpot, Slack Bot
- Categories: Sales, Operations
- Published: 2026-07-12

## What it does

- Creates a Service Fusion customer with the caller's name, phone, email, and service address the second a HubSpot quote request comes in.
- Posts a heads-up to your #new-leads Slack channel with the customer's name, requested service, phone number, and a direct link back to the HubSpot lead.
- Includes the new Service Fusion customer ID in the Slack message so a dispatcher can jump straight to the record and book the visit.
- Removes the copy-paste step between your marketing site and your field service software so no lead sits cold.

## What you'll need

- A HubSpot account with a Request a Quote form and permission to add a workflow that sends an outgoing webhook
- A Service Fusion account with a login that can create customers
- A Slack workspace with a #new-leads channel your dispatchers watch

## Prompt

Build a workflow that hands off every new HubSpot Request a Quote lead to Service Fusion and pings a dispatcher in Slack, so a real person is calling the customer within minutes of the form submission.

Trigger: webhook. The source is a HubSpot workflow that fires an outgoing webhook when a contact submits the Request a Quote form. The incoming payload should carry the HubSpot contact ID (vid or hs_object_id).

Step 1: call HubSpot Get Contact using the contact ID from the webhook. Request the full lead properties: firstname, lastname, phone, email, address, city, state, zip, plus the custom properties that carry the requested service and any customer notes captured on the form.

Step 2: call Service Fusion Create Customer to create the matching customer record. Map the HubSpot fields into the Service Fusion body as follows: customer_name = firstname + lastname (or the company name if provided); contacts = an array with one entry containing fname, lname, and is_primary=true; phones = an array with the HubSpot phone number and phone_type set to something like Mobile; emails = an array with the HubSpot email; locations = an array with one entry containing the HubSpot street address, city, state, postal_code, and is_primary_billing / is_primary_service set to true so the record is ready for a job to be booked against it. Include the requested service and any notes as customer_notes or in the private_notes field. Foreign-key fields such as agent or customer_source accept either the integer id or the header/name string, so a caller can pass either.

Step 3: call Slack Bot Send a Message to post a heads-up to the #new-leads channel. The message should include: the customer name, the requested service, the phone number formatted so a dispatcher can click to call, a direct link back to the HubSpot contact (https://app.hubspot.com/contacts/<portalId>/contact/<contactId>), and the new Service Fusion customer ID so the dispatcher can jump straight to the record. Use Slack mrkdwn (single asterisks for bold, <url|text> for links).

Error handling: if Service Fusion Create Customer fails, still post to Slack with the raw HubSpot info and the error message so a dispatcher can call the lead manually. Do not swallow failures silently. Log each step so a rerun can be triaged.

## How to customize

- Point the Slack heads-up at any channel your dispatchers watch, not just #new-leads.
- Map extra HubSpot fields (referral source, best time to call, second phone) into the Service Fusion customer contact or location.
- Tweak the Slack message wording or add an urgent flag for leads that arrive after hours.

## FAQ

### Do I need a paid HubSpot plan to trigger this?

Yes. The trigger is an outgoing webhook from a HubSpot workflow, which requires a plan that includes workflows (Marketing Hub Professional or higher, or Operations Hub). Once you have that, the setup is one webhook action pointing at this automation.

### What happens if the same person submits the form twice?

Every fire creates a Service Fusion customer keyed off the HubSpot contact. If you want to deduplicate, ask the author agent to add a lookup step so a repeat request updates the existing customer instead of creating a new one.

### Which HubSpot fields end up on the Service Fusion customer?

First name, last name, phone, email, service address, and the requested service, mapped into the Service Fusion customer name, contact, phone, email, and service location. You can add more fields at setup time.

### Can I send the heads-up somewhere other than Slack?

Yes. Ask the author agent to swap the Slack step for Microsoft Teams, SMS, or email and it will rewire the notification while keeping the Service Fusion customer creation intact.

### Will this work if my dispatcher lives in Service Fusion, not Slack?

Yes. The Slack heads-up is a convenience for teams that already live in Slack; the Service Fusion customer is created either way, so a dispatcher who watches the Service Fusion queue will see the new record just as fast.

Use this prompt in General Input: https://www.generalinput.com/prompts/turn-hubspot-quote-requests-into-service-fusion-customers