Skip to content

JobTread

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

Bruin supports JobTread as a source for Ingestr assets. You can ingest data from JobTread into your data platform.

To set up a JobTread connection, add a configuration item in the .bruin.yml file and in your asset file. The configuration requires grant_key and organization_id.

Configuration

Step 1: Add a connection to the .bruin.yml file

yaml
connections:
  jobtread:
    - name: "jobtread"
      grant_key: "your_grant_key"
      organization_id: "your_organization_id"

WARNING

Grant keys expire after 3 months of inactivity.

Step 2: Create an asset file for data ingestion

Create an asset configuration file (e.g., jobtread_ingestion.yml) inside the assets folder with the following content:

yaml
name: public.jobtread
type: ingestr

parameters:
  source_connection: jobtread
  source_table: 'jobs'

  destination: postgres
  • name: The name of the asset.
  • type: Always ingestr for JobTread.
  • source_connection: The JobTread connection name defined in .bruin.yml.
  • source_table: Name of the JobTread table to ingest.
  • destination: The destination connection name.

Available Source 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

Step 3: Run asset to ingest data

bash
bruin run assets/jobtread_ingestion.yml

Running this command ingests data from JobTread into your destination database.

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.