If you have read our other article that explains how to send drip emails using lead, you must have faced an issue with the Lead Conversion.


After listening to our customers carefully, we have come up with a solution through which you can leverage Salesforce Campaign and the Campaign Members to send Drip Emails. 


You can add either Leads or Contacts or both to the Campaign as Campaign Members.


Note: If you follow this approach and using Leads as campaign members, you won't face any issue with the Lead Conversion as such.


Now, let us go through the steps to achieve the same.



Important Notes:

  • Email status values such as open, click, bounce, spam, unsubscribe etc gets logged under a custom object called 'MassMailer Email Status' related to the Lead, Contact, and the Campaign objects. Activity history also gets logged under these objects.

  • Salesforce Process Builder is so powerful that you can perform many advanced actions such as creating tasks, updating records, notifying users while creating drip emails/campaigns in Salesforce.



1. Navigate to the Workflow Process builder in Salesforce:


Click on the Salesforce 'Setup' from top right corner and search for process builder from the quick find box in the left side panel.




Click on the Process Builder link from the search results from the above step and click on the 'New' button. This will open a form to enter the workflow process details.



2. Create a Workflow Process that triggers Drip Emails for newly created Campaign Members.


Enter the 'Process Name', 'Description', 'The process starts when' values as per your needs and click on the 'Save' button.




3. Choose Object and Specify when to start the Workflow Process:


Click on Add Object to choose the Campaign Member Object from the list shown. 


Under 'Start the process' section, select either 'only when a record is created' or 'when a record is created or edited' option based on your requirement and click on 'Save' button.




4. Define Criteria when to trigger the Workflow Process:


Click on 'Add Criteria' and enter 'Criteria Name', select 'Criteria for Existing Actions', fill the 'Set Conditions' section and then add the conditions logic as per the example show in the following picture. Once all the information is entered click 'Save' to save the criteria.





5. Define Immediate Action to invoke Drip 1 Process:


Once we are done with the above step, defining the criteria for the main drip campaign, we will click on 'View All Processes' button and move to Step 7 to define the processes related to Drip 1 & Drip 2. We will come back to this step after that.


Click on 'Add Action' and do the following and click 'Save'.

  • Select the Action Type as 'Process'.

  • Enter Action Name.

  • Choose ‘Drip 1' invokable process that is created by following the instructions in Step 7.

  • Select the Process Variable as the Campaign Member that has started this process and Save.





Immediate Actions, 'Invoke Drip 1' is saved now.





6. Define a Scheduled Action to invoke Drip 2 Process:


Now we need to define a Scheduled Action by clicking on 'Set Schedule' link and enter the schedule for example, 1 Day after Campaign Member Created Date as shown below. Set Time for Actions to Execute depends on your business need. Click Save button to record the changes.


Click on Set Schedule in the Scheduled Actions box.



Select the time for the action to execute such as 3 days after the campaign member created date and click Save.




Now click 'Add Action' to select Drip 2 invokable process that triggers drip 2 email.




Click on 'Add Action' and do the following and click 'Save'.

  • Select the Action Type as 'Process'.

  • Enter Action Name.

  • Choose ‘Drip 2' invokable process that is created by following the instructions in Step 8.

  • Select the Process Variable as the Campaign Member that has started this process and Save.



Click Activate to activate the main process.



7. Define the Process related to Drip 1:


Click on the 'New' button to define the Drip 1 process for example given below.





Enter 'Process Name' 

Tab out to auto populate 'API Name'

Enter 'Description'

Make sure you select 'It's invoked by another process' value from the dropdown list for the field, 'The process starts when' (This is a must option if you are looking to implement a drip campaign)




Click on 'Add Object' and select 'Campaign Member' and click Save button.




Now you can add any filter criteria by clicking on 'Add Criteria' link and add any filter conditions.


The criteria you plan to add can also be an exit criteria that there won't be any drip email sent to the campaign member. The following example shows the exit criteria if the Campaign Member Status is 'unsubscribe' or 'bounce', or 'spamreport' then don't take any action further. So this becomes your exit criteria for any campaign member to come out of the Drip. Once the criteria is entered, click on Save button.




Now click on 'Add Action' to add the action to send the email alert for Drip 1. 


Select Action Type as 'Apex', Enter Action Name, Select Apex Class as 'MassMailer - Campaign Member Alert'


Enter the respective Template Id (you can choose any Salesforce email template id that is meant for Drip 1), Record Id Field (in this case it is Campaign Member Id), From Address, From Name, To Address, To Name, CC, BCC and click on Save to record the changes.



Click on 'Activate' button to activate the process that we just defined.



8. Clone the Drip 1 Process to create Drip 2 Process or define Drip 2 from scratch:


You have two options to create Drip 2. Either you can follow the same steps in Step 7 to define Drip 2 from scratch or clone Drip 1 to create a new process, Drip 2. Following instructions describe how to create Drip 2 process using the Clone method.


Open the Drip 1 process that was defined earlier and click on Clone button.




Save Clone as... A new process. Give a Process Name, Description and click Save.



Change the Criteria Name and the Immediate Action Name and Activate.



9. Track Email Status on the Lead or Contact Object for Drip Emails/Campaign in Salesforce:


Email status values such as delivered, open, click, spam, unsubscribe, bounce etc gets captured on the Lead in a related list object called 'MassMailer Email Status'.




10. Track Activity History on the Lead or Contact Object for Drip Emails/Campaign in Salesforce:


Activity history gets captured on the Lead object.




11. Track Activity History on the Campaign object in Salesforce:


Activity history gets captured on the Campaign object.



12. Track MassMailer Email Events on the Campaign object in Salesforce:


Emails Events gets stored in the MassMailer Email Status object which is related to the Campaign object.




13. Track Campaign Member Status on the Campaign object in Salesforce:


Campaign Member Status gets updated with the latest Email Events and tracked on the Campaign object.



14. Track Email Statistics on the Campaign object in Salesforce:


Email Statistics such as Total Opens, Total Clicks, Total Unsubscribes gets logged on the Campaign object.