Is it possible to check for duplicate records with an event in Advanced Workflow?

Is it possible with an out-of-the-box Advanced Workflow event to check for existing records? Then if something exists, update that record. If not, create a new record?

Here's an example workflow I'd like to build:  When a new Sugar Case is created or updated, based on a custom Case field (we'll call it email2), check to see if a Contact record already exists with a primary email address that matches the Case record's email2 value. If a Contact does exist, update the Contact. If a Contact does not exist create a new Contact.

If it is not possible out of the box, would it be possible to create a custom Advanced Workflow event to handle this sort of thing?

Thanks!