Event invitations and RSVP functionality
I found this on https://wiki.civicrm.org/confluence/display/CRM/RSVP-style+Event+Registration.

It's an old post but I had a quick look and it still should work. It doesn't allow the 'maybe' option tho....

===

1) Enable "On waitlist" event participant status (Administer -> CiviEvent -> Participant Statuses)

2) Create an event. We don't need the "Offer the waitlist" option, the below will work without it. Enable Online Registration.

3) Find contacts in CiviCRM, and on the results page, from the drop down "Actions" select "Add Contacts to Event". On the next page, change the "Participant Status ID" to "On waitlist". Uncheck "Send confirmation" if you don't want those contacts to receive an email about a fact that they were added to the waitlist. They will still separately receive a follow up email with a tokenized link to register/cancel the registration.

4) When the Scheduled Job "Update Participant Statuses" runs (or execute it manually for testing) (Administer > System Settings > Scheduled Jobs), an email with a customized link to the registration page will be send to everyone on the waitlist.

5) When a invited participant follows the link, they will be presented with an event registration page with two options: "Confirm Registration" and "Cancel Registration". If the confirm, a regular event registration page will be presented with their information pre-filled. If they select "cancel", their status will be changed to "cancelled".

To modify the text of the email that is send to participants on the wailist, update message template "Events - Registration Confirmation Invite" (Mailings > Message Templates > System Workflow Messages)