What Hatch's Jobber integration is, how it works, and where to begin.
What does the Jobber integration do?
Hatch offers a native integration with Jobber that you can activate within the App Marketplace (located in your Hatch workspace). This integration syncs contact data from Jobber to Hatch, and can also sync Hatch events to Jobber.
While active, the Jobber integration will sync new and updated Jobber data every 15 minutes. It will also sync Hatch events back to Jobber as soon as they occur (if you have enabled this feature).
To get started, open the App Marketplace in your Hatch workspace and follow the setup instructions below.
How do you set up the integration?
Requirements
You will need the following to set up the integration:
- Hatch account with manager privileges
- Jobber account
Setup Steps
The following is the set of steps required to activate the integration:
- In Hatch, open the App Marketplace.
- Under the CRMs tab, click the Jobber Connect button.
- In the window that appears, click the Start Setup button.
- Follow the steps of the setup, clicking the Next button after each screen is completed.
- The setup will open a new browser tab to connect your Jobber account. You will need to approve the connection in this new tab.
- In the final screen of the setup, click the Finish button.
What Jobber data is available in Hatch?
Detail Field Lists
Some fields below are lists. Data within a list field is sorted by “created date” in descending order. For example, a list of jobs would have the most recently-created job listed first.
When accessing a list, you need to provide the index number of the list item that you want. Because this index number will vary, it is shown in the lists below with the placeholder #.
The following fields are available in the opportunity details:
Quote Opportunity
Field | Type |
---|---|
approved_at | Date |
client | Object |
client:balance | Number |
client:billing_address | Object |
client:billing_address:city | String |
client:billing_address:country | String |
client:billing_address:pc | String |
client:billing_address:province | String |
client:billing_address:street | String |
client:billing_address:street1 | String |
client:billing_address:street2 | String |
client:company_name | String |
client:created_at | Date |
client:custom_field_values | Object |
client:custom_field_values:<custom_field_name> | List OR String |
client:custom_field_values:<custom_field_name>:<n> | String |
client:emails | List |
client:emails:# | Object |
client:emails:#:address | String |
client:emails:#:description | String |
client:emails:#:id | String |
client:emails:#:primary | Index 1: Boolean Index >1: String (Boolean) |
client:first_name | String |
client:id | String |
client:is_company | Boolean |
client:is_achieved | Boolean |
client:last_name | String |
client:name | String |
client:phones | Object |
client:phones:Main1 client:phones:Mobile1 client:phones:Home1 client:phones:Work1 client:phones:Other1 client:phones:Fax1 |
Object |
client:phones:Main1:id client:phones:Mobile1:id client:phones:Home1:id client:phones:Work1:id client:phones:Other1:id client:phones:Fax1:id |
String |
client:phones:Main1:number client:phones:Mobile1:number client:phones:Home1:number client:phones:Work1:number client:phones:Other1:number client:phones:Fax1:number |
String |
client:phones:Main1:primary client:phones:Mobile1:primary client:phones:Home1:primary client:phones:Work1:primary client:phones:Other1:primary client:phones:Fax1:primary |
String (Boolean) |
client:phones:Main1:sms_allowed client:phones:Mobile1:sms_allowed client:phones:Home1:sms_allowed client:phones:Work1:sms_allowed client:phones:Other1:sms_allowed client:phones:Fax1:sms_allowed |
String (Boolean) |
client:tags | String |
client:updated_at | Date |
cost | Number |
created_at | Date |
custom_field_values | List |
custom_field_values:# | Object |
custom_field_values:#:created_at | String (Date) |
custom_field_values:#:name | String |
custom_field_values:#:position | String (Number) |
custom_field_values:#:unit | String |
custom_field_values:#:updated_at | String (Date) |
custom_field_values:#:value | List OR String |
custom_field_values:#:value_type | String |
custom_field_values:#:value:# | String |
deposit_amount | Number |
discount_amount | Number |
id | String |
job_description | String |
jobs | List |
jobs:# | Object |
jobs:#:automatically_charge_invoice | Index 1: Boolean Index >1: String (Boolean) |
jobs:#:billing_type | String |
jobs:#:client | String |
jobs:#:completed_at | Index 1: Date Index >1: String (Date) |
jobs:#:created_at | Index 1: Date Index >1: String (Date) |
jobs:#:custom_field_values | List |
jobs:#:custom_field_values:# | Object |
jobs:#:custom_field_values:#:created_at | Index 1: Date Index >1: String (Date) |
jobs:#:custom_field_values:#:name | String |
jobs:#:custom_field_values:#:position | Index 1: Number Index >1: String (Number) |
jobs:#:custom_field_values:#:unit | String |
jobs:#:custom_field_values:#:updated_at | Index 1: Date Index >1: String (Date) |
jobs:#:custom_field_values:#:value | List OR String |
jobs:#:custom_field_values:#:value_type | String |
jobs:#:custom_field_values:#:value:# | String |
jobs:#:end_at | Index 1: Date Index >1: String (Date) |
jobs:#:id | String |
jobs:#:job_number | Index 1: Number Index >1: String (Number) |
jobs:#:job_type | String |
jobs:#:line_items | List |
jobs:#:line_items_cost | Index 1: Number Index >1: String (Number) |
jobs:#:line_items_name | String |
jobs:#:line_items:# | String |
jobs:#:property | String |
jobs:#:quote | String |
jobs:#:start_at | Index 1: Date Index >1: String (Date) |
jobs:#:status | String |
jobs:#:total_value | Index 1: Number Index >1: String (Number) |
jobs:#:updated_at | Index 1: Date Index >1: String (Date) |
message | String |
quote_number | Number |
quote_status | String |
sent_at | Date |
transitioned_at | Date |
updated_at | Date |
won_at | Date |
Request Opportunity
Field | Type |
---|---|
client | Object |
client:balance | Number |
client:billing_address | Object |
client:billing_address:city | String |
client:billing_address:country | String |
client:billing_address:pc | String |
client:billing_address:province | String |
client:billing_address:street | String |
client:billing_address:street1 | String |
client:billing_address:street2 | String |
client:company_name | String |
client:created_at | Date |
client:custom_field_values | Object |
client:custom_field_values:<custom_field_name> | List OR String |
client:custom_field_values:<custom_field_name>:<n> | String |
client:emails | List |
client:emails:# | Object |
client:emails:#:address | String |
client:emails:#:description | String |
client:emails:#:id | String |
client:emails:#:primary | Index 1: Boolean Index >1: String (Boolean) |
client:first_name | String |
client:id | String |
client:is_company | Boolean |
client:is_achieved | Boolean |
client:last_name | String |
client:name | String |
client:phones | Object |
client:phones:Main1 client:phones:Mobile1 client:phones:Home1 client:phones:Work1 client:phones:Other1 client:phones:Fax1 |
|
client:phones:Main1:id client:phones:Mobile1:id client:phones:Home1:id client:phones:Work1:id client:phones:Other1:id client:phones:Fax1:id |
Object |
client:phones:Main1:number client:phones:Mobile1:number client:phones:Home1:number client:phones:Work1:number client:phones:Other1:number client:phones:Fax1:number |
String |
client:phones:Main1:primary client:phones:Mobile1:primary client:phones:Home1:primary client:phones:Work1:primary client:phones:Other1:primary client:phones:Fax1:primary |
String (Boolean) |
client:phones:Main1:sms_allowed client:phones:Mobile1:sms_allowed client:phones:Home1:sms_allowed client:phones:Work1:sms_allowed client:phones:Other1:sms_allowed client:phones:Fax1:sms_allowed |
String (Boolean) |
client:tags | String |
client:updated_at | Date |
created_at | Date |
custom_field_values | List |
custom_field_values:# | Object |
custom_field_values:#:created_at | String (Date) |
custom_field_values:#:name | String |
custom_field_values:#:position | String (Number) |
custom_field_values:#:unit | String |
custom_field_values:#:updated_at | String (Date) |
custom_field_values:#:value | List OR String |
custom_field_values:#:value_type | String |
custom_field_values:#:value:# | String |
id | String |
property | String |
source | String |
status | String |
title | String |
updated_at | Date |
Standard Field Mapping
Hatch standard fields are mapped from Jobber detail fields as detailed below.
Quote Opportunity
The base object of this opportunity model is the Jobber Quote. Therefore, (as an example) the id field would indicate the ID of the Jobber Quote record.
In Quote opportunities, the following Hatch standard fields are mapped from Jobber detail fields:
Hatch Standard Field | Jobber Detail Field |
---|---|
client:emails:1:address | |
External ID | id |
External Contact ID | client:id |
External Created At | created_at |
External Updated At (used for Hatch opportunity sorting) |
updated_at |
First Name | client:first_name |
Last Name | client:last_name |
Phone Number | client:phones:Main1:number client:phones:Mobile1:number (if above is missing) client:phones:Work1:number (if above is missing) client:phones:Home1:number (if above is missing) client:phones:Other1:number (if above is missing) client:phones:Fax1:number (if above is missing) |
Request Opportunity
The base object of this opportunity model is the Jobber Request. Therefore, (as an example) the id field would indicate the ID of the Jobber Request record.
In Request opportunities, the following Hatch standard fields are mapped from Jobber detail fields:
Hatch Standard Field | Jobber Detail Field |
---|---|
client:emails:1:address | |
External ID | id |
External Contact ID | client:id |
External Created At | created_at |
External Updated At (used for Hatch opportunity sorting) |
updated_at |
First Name | client:first_name |
Last Name | client:last_name |
Phone Number | client:phones:Main1:number client:phones:Mobile1:number (if above is missing) client:phones:Work1:number (if above is missing) client:phones:Home1:number (if above is missing) client:phones:Other1:number (if above is missing) client:phones:Fax1:number (if above is missing) |