There is no ServiceTrade app in the HubSpot App Marketplace, and ServiceTrade's own integrations page doesn't list HubSpot. To connect the two you build the link yourself, either with Zapier, which has a ServiceTrade app, or with the ServiceTrade API and some code.
What most contractors want is simple. When a job is scheduled or completed in ServiceTrade, the matching deal in HubSpot moves to the right stage. The hard part is making sure the right deal moves, and keeping won revenue correct once deals go past Closed Won.
Below I cover both routes, what to sync, and what I fixed on a live build for an industrial cleaning company.
What ServiceTrade is
ServiceTrade is field service management software for commercial service contractors. Its website names mechanical service, fire protection and life safety, commercial HVAC, electrical, refrigeration and kitchen exhaust cleaning as the trades it serves. The office uses it to quote, schedule, dispatch and invoice, and technicians use its mobile app on site.
When techs work in ServiceTrade and sales works in HubSpot, sales can't see when a sold job gets booked or finished.
Is there an official ServiceTrade integration for HubSpot?
Not as of October 2026. A search of the HubSpot App Marketplace for “ServiceTrade” returns no ServiceTrade app. The ServiceTrade integrations page lists accounting and ERP systems, tax and compliance tools, fleet management, construction management and a couple of marketing tools. There is no CRM on it.
ServiceTrade's SalesManager page says its estimating product can work alongside HubSpot or Salesforce, and that its open API can sync with a CRM. It also says there is no fixed list of pre-built connectors, so the path to HubSpot is still an API connection someone has to build.
A few integration vendors, MindCloud among them, publish HubSpot and ServiceTrade pages. They describe a build the vendor's own team scopes and maintains on its platform, with nothing to install from a marketplace.
Ways to connect ServiceTrade and HubSpot
Zapier
Zapier's ServiceTrade app is the quickest route for most contractors. Its triggers include New Job, Updated Job, New Quote, Updated Quote, Updated Appointment, and new or updated locations and companies, and Zapier lists them as instant. Actions include Create Job, Create Quote, Create Company and Create Location. On the HubSpot side, Zapier can find a deal and update it.
The trigger you'll rely on most is Updated Job. Zapier says it fires when an existing job is updated, so edits that have nothing to do with sales still start the Zap. More on that below.
The ServiceTrade API
ServiceTrade has a REST API with a public reference, and its developers page lists official SDKs for Node, Python and PHP. The API covers companies, locations, contacts, quotes, jobs, appointments, service requests, recurring services (called service recurrences in the API) and invoices.
It also supports webhooks. ServiceTrade posts a message to a public URL when a record is created, updated or deleted, and it can include the old and new value when a job's status or a quote's status changes. The message only identifies the record, so your code asks the API for the details. Messages can arrive out of order or more than once, and your code has to cope with that before it writes to HubSpot through the HubSpot CRM API.
Check one thing early. ServiceTrade says developers who build applications for its customers go through a Partner App review before they get an app key, so ask what applies to your project before anyone writes code. Even if Zapier handles day-to-day changes, the API is where you load history from.
What to sync, and why
Start from what your sales team needs to know, which is usually when a sold job is booked and when it's done.
- Quotes and jobs to deals. The HubSpot deal stands for the sale. Link it to the ServiceTrade work it produced. On an Enterprise plan, jobs can also live in HubSpot as a custom object associated with the deal.
- Job status to deal stage. ServiceTrade's API lists job statuses such as new (shown as Unscheduled), scheduled, completed, canceled and closed. Map the ones that matter, usually scheduled and completed, to deal stages. Every job also has a type, such as cleaning, inspection or repair, and you may not want all of them moving sales deals.
- Companies and locations. A ServiceTrade customer company can have many locations, which are the sites where work happens. Map customer companies to HubSpot companies and keep the location on the job or deal. Zapier has templates for creating companies in either direction.
- Recurring services. A recurring service in ServiceTrade generates a new service request each cycle. Rather than typing a HubSpot deal for every visit, report recurring revenue from ServiceTrade data. Zapier's ServiceTrade app has no recurring service trigger, so this part comes from the API.
Match on the service request ID, not the location
This choice decides whether anyone can trust the sync. A location in ServiceTrade is a physical site, and a busy site collects many quotes, jobs and recurring service requests over time. If your Zap finds the HubSpot deal by location ID, an update to one job at that site can hit every deal linked to it.
A service request is one unit of work at one location. In ServiceTrade's data model it can sit on the quote and on the job that does the work, so its ID follows the work from quote to completion. Store it on the deal in a custom property and match on that. When you create the property, HubSpot lets you turn on “Require unique values for this property” so two deals can't hold the same ID. Its validation rules guide notes this can only be set at creation. If one deal covers several services, decide which ID is the anchor before you build.
Keep won revenue right when stages continue after the sale
If your pipeline has stages after the sale, such as Job Scheduled, Job Completed and Follow-up Call, check how HubSpot counts them. Every deal stage has a deal probability, and the Won and Lost settings mark a stage as closed. HubSpot's pipeline guide says you need both for sales and revenue reports to handle deals correctly.
If Job Scheduled has an open probability, a Closed Won deal stops counting as won the moment its job is booked, so won revenue in your reports falls as the work goes ahead.
The fix is to set every stage after the sale to Won, so a deal stays in won revenue whether it sits at Quote Accepted, Job Scheduled, Job Completed or Follow-up Call. Check the Lost stages at the same time. Then make sure the sync only moves deals forward. A HubSpot workflow can check the deal's current stage before changing it, so a deal at Job Completed never drops back to Job Scheduled because someone edited the job.
Keep Zapier task use down by putting filters first
Zapier counts a task for each successful action step. Its task usage guide says triggers and filter steps never use tasks, and steps that don't run because a filter stopped the Zap cost nothing. A search step set to carry on when nothing is found does use a task.
So the order of steps decides the bill. With an Updated Job trigger, a Zap that looks up the deal and writes to HubSpot on every edit spends tasks on changes sales doesn't care about. Put a filter straight after the trigger that checks job type and status, and those edits stop there at no cost. Filters need a paid Zapier plan. Also look for two Zaps reacting to the same job update, because each spends its own tasks.
Past a plan's task limit, Zapier either bills the extra tasks or holds new Zap runs until the billing cycle resets, depending on the plan.
Do you need Data Hub for custom code?
Only if you want code inside HubSpot workflows. HubSpot's custom code action docs say the action needs Data Hub Professional or Enterprise. Data Hub is what HubSpot used to call Operations Hub. With it, a workflow can run JavaScript, or Python in beta, and call services outside HubSpot such as the ServiceTrade API.
You can build this without it. Standard workflows, available on Professional and Enterprise tiers of most hubs, can move deal stages based on a property Zapier writes. Before buying an add-on, check HubSpot's current pricing and what your plan already includes.
How I did this for Phoenix Industrial Cleaning
Phoenix Industrial Cleaning, a US industrial cleaning company, runs field work in ServiceTrade and sales in HubSpot. I built the integration between them, then rebuilt it after matching on a shared location ID moved the wrong deals.
Before the rebuild, deals didn't move with job progress, location matching swept unrelated deals into the wrong stage, and won revenue dropped as jobs progressed. Zapier use was heading to 4,000 to 5,000 tasks a month on a 2,000-task plan. The portal has no Operations Hub, so custom code in workflows wasn't an option.
In the order the work was done:
- Jobs now link to deals on the ServiceTrade service request ID.
- Guarded workflows move deals forward to Job Scheduled and Job Completed, for cleaning jobs only.
- I corrected the won and lost stage rules, which put 57 deals back into won revenue.
- I removed the dead Zaps and merged the two job Zaps with the filters first, so routine job edits cost zero tasks.
- I backfilled service request IDs onto 186 deals and 112 jobs from the ServiceTrade API, removed stale links and merged duplicates.
- I built a live recurring revenue dashboard from ServiceTrade data.
- I gave advice on plan and seats, worked out with HubSpot's account team.
The stack was HubSpot custom objects, workflows and dashboards, the ServiceTrade API and Zapier. Deals now follow the job, and Zapier is projected at 1,500 to 1,900 tasks a month, back under plan. The details are in the Phoenix Industrial Cleaning case study.
If you'd rather have this built for you, see my ServiceTrade and HubSpot integration service.
Questions
Is there a native ServiceTrade integration for HubSpot?
No. As of October 2026 there is no ServiceTrade app in the HubSpot App Marketplace, and ServiceTrade's integrations page doesn't list HubSpot. You connect them through Zapier or the ServiceTrade API.
Can Zapier sync ServiceTrade jobs to HubSpot deals?
Yes. Start from the Updated Job trigger, filter on job status and type, then update the HubSpot deal that holds the same service request ID.
Do I need Data Hub (Operations Hub) to connect ServiceTrade and HubSpot?
Only for custom code actions inside workflows, which need Data Hub Professional or Enterprise. A Zapier setup with standard HubSpot workflows works without it.
Why did won revenue drop after we added job stages?
The stages after Closed Won are probably set to an open probability, so HubSpot stops counting those deals as won. Set each post-sale stage to Won in the pipeline settings.
Can existing deals be linked to ServiceTrade jobs?
Yes. A one-off backfill from the ServiceTrade API can write the service request ID onto existing deals before the sync goes live. Without it, old deals have nothing to match on.