I was asked to implement a system within civi where we can upload historical record of email messages. I then found out these are supposed to be auto updated with new messages every time a certain user sends a message?

Not sure where to start with the implementation. I made a tab within a contact to write everything for a message, this would work great manually. I thought about using the mail account on civi then checking inbound messages and somehow storing it in a contact... but I'm really new this stuff.

Any tips are appreciated :)

Additional info: we currently use Gsuite and it would be specific accounts within the org that need to be storing their emails

  • In theory i think you could create a way of fwd'ing your old emails to an address and then have the suggestion by Lars do the required. And use a CC to auto add a new message when another one gets sent.
    – petednz - fuzion
    Commented Jul 7, 2023 at 20:23
  • Question - does this have anything to do with Case Management?
    – petednz - fuzion
    Commented Jul 7, 2023 at 20:23
  • I was looking into CC earlier, not sure how to get it done. I think it is partly for case management yes Commented Jul 7, 2023 at 21:00

1 Answer 1


Two options for the past emails:

  1. You'll want to store the emails as activities, which you can import from a CSV. I'm sure you can find a Google Apps Script that will pull all a users emails based on whatever criteria you like into Google Sheets and then export that to CSV. Do you want to connect these activities to other contacts in CiviCRM (the contacts the emails went to)?

  2. Depending on the number of accounts you are talking about and how the emails are stored, you could use Email-to-Activity processing with a specified IMAP folder and just go through each email account in turn by changing the settings in the Mail Account. The downside here can be that you'll create contacts for all cc-ed emails as well as from and to emails.

For new messages, have you read Email-to-Activity processing?

  • Thanks! That makes sense, then how do I auto import the csv into Civi? I know you can batch it is there a way to do that on a timer? Yes I would like to connect them to the other contacts. I did read that, I'm not very familiar with how the backend of it all works though. Commented Jul 7, 2023 at 21:02
  • You might want to look at the API CSV importer (civicrm.org/extensions/api-csv-import-gui) for large imports and at Civi Import Helper for the new and existing contacts (lab.civicrm.org/extensions/importhelper).
    – Lars SG
    Commented Jul 7, 2023 at 21:31
  • Okay, I'll look into it thanks! Commented Jul 7, 2023 at 21:44
  • There is another option for the past emails with IMAP, I added this to my answer above.
    – Lars SG
    Commented Jul 8, 2023 at 15:08
  • App Script was definitely the way to go, now looking into getting the csv into civi automatically. Thanks for the help! Commented Jul 12, 2023 at 20:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.