What Actually Syncs Between Your Quoting Tool and Autotask, ConnectWise, HaloPSA and HubSpot
When an MSP owner asks us whether the PSA sync is real-time, the honest answer depends on the record. Companies and contacts arrive within a minute or two. Opportunity changes made in Autotask can take up to about 15 minutes. Products follow imports. Below is what syncs between Salesbuildr and Autotask, ConnectWise PSA, HaloPSA and HubSpot, record by record, and what doesn't sync at all.
The Short Version, Per PSA
| Record | Autotask | ConnectWise PSA | HaloPSA |
|---|---|---|---|
| Companies and contacts | Two-way. Changes in Autotask arrive by webhook, usually within 1–2 minutes. | Two-way. Changes in ConnectWise arrive by callback, usually within 1–2 minutes. | Two-way. Changes in Halo arrive by webhook (create, update, delete). |
| Opportunities | Two-way. Edits in Salesbuildr are pushed straight away. Edits in Autotask are pulled every 10 minutes, so allow up to about 15 minutes. | Two-way. Stage changes sync between the systems once every stage is mapped. | Two-way and ticket-based. Status changes come over by webhook; some other field changes may not trigger an update. |
| Accepted quote | Salesbuildr updates the Autotask opportunity and the Autotask quote. Every line item is visible on the Autotask quote. | The quote lines land on the ConnectWise opportunity, usually within 1–2 minutes of approval. | The quote is synced to Halo as a quotation, with its attachments. |
| Products and services | Services and labour come from Autotask. New Salesbuildr products are created in Autotask. | You choose per product type whether ConnectWise or Salesbuildr is the source. | Items import by category. An item without a category doesn't sync. |
| New distributor or catalog products | Created in Autotask the first time they’re added to a proposal, or pushed manually from the catalog. | Created in ConnectWise the first time they’re added to a proposal, or pushed manually from the catalog. | Created in Halo the first time they’re added to a proposal, or pushed manually from the catalog. |
| Recurring services | From Salesbuildr you create a recurring service contract, or add services to an existing contract. | Accepted quotes create a new agreement or an addition to an existing one, depending on your setting. | Set the billing frequency on the item in Halo. |
One Salesbuildr account connects to one PSA. Pick the PSA you run your business on; there is no splitting records across two.
Running another PSA, such as SuperOps? Connect it through the Salesbuildr API. The API reference lists the entities it exposes and the webhooks you can subscribe to.
Why "Real-Time" Depends on the Record
A sync is only as fast as the signal the PSA sends. Autotask, ConnectWise and Halo all send a signal when a company or contact changes, so those records follow within a minute or two. Autotask has no webhook for opportunities, so Salesbuildr pulls opportunity changes every 10 minutes. If a technician updates an opportunity in Autotask and you need it in Salesbuildr right away, use Import from Autotask on the opportunity instead of waiting.
Products are different again. Halo's product webhooks cover new and deleted items only, so a price you change on an existing Halo item comes over with the next import.
New products work the other way round. A product from a distributor feed or your Salesbuildr catalog is created in your PSA the first time you add it to a proposal, not when you add it to the catalog. If you want it in the PSA earlier, push it manually from the product in the Salesbuildr catalog.
If you were told a quoting tool syncs "everything, instantly", ask which records, and what the trigger is for each.
Autotask: What Happens When the Client Accepts
On acceptance, Salesbuildr updates the opportunity in Autotask and the quote record in Autotask. Every line item from the Salesbuildr quote is visible on that Autotask quote, so finance and service delivery see exactly what was sold.
Recurring services don't turn into contract entries by themselves. From Salesbuildr you decide what happens: create a new recurring service contract, or add the services to a contract the client already has. You can also switch on a post-sale ticket (queue, priority, issue type, estimated hours, due date and billing code) and purchase orders.
Three things to know before you connect:
- Every Salesbuildr category needs an Autotask billing code before products in it can be created in Autotask.
- Autotask Service Bundles don't sync. Rebuild them as Salesbuildr bundles, which quote as one line and keep every component on the Autotask quote.
- Opportunity fields you add in Salesbuildr can be written to Autotask UDFs, one way only. Multi-select UDFs are not supported.
More detail on the Autotask integration page.
ConnectWise PSA: Data Source Per Product Type
The first sync usually takes 10–20 minutes. After that, companies and contacts follow through ConnectWise callbacks.
For products, you decide per product type whether ConnectWise or Salesbuildr owns the data. Hardware is usually Salesbuildr-sourced, because that is where distributor pricing lives, and services are usually ConnectWise-sourced. A product type that mixes hardware and services can't get one clean source, so split it before you connect. Put the manufacturer part number in the MPN field, or distributor prices won't match.
For recurring lines, Salesbuildr reads the billing frequency from either Billing Frequency or Unit of Measure. Use one of the two consistently. Accepted quotes create ConnectWise agreements, and you configure whether that is a new agreement or an addition to an existing one.
Map every opportunity status and quote status you use. An unmapped stage simply doesn't update, which looks like a broken sync but isn't. More on the ConnectWise integration page.
HaloPSA: Categories Decide What Syncs
Clients, sites and contacts sync both ways through Halo webhooks. Opportunities in Halo are tickets, so you choose which opportunity types to import, the default type for new ones, and how statuses map. On acceptance the quote goes to Halo as a quotation.
Every Halo item needs a category, or it won't sync. Halo asset groups marked as items map to Salesbuildr product types per group, so if you remap a group to Labour, every item in it becomes labour. Contracts are read from Halo for Whitespace and are not pushed back. More on the HaloPSA integration page.
HubSpot: Companies, Contacts and Deals
If your pipeline lives in HubSpot, companies, contacts and deals sync both ways. HubSpot sends property changes by webhook, Salesbuildr runs a regular sync for recent changes, and a full reconciliation runs daily. Deal stages map per account; unmapped stages don't update.
When a quote is approved, the quote PDF is attached to the HubSpot deal. Line items and products don't sync to HubSpot, HubSpot quotes aren't imported, and activities, tasks and tickets stay where they are. The HubSpot integration is included in every plan; our support team switches it on for your account and you connect with OAuth. See the HubSpot page.
Before You Connect: Three Decisions
- Which system owns each kind of product. Write it down per type: hardware, software, services, labour.
- Your stage and status map. List every opportunity stage and quote status you use, and what it should become on the other side.
- What acceptance should trigger. Quote and opportunity only, or also a contract, a ticket and purchase orders.
When a record fails to sync, it shows up in Salesbuildr under Settings, Tools, Issues, with a Retry button. The full picture for every PSA is on the PSA sync page, and what happens after a client says yes is on Delivery.