{
  "slug": "jobtread",
  "url": "https://apps.sectorgrowth.com/integrations/jobtread/",
  "name": "JobTread",
  "vendor": "JobTread",
  "aliases": [
    "Job Tread",
    "JobTread API",
    "JobTread CRM",
    "JobTread construction software"
  ],
  "website": "https://www.jobtread.com/",
  "category": {
    "slug": "construction",
    "name": "Construction",
    "url": "https://apps.sectorgrowth.com/categories/construction/"
  },
  "summary": "JobTread prices the estimate, budgets the job and collects the signed customer order for remodelers, behind an API with its own query language.",
  "answer": "No. Neither HubSpot nor JobTread publishes a JobTread integration for HubSpot, and the HubSpot App Marketplace lists no JobTread app as of September 2026. We recommend a custom API integration driven by JobTread's webhooks, at 70 to 150 build hours. JobTread's own Zapier route suits a single new-lead handoff, and it stops being enough once approved orders and invoices have to reach HubSpot.",
  "nativeApp": {
    "status": "none",
    "verifiedAt": "2026-09-28"
  },
  "api": {
    "style": "graphql",
    "auth": "api-key",
    "webhooks": "yes",
    "changedSince": "partial",
    "sandbox": "unknown",
    "docsUrl": "https://app.jobtread.com/docs"
  },
  "objects": [
    {
      "source": "Account",
      "hubspot": "company",
      "direction": "two_way",
      "key": "JobTread account id in a custom HubSpot property",
      "notes": "Accounts cover customers and vendors, so every read filters on type."
    },
    {
      "source": "Contact",
      "hubspot": "contact",
      "direction": "two_way",
      "key": "JobTread contact id, with email read from a custom field value",
      "notes": "The contact type in JobTread's schema has no email field of its own."
    },
    {
      "source": "Job",
      "hubspot": "deal",
      "direction": "two_way",
      "key": "JobTread job id stored on the deal",
      "notes": "A job exists from the first estimate, so it is the pursuit and later the project."
    },
    {
      "source": "Customer order",
      "hubspot": "deal",
      "direction": "to_hubspot",
      "key": "Job id, with approved orders summed into the deal amount",
      "notes": "JobTread's documentation publishes the sum query this uses."
    },
    {
      "source": "Customer invoice",
      "hubspot": "custom",
      "direction": "to_hubspot",
      "key": "JobTread document id, associated to the deal",
      "notes": "Pending invoices read as the open balance on the account."
    }
  ],
  "approaches": [
    {
      "kind": "custom",
      "fit": "recommended",
      "why": "JobTread's webhooks cover accounts, contacts, jobs, documents and payments, and its query language returns exactly the fields a mapping needs, so a keyed service can hand leads over and bring orders and invoices back."
    },
    {
      "kind": "ipaas",
      "fit": "possible",
      "why": "JobTread documents a Zapier integration and names HubSpot among its CRM pairings. Zapier suits creating a JobTread customer from a new HubSpot lead, and its cost rises with usage, as JobTread's own Zapier page notes."
    },
    {
      "kind": "native",
      "fit": "avoid",
      "why": "The HubSpot App Marketplace lists no JobTread app, and JobTread's integration directory names no HubSpot connector of its own."
    }
  ],
  "connectionMethods": [
    "api",
    "ipaas"
  ],
  "effort": {
    "discoveryHours": [
      10,
      20
    ],
    "buildHours": [
      70,
      150
    ],
    "buildBand": "70 to 150 hours",
    "typicalElapsed": "4 to 8 weeks"
  },
  "pattern": "webhook-queue",
  "faqs": [
    {
      "q": "Is there a HubSpot app for JobTread?",
      "a": "No. The HubSpot App Marketplace lists no app named for JobTread as of September 2026, and JobTread's own directory of built-in and partner integrations names no HubSpot connector. JobTread does document Zapier, and lists HubSpot among the CRMs it pairs with there, which covers a simple handoff of new leads."
    },
    {
      "q": "What is Pave in the JobTread API?",
      "a": "Pave is JobTread's own query language, which JobTread describes as similar to GraphQL. Every request is a POST to one endpoint, inputs sit under a dollar key, and you name the fields you want back, including the id of every object. It is not GraphQL, so GraphQL client libraries do not apply."
    },
    {
      "q": "How does a JobTread integration authenticate?",
      "a": "With a grant. You create one on JobTread's grant management page, copy the grant key the one time it is shown, and send it inside each query rather than in a header. A grant key expires after three months of inactivity, so each environment gets its own and an idle one is watched."
    },
    {
      "q": "Can JobTread tell HubSpot when a customer approves a proposal?",
      "a": "Yes, through a document update event. The service reads the document, and when an approved customer order appears on a job, it moves the linked deal to closed won and resets the amount to the sum of approved customer orders on that job. Later approvals on the same job raise the amount rather than opening new deals."
    },
    {
      "q": "Why can a JobTread sync not simply poll for recent changes?",
      "a": "JobTread's schema gives accounts, contacts, jobs, documents and locations a created timestamp but no updated one. A poll can find new records and cannot find edited ones, so the webhook stream is the change feed, and a nightly pass re-reads open jobs to catch any event that never arrived."
    },
    {
      "q": "What are the JobTread API rate limits?",
      "a": "JobTread's documentation confirms that every grant key may only make a certain number of requests in a given time frame, and it does not publish the number. We keep calls serial per grant, fetch nested fields in one query instead of many small ones, and back off when the limit answers."
    },
    {
      "q": "What does a JobTread and HubSpot integration take in hours?",
      "a": "Allow 10 to 20 hours of discovery and 70 to 150 hours of build for accounts, contacts, jobs, customer orders and invoices, with webhook ingest, a link store and nightly reconciliation. Most of discovery goes on custom fields and document statuses, which differ from one JobTread organization to the next."
    }
  ],
  "sections": [
    {
      "depth": 2,
      "text": "Why teams connect JobTread to HubSpot",
      "anchor": "#why-teams-connect-jobtread-to-hubspot",
      "url": "https://apps.sectorgrowth.com/integrations/jobtread/#why-teams-connect-jobtread-to-hubspot"
    },
    {
      "depth": 2,
      "text": "What syncs",
      "anchor": "#what-syncs",
      "url": "https://apps.sectorgrowth.com/integrations/jobtread/#what-syncs"
    },
    {
      "depth": 2,
      "text": "Architecture",
      "anchor": "#architecture",
      "url": "https://apps.sectorgrowth.com/integrations/jobtread/#architecture"
    },
    {
      "depth": 2,
      "text": "Three ways to connect",
      "anchor": "#three-ways-to-connect",
      "url": "https://apps.sectorgrowth.com/integrations/jobtread/#three-ways-to-connect"
    },
    {
      "depth": 2,
      "text": "What breaks and how we prevent it",
      "anchor": "#what-breaks-and-how-we-prevent-it",
      "url": "https://apps.sectorgrowth.com/integrations/jobtread/#what-breaks-and-how-we-prevent-it"
    },
    {
      "depth": 3,
      "text": "No updated timestamp to poll on",
      "anchor": "#no-updated-timestamp-to-poll-on",
      "url": "https://apps.sectorgrowth.com/integrations/jobtread/#no-updated-timestamp-to-poll-on"
    },
    {
      "depth": 3,
      "text": "Grant keys lapsing when idle",
      "anchor": "#grant-keys-lapsing-when-idle",
      "url": "https://apps.sectorgrowth.com/integrations/jobtread/#grant-keys-lapsing-when-idle"
    },
    {
      "depth": 3,
      "text": "Email kept in custom fields",
      "anchor": "#email-kept-in-custom-fields",
      "url": "https://apps.sectorgrowth.com/integrations/jobtread/#email-kept-in-custom-fields"
    },
    {
      "depth": 3,
      "text": "Vendors in the customer list",
      "anchor": "#vendors-in-the-customer-list",
      "url": "https://apps.sectorgrowth.com/integrations/jobtread/#vendors-in-the-customer-list"
    },
    {
      "depth": 2,
      "text": "Our approach",
      "anchor": "#our-approach",
      "url": "https://apps.sectorgrowth.com/integrations/jobtread/#our-approach"
    }
  ],
  "caseStudies": [],
  "guides": [
    "https://apps.sectorgrowth.com/guides/choose-a-hubspot-integration-approach/"
  ],
  "status": "published",
  "verifiedAt": "2026-09-28",
  "updatedAt": "2026-09-28",
  "authors": [
    {
      "name": "Prash",
      "role": "Lead of Technical Integrations and AI Solutions"
    }
  ],
  "sources": [
    {
      "title": "Docs | JobTread",
      "url": "https://app.jobtread.com/docs"
    },
    {
      "title": "Open API | JobTread",
      "url": "https://www.jobtread.com/integrations/open-api"
    },
    {
      "title": "Integrations | JobTread",
      "url": "https://www.jobtread.com/integrations"
    },
    {
      "title": "Zapier Integrations | JobTread",
      "url": "https://www.jobtread.com/integrations/zapier"
    },
    {
      "title": "Construction CRM Software | JobTread",
      "url": "https://www.jobtread.com/features/construction-crm"
    }
  ]
}