I need to make the contact ID to match the external ID in order to match the import file for activities. Is there a way to do this upon the import of contact files? I already deleted the contact imports to try putting my IDs as the contact IDs but getting mismatched contact type or no contact found for this contact ID:

Unless someone has a workaround for importing activities and matching them to the new Contact IDs without having to figure out each new ID to then add into a column in the import spreadsheet?

Update: I rolled back to my backup from last night to see if it was because my previous import attempts meant contact IDs were already taken regardless of deletion. Still same error of "no contact ID found for this contact ID".

1 Answer 1


Not sure I quite follow. If you have a table with the Ext ID and the Activity. And you have previously created the Contacts with the Ext ID, then you can export the Contact ID and Ext ID, do a vlookup in a spreadsheet, then import your table using the Contact ID.

That said, I am surprised that importing Activities does not allow you to match on Ext ID.

THere is also this extension which gives more options for importing: https://civicrm.org/extensions/api-csv-import-gui

Perhaps you could clarify your question by giving a very simple example of what the data is you are dealing with, eg

IMPORT v1 Ext ID + email etc

IMPORT v2 Ext ID + Activity

  • 1
    the vlookup idea seems to be the workaround. My dream was that I could just import contacts with the contact ID pre-populated with the same ID from my old donor management system (donorperfect). I was also surprised it doesn't allow me to match on External ID when contributions will. I did try the API version but for some reason it was not letting me see/select from all of my activity types so I gave up on that. Basically I was trying to import contacts with a pre-populated contact ID rather than the system generating one so I could use the import activity function without extra lookup work.
    – Mary
    Commented Feb 25 at 20:36

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.