Webhooks v2 is an enhancement to our existing Webhooks functionality. This allows for more information to pull through, such as products, pricing, and customer information.
How It Works
The setup for Webhooks v2 has not changed much from the original Webhooks setup. There will be a toggle on the CRM and Appointments workflow to activate this feature. On the Document Routing, Results Routing, and Credit App Routing pages there will be a Webhooks toggle switch labeled “Use v2 (Recommended)” that can be toggled on and off. Toggling this switch ON will enable Webhooks v2. If the toggle is OFF you will continue using Webhooks v1.
Capabilities of Webhooks v2
Webhooks v2 can fetch Appointment information and bring it into SalesPro and it can push many other types of data out.
Fetching appointments has not changed from Webhooks v1 to Webhooks v2. Click here to check out our existing API Documentation to learn how to pull Appointments into SalesPro with Webhooks.
The data that can be pushed from SalesPro into other systems using Webhooks can be found below. There are many new fields that can be fetched including additional Customer info and info about the products and estimate.
New Webhook information is highlighted in YELLOW in the table below.
General Parameters
Parameter Name
Parameter Type
Description
trigger
String
This string will tell you which action caused the trigger. Options include contract, proposal, contract_verify, proposal_verify, credit_app, results.
user
User
The user that triggered the webhook.
customer
Customer
The customer that the user triggered the webhook for
estimate
Estimate
The estimate that was resulted. Note: This parameter is only sent when a lead is resulted (the trigger will be “results”).
fileURL
String
The url to the PDF file created within the app.
fileData
String
The base64 data of the PDF file created within the app. Note: This field will only be included if “Include PDF” is turned on in App Settings.
User
Parameter Name
Parameter Type
Description
id
String
The unique identifier for the user.
firstName
String
The first name of the user.
lastName
String
The last name of the user.
email
String
The email address of the user.
phoneNumber
String
The phone number of the user.
licenseNumber
String
The license number of the user.
username
String
The username of the user.
identifier
String
The identifier of the user.
office
Office
The office the user is currently logged into.
Customer
Parameter Name
Parameter Type
Description
id
String
The unique identifier for the customer.
estimateName
String
The saved name of the estimate.
apiSourceData
apiSourceData
The data downloaded from the API Source. This value will be null if the customer was created manually.
firstName
String
The customer’s first name.
lastName
String
The customer’s last name.
spouseFirstName
String
The spouse’s first name.
spouseLastName
String
The spouse’s last name.
street
String
The customer’s street address.
city
String
The customer’s city.
state
String
The customer’s state.
zipCode
String
The customer’s zip code.
phoneNumbers
Array
The customer’s phone number(s).
emails
Array
The customer’s email address(es).
API Source Data
Parameter Name
Parameter Type
Description
apiSource
String
The source of the data used to create the customer. Options include Marketsharp, Salesforce, LeadPerfection, JobProgress and JobNimbus.
data
The JSON data that is returned from the apiSource that SalesPro used to create the customer.
Phone Number
Parameter Name
Parameter Type
Description
number
String
The Phone number for the customer.
note
String
The note added to the phone number.
Email
Parameter Name
Parameter Type
Description
email
String
The email address for the customer.
note
String
The note added to the email address.
Estimate
Parameter Name
Parameter Type
Description
id
String
The unique identifier for the estimate.
isSale
Boolean
Determines if the estimate was resulted as a Sale or No-Sale.
saleAmount
Float
The amount entered in the “Total Sale Amount” result field.
resultNote
Array
All Sale/No-Sale results combined in one paragraph.
activeCategories
Array
The categories that are marked as active in the estimate. Note: All values will be lowercased.
resultData
Object
The title and value for each individual results field.
addedCategories
Array
The unique categories of all added items to the estimate.
addedItems
Array
The added items that make up the estimate.
office
OfficeObject
The office the user was logged into when they created the estimate.
Result Data
Parameter Name
Parameter Type
Description
title
String
The title from the Results line.
value
String
The value from the Results line.
Added Item
Parameter Name
Parameter Type
Description
quantity
Float
The quantity of the added item.
tag
String
The value the user entered in for “Tag”.
isActive
Boolean
Determines if the user had the item active or not.
additionalDetails
EnteredAdditionalDetail
The values entered for additional detail fields.
addedUpCharges
Array
The Upcharges that were added with this item.
customItem
Array
The custom products that were added in.
measureSheetItem
Array
The measure sheet items added in.
selectedOption
Array
The selected price option added in.
Added Up-Charge
Parameter Name
Parameter Type
Description
upChargeId
String
The category of the added item.
quantity
Float
The quantity of the added item.
additionalDetails
EnteredAdditionalDetail
The values entered for additional detail fields.
Custom Item
Parameter Name
Parameter Type
Description
name
String
The name of the custom item.
prices
String
The prices from the custom item.
description
String
The description of the custom item.
Measure Sheet Item
Parameter Name
Parameter Type
Description
objectId
String
The id from the Measure Sheet Item.
note
String
The note field from the Measure Sheet Item.
measurementType
String
The type of measurement from the Measure Sheet Item.
thumbnailURL
String
The URL to the thumbnail of the Measure Sheet Item.
drillDowns
String
The drill downs for the Measure Sheet Item.
name
String
The name of the Measure Sheet Item.
category
String
The category of the Measure Sheet Item.
subCategory
String
The sub-category of the Measure Sheet Item.
Selected Option
Parameter Name
Parameter Type
Description
objectId
String
The object ID of the selected Price Guide Option.
brand
String
The brand of the selected Price Guide Option.
name
String
The name of the selected Price Guide Option.
price
Float
The price of the selected Price Guide Option.
Finance Option
Parameter Name
Parameter Type
Description
objectId
String
The object ID of the selected Finance Option.
bankName
String
The bank name of the selected Finance Option.
minAmount
Float
The minimum amount of the selected Finance Option.
maxAmount
Float
The maximum amount of the selected Finance Option.
interestRate
Float
The interest rate of the selected Finance Option.
name
String
The name of the selected Finance Option.
term
Float
The term of the selected Finance Option.
note
String
The note of the selected Finance Option.
paymentFactor
Float
The payment factor of the selected Finance Option.
planCode
String
The plan code of the selected Finance Option
category
String
The category of the selected Finance Option
dealerFeePercent
Float
The dealer fee percent of the selected Finance Option.
Webhooks v2 will require in-house IT support as it uses SalesPro’s API and will require technical knowledge to set up.
On SalesPro’s side, Webhooks does not need an API to call. Simply toggle on the Enable switch, fill out the fields for URL and Auth Header (if needed) and toggle on which document PDFs you would like to include. These toggles can be found on the Appointments page as well Document, Credit Application, and Results routing pages.
This will allow our system to pull or push information through to the specified URL.
On the customer side of things, the data will need to be mapped. SalesPro’s support team will not be able to assist with this part of setup, as every system is different. We recommend having your in-house IT support assist with this as it requires technical knowledge to set up to pull and map the data.