Last email communication

Last email communication

Hi,

I was wondering if it would be possible to reflect in a field when the last communication (email) was performed. There is any way to reflect in a field the last communication (email) date or the difference between the last communication and the current date. 

My final idea is to trigger workflows when a communication has been inactive so long. Anybody has achieved that?

Many thanks!