Use Process Builder to add Multi Carrier Tracking Numbers
Our invocable method allows you to create a Multi Carrier Shipment object as long as you have a Tracking Number and the Ship Date* (only required for FedEx).
You also need to create a lookup relationship and have Custom Address Source object set up. Here are the steps to create a lookup relationship and Custom Address Source.
This can be achieved using Process Builder and our standard Multi Carrier Shipmate for Salesforce App.
For this guide we will work from an Opportunity object.
Step 1: Create Fields
Firstly make sure you have two custom fields available on the Opportunity object where the user will add the tracking number (Type: Text, Length 100) and the shipment date (Type: Date):
Step 2: Create Process Builder Process
Create a Process Builder Process by going to Setup > Create > Workflow & Approvals > Process Builder and click the New button.
Give the process a name, description, and choose to start the process when "A record changes".
Next choose the object you are starting the process from. Remember in this guide, we are using the Opportunity object, and we will be running the shipment creation once the Opportunity object has the Tracking Number and Ship Dates filled.
Make sure you set "Start the process" to be "when a record is created or edited". Click Save, and then select "Add Criteria".
We need to look out for three conditions to be met.
- Tracking Number has been changed
- Tracking Number is not null
- Ship Date is not null
This is how your page will look:
Next add an Immediate Action. The Action Type will be "Apex", and the Apex Class will be "Track Shipment".
There are now 2 Apex variables that need to be set, and up to 6 variables that can be set. Below is an explanation of each one:
preferenceId - this is the Shipmate Preference ID
trackingNumber - this is the tracking number you want to track
shipDate - the date this tracking number was created
recordId - the Opportunity ID (in this case)
createShipmentIfNotFound - if set to True, a new shipment object will be created if the tracking number does not already exist as a shipment on Salesforce
customAddressId - if you want to relate this shipment to your Opportunity (in this case) you need to specify the Custom Address Source ID, so that the link can be made.
For the customAddressId please set it to the Custom Address Source ID that you are running this process from. To get this ID, navigate to your Custom Address Source and copy the last part of the URL. If you are in Lightning just use the first 15 characters of this objectId.
For the recordId please set the Type as Field Reference, and the value to be the Object ID. In our case it will end up being the Opportunity ID.
Once all these fields have been added your screen will look like this:
Click Save, and don't forget to Activate this Process.
That is all set, you will now be able to have shipments created via process builder for tracking
Once you have activated the process builder, go to an Opportunity object, add the tracking number and ship date and the shipment will be auto-created.
If you have missed a step and the shipment isn't created, you can view error messages under Setup > Jobs > Apex Jobs.
The error messages are extremely helpful for debugging.
Please contact us using the icon to the bottom right of this screen if you have any queries, and we will be glad to help.