Using Workflow to add lead to Campaign

Using Workflow to add lead to Campaign

We send email invites to our leads and contacts to visit us at Trade Shows. 

I normally create a filter in the Leads list view based on who I want to invite.  I select a group and tag them so it's easier to reselect them after sending the email. Then I reselect the group based on the tag and send the email.  Then I reselect the group based on tag and sent time and add them to the campaign as sent.

I'd like a workflow that will Send Email AND Add Lead to Campaign as Sent.

How would this be possible?