Consolidate email interaction data into your CRM

Aggregate and update email interactions in your CRM by pulling in data from a marketing automation tool to keep your contacts segmented effectively.

Consolidate email interaction data into your CRM

Do you need this flow?

If you send out large amounts of emails, it is useful to automatically track interactions with those emails in the place where you store your customer data, such as a CRM, then this flow can save you time and increase your reach. Keeping basic email interaction data on your customers allows you to quickly gauge interest and engagement across the board.

In this flow, the data source is a Mailchimp, which you can pull interaction data out of. To see how to do this with a CSV, for when we don’t currently have the integration you need, check out this example.


Knowing the actions that your customers or leads take on emails in a structured way is an easy way to maintain healthy segments within your CRM or other tool. This benefits you by giving you communication engagement insights into your customers, as well as the ability to tailor messages for them. If you send regular weekly emails, and a group of users have not opened those emails in 3 months, chances are you should stop sending them, and try a different tactic.

On a more personal level, knowing quickly that a lead opened your last email before you hop on the phone with them is a surefire way to have a more personal and engaging conversation.

How the flow works

The flow takes in data from a marketing automation tool, in this case Mailchimp. There are 3 Mailchimp steps that pull data from 3 campaigns. Each step is fed into an Insert if/else column step that creates a new column with the name of the email campaign that the import corresponds to - you set the name in the step settings. Those pull are concatenated on top of each other, making one large table.

With that table, we filter down the columns to the relevant ones, and rename them better names. Now we want to remove all of the old interactions, and just keep the most recent click and open per user. To achieve this, since the data is spread across multiple columns, create a key out of many columns by using the Combined columns step to create a key column with the email address and the action. Then sort those by date to move the most recent to the top. The Remove duplicate rows step set to keep one copy of each record will now keep one click and one open record per email.

At this point, we can pull our CRM data, in this case from Salesforce. Bring in the ID and the email so that we can send the records back to Salesforce after this. A left join with the Salesforce data stream in the first position ensures that the only data we are sending back to Salesforce is on leads we know it has. The flow then branches to send updates to the Last Clicked fields in one and the Last Opened in the other. This ensures we are not sending any blank data, which some systems do not handle well. Finally filter it down to the columns that are needed - Campaign name, timestamp, url (for clicks only), email, and ID.