- Next: click on the Choose Account step and then click the blue button to "Sign into ServiceTitan"
- Next: Click Continue
- Next: Click on "Test Trigger"
- Next: Review data and press "Continue" if everything looks correct.
- Open a workflow where PEP is the trigger:
- With webhook triggers, you'll have to do something a little different than above.
- First, click "Choose event" and then clear out the event by clicking the "x" to the right of the event dropdown field:
- Next: Click the same dropdown and select the same event for "eBid Created" and then click "Next: Choose account"
- Next: Select your proper account and then click "Continue". If there is not account then create a new connection by clicking the blue "Sign into PEP" button and adding the api key.
In this help article, you’ll learn how to properly initialize a workflow after using the “Copy To” workspace feature. When you copy or duplicate a workflow, some of the artifacts that make it run are missing – most notably, the trigger and account connection.
In order for a workflow to function properly, it needs to have a trigger created. A trigger is something that kicks off the workflow. It is an event such as a new customer, a new job, a new invoice, updated spreadsheet rows or a certain time of day. This is just an example of many different kinds of triggers. Each application will have its own set of triggers that can kick off a workflow.
Upon first look, it would appear there is already a trigger in your copied workflow. However, on Workload’s backend, it has not been initialized. In order to initialize it, click into the Trigger step and open it.
It is important to note that there are two types of triggers – polling and webhooks. In this first example, we will look at a polling trigger for ServiceTitan.
Next: click on the Choose Account step and then click the blue button to “Sign into ServiceTitan” #
Fill in the form fields accordingly, make sure to include all necessary fields before click “Yes, Continue” at the bottom of the popup window.
Next: Click Continue #
Next: Click on “Test Trigger” #
Next: Review data and press “Continue” if everything looks correct. #
After pressing Continue, you’ll be taken to the next subsequent step in the workflow, which happens to be another ServiceTitan app in this example. Click on the “Account” step here and manually select the first account in the dropdown list.
Repeat the same thing for each of the steps that include a 3rd party software function (not Workload’s own formatting functions). Open the step by clicking inside the box or the blue “EDIT” button, then go to “Account” and manually select the account.
You may need to connect new credentials by signing into the other apps that aren’t ServiceTitan (for this example).
Now let’s look at a Webhook style trigger. In this example we’ll use the Painter’s Estimating Program (PEP) to work from.
Open a workflow where PEP is the trigger: #
With webhook triggers, you’ll have to do something a little different than above. #
First, click “Choose event” and then clear out the event by clicking the “x” to the right of the event dropdown field: #
Next: Click the same dropdown and select the same event for “eBid Created” and then click “Next: Choose account” #
Next: Select your proper account and then click “Continue”. If there is not account then create a new connection by clicking the blue “Sign into PEP” button and adding the api key.
#
Now your screen should look like this:
If you have the ability to immediately capture a “live” event, then click the blue button for “Test Trigger” a timer will appear and you’ll have 60 seconds to perform the event that would fire off the webhook for eBid Created.
In this example, we don’t have the ability to wait for an event for fire and time it correctly, so we will click on “Customize Trigger Data” instead. A popout window will appear where you can paste JSON data directly into the box, which can be treated as the sample trigger data.
We can use this JSON as our sample data:
{
"JobInfo": {
"Fax": "",
"Cell": "",
"City": "Franklin",
"Email": "test4@workload.co",
"JobId": "679318",
"JobNo": "",
"Notes": "",
"Phone": "3177368217",
"State": "IN",
"Status": "New",
"SyncId": "",
"Country": "United States",
"InitRqd": "",
"JobName": "3116733 - Residential Interior",
"JobType": "Residential Interior",
"Zipcode": "46131",
"Address1": "543 Home Street",
"Address2": "",
"ClientId": "521297",
"JobDescr": "Call customer before arrival.",
"ClientUUID": "",
"CreateDate": "2022-11-04T18:21:20.38Z",
"FinishDate": "",
"HourlyRate": "",
"DiscountMat": "0",
"DscntLbrPct": "",
"DscntMatPct": "",
"ExtAppJobId": "",
"HoursAccess": "8",
"JobAreaList": [
{
"M4": "",
"IsOpt": "false",
"AreaName": "Project",
"IsAChOrd": "false",
"UseTempl": "",
"JobAreaId": "3012382",
"AreaPicURL": "",
"AreaCalcType": ""
}
],
"LocalStatus": "",
"ContractDate": "",
"ProposalDate": "",
"TaxRateLabor": "0",
"UpgLvlSelect": "",
"AbstractJobId": "c13c7400-ee9b-4a2b-a099-b4550591c968",
"DiscountLabor": "0",
"HoursBillable": "8",
"WorkStartDate": "",
"CrewAssignment": "_UNASSIGNED",
"ExtraMaterials": "0",
"OverheadMarkup": "0",
"SyncDeletedUtc": "",
"UseDscntLbrPct": "",
"UseDscntMatPct": "",
"ExtAppCompanyId": "",
"RoundUpMaterial": "false",
"AbstractClientId": "",
"NewJobHourlyRate": "",
"TaxRateMaterials": "0",
"WorkStartDateStr": "",
"ProfitMarkupLabor": "0",
"UserNameOfCreator": "",
"ChangeJobHourlyRate": "",
"ChargeForLeftOverMat": "false",
"DefaultNumberOfSteps": "",
"ProfitMarkupMaterials": "0.2",
"SyncSrvLastUpdatedUtc": "2022-11-09T19:07:33.44Z",
"ExtraMaterialsIsMarkup": "",
"TaxRateMaterialsToCust": "0"
},
"ClientInfo": {
"Fax": "",
"Cell": "",
"City": "Franklin",
"Email": "test4@workload.co",
"Notes": "created by workload.co",
"Phone": "3174568832",
"State": "IN",
"SyncId": "",
"Country": "United States",
"IsALead": "false",
"JobList": "",
"Zipcode": "46131",
"Address1": "543 Main Street",
"Address2": "",
"ClientId": "521297",
"GoogleId": "",
"LastName": "Deisel",
"CompanyId": "15419",
"FirstName": "Bobby",
"SMSOptOut": "",
"CreateDate": "2022-08-31T19:25:12.34Z",
"CrtsyTitle": "",
"GoogleETag": "",
"LeadSource": "",
"CompanyName": "BD Inc.",
"EmailOptOut": "",
"GQProfileId": "",
"LastUpdated": "2022-09-01T20:11:44.533Z",
"QBExprtDate": "",
"ColorDotColor": "orange",
"CompanyUserId": "",
"GoogleUpdated": "",
"ExtAppClientId": "",
"LeadSourceType": "",
"SyncDeletedUtc": "",
"EmailOptOutDate": "",
"ExtAppCompanyId": "",
"AbstractClientId": "339bfb79-7c4c-4a59-94c9-58e93ece12c4",
"DoNotSndToRfrlia": "",
"SMSOptOutDateUtc": "",
"SyncSrvLastUpdatedUtc": "2022-09-01T20:11:44.533Z"
},
"ReasonLost": "",
"JobCostInfo": {
"JobId": "679318",
"Labor": {
"wcTaxLabor": "0",
"wcLaborTotal": "1344.08",
"wcLaborProfit": "0",
"overheadMarkup": "0",
"wcLaborWithTax": "1344.08",
"wcDiscountLabor": "0",
"wcLaborOverhead": "0",
"profitMarkupLabor": "0",
"wcLaborAfterDiscount": "1344.08",
"wcLaborWithoutProfit": "1344.08",
"wcTotalLaborOverride": "0",
"wcTotalLaborFixedRateItems": "0",
"wcLaborWithoutProfitOrOverhead": "1344.08",
"laborProfitPercentAfterDiscount": "0"
},
"JobType": "Residential Interior",
"Material": {
"wcDiscountMat": "0",
"wcMaterialTax": "0",
"wcMaterialWithTax": "0",
"wcMaterialsProfit": "0",
"wcMatAfterDiscount": "0",
"wcTotalMaterialPrice": "0",
"profitMarkupMaterials": "0.2",
"wcTotalMaterialOverride": "0",
"wcMaterialsWithoutProfit": "0",
"wcTotalMaterialFixedPrice": "0",
"materialProfitPercentAfterDiscount": "0"
},
"DspMatTax": "$0.00",
"GrandTotal": "1344.08",
"DiscountMat": "0",
"DscntLbrPct": "",
"DscntMatPct": "",
"DspLaborTax": "$0.00",
"MatSubtotal": "0",
"DspMatProfit": "$0.00",
"TaxRateLabor": "0",
"DiscountLabor": "0",
"DspGrandTotal": "$1,344.08",
"LaborSubtotal": "1344.08",
"DspLaborProfit": "$0.00",
"DspMatDiscount": "$0.00",
"DspMatSubtotal": "$0.00",
"OverheadMarkup": "0",
"UseDscntLbrPct": "",
"UseDscntMatPct": "",
"DspLaborDiscount": "$0.00",
"DspLaborOverhead": "$0.00",
"DspLaborSubtotal": "$1,344.08",
"DspTotalRawLabor": "$1,344.08",
"RemainingBalance": "1344.08",
"TaxRateMaterials": "0",
"ProfitMarkupLabor": "0",
"DspTotalLaborHours": "9h 4m",
"DspRemainingBalance": "$1,344.08",
"DspTotalGrossProfit": "$0.00",
"DspTotalRawMaterial": "$0.00",
"DspEffLaborHourlyRate": "$148.19",
"ProfitMarkupMaterials": "0.2",
"DspTotalGrossProfitPct": "0.0",
"TaxRateMaterialsToCust": "0",
"DspMatProfitPctAftDscnt": "0.0",
"DspLaborProfitPctAftDscnt": "0.0",
"DspCombinedLaborAndMatProfit": "$0.00",
"DspCombinedLaborAndMatDiscount": "$0.00"
},
"ExtAppCompanyId": ""
}
Copy the above block of code and paste it directly into the Custom Trigger popout box in Workload, then click “Submit”:
Next: Click “Continue” and then click “Save & Close” on the next subsequent step. You should now be back into the editor’s view that shows all the steps in a flowchart. Click into any other 3rd party software apps like ServiceTitan, Google Sheets, etc. and make sure to manually add the “Connect Account” step to each of them.