Skip to content

JobTread

JobTread is a construction management platform that helps contractors manage jobs, estimates, invoices, budgets, tasks, and more.

ingestr supports JobTread as a source.

URI format

jobtread://?grant_key=<grant_key>&organization_id=<organization_id>

URI parameters:

  • grant_key: A grant key used to authenticate with the JobTread API.
  • organization_id: The ID of the organization to ingest data from.

To create a grant key, navigate to the grant management page in your JobTread account. Upon creation, the grant key will be displayed one time so make sure to copy it.

To find your organization ID, run the following query in the API Explorer:

currentGrant:
  user:
    memberships:
      nodes:
        organization:
          id: {}
          name: {}

Once you have both, here's a sample command that will copy the data from JobTread into a DuckDB database:

sh
ingestr ingest \
  --source-uri "jobtread://?grant_key=your_grant_key&organization_id=your_org_id" \
  --source-table "jobs" \
  --dest-uri duckdb:///jobtread.duckdb \
  --dest-table "public.jobs"

Tables

JobTread source allows ingesting the following resources into separate tables:

TablePKInc KeyInc StrategyDetails
accountsid-replaceCustomer and vendor accounts
jobsid-replaceConstruction jobs/projects
contactsid-replaceContacts associated with accounts
documentsid-replaceAll document types including estimates, invoices, bills, and orders
tasksid-replaceTasks and to-dos linked to jobs
cost_codesid-replaceBudget cost code categories
cost_typesid-replaceCost type definitions (labor, materials, etc.)
cost_itemsid-replaceBudget line items on jobs
locationsid-replaceJob site locations with addresses
custom_fieldsid-replaceCustom field definitions
daily_logsid-replaceDaily job site logs with weather data
time_entriesid-replaceTime tracking records for labor
filesid-replaceFile attachments
commentsid-replaceComments on jobs, tasks, documents, etc.
document_paymentsid-replacePayments applied to documents
cost_groupsid-replaceBudget categories and templates
eventsidcreatedAtmergeAudit log of all actions in the system

Use these as --source-table parameter in the ingestr ingest command.

WARNING

JobTread does not expose an updatedAt field on any entity, so most tables use a full replace strategy. Only the events table supports incremental loading via createdAt since events are immutable.

WARNING

Grant keys expire after 3 months of inactivity.