A calendar invite is an ICS file with METHOD:REQUEST set, emailed to an attendee. Type a title, pick a time, add some email addresses, hit send. Most of the time that works fine, and when it does not the failures are consistent: invites land in spam, recipients on a different email provider see a raw attachment instead of an accept button, or you change the time and half the room turns up at the old one.
Below is how to send one in Google Calendar, Outlook, Apple Calendar and Gmail, plus the cases where the invite route will not work at all.
Underneath every calendar invite is a small text file in the iCalendar format, usually with a .ics extension. That file describes the event: start time, end time, title, location, description, timezone, organiser, and a list of attendees.
The important part is a single line inside that file:
BEGIN:VCALENDAR VERSION:2.0 METHOD:REQUEST BEGIN:VEVENT UID:9f2c1a44-7bd0-4c11-9a7f-2f2e9c1b8a01 DTSTART;TZID=Europe/London:20260714T140000 DTEND;TZID=Europe/London:20260714T150000 SUMMARY:Quarterly planning ORGANIZER;CN=Tom:mailto:[email protected] ATTENDEE;RSVP=TRUE;PARTSTAT=NEEDS-ACTION:mailto:[email protected] END:VEVENT END:VCALENDAR
METHOD:REQUEST is what turns a plain event description into an invitation. It tells the receiving calendar app that the event is a request addressed to a named attendee, so show accept and decline buttons and send the answer back to the organiser.
That is the difference between the two things people call "sending a calendar invite":
METHOD:REQUEST with the recipient listed as an ATTENDEE. The organiser owns the event, tracks responses, and can push updates or cancellations.METHOD:PUBLISH or a link. The recipient adds a copy to their own calendar. Nobody tracks who accepted, and the recipient's copy is theirs forever, unchanged.Both are valid. They just solve different problems, and picking the wrong one is where most calendar pain comes from. If you want the full breakdown of the file format, the complete guide to ICS files goes deeper, and you can paste any invite file into the free ICS viewer to see exactly what a sender put in it.
Google Calendar is the fastest path if you are already in a Google account.
calendar.google.com and click Create in the top left, then Event.Responses appear next to each name in the event, and Google will email you when someone answers. The full walkthrough, including creating an event straight from an email thread, is in the Gmail calendar invite guide.
Outlook has three different apps that all call themselves Outlook, and the click paths differ.
In new Outlook and Outlook on the web:
In classic desktop Outlook, the equivalent is Home > New Items > Meeting, or Ctrl+Shift+Q. The crucial distinction there is Meeting versus Appointment: an Appointment is a private block on your own calendar with no attendees and no invitation, and switching one to the other after the fact is fiddly. There is a full breakdown of all three Outlook variants, response options and cancellation behaviour in the Outlook meeting invite guide.
On a Mac, open Calendar, double-click a slot, then click Add Invitees in the event popover and type addresses. On iPhone, open the Calendar app, tap +, fill in the details, then tap the Invitees row.
The catch on Apple devices is account support. The Invitees row only appears when the event is being created on an account that supports invitations, which in practice means iCloud or Exchange. If the event is on a subscribed read-only calendar, or on certain Google account setups added through iOS Settings, the row will be missing or the invite will silently not send. The iPhone calendar invite guide walks through which accounts work and how to fix a missing Invitees row.
You do not have to leave your inbox. In the Gmail compose window, click the calendar icon in the bottom toolbar and choose Create an event. Gmail pre-fills the recipients from the To field and drops a formatted event block into the message.
You can also convert a thread: open the email, click the three-dot More menu at the top, and choose Create event. Gmail creates a Google Calendar event with the subject as the title and the message body pasted into the description, then you add guests as normal.
The mechanics are the easy part. These are the things that decide whether people accept and turn up.
Invites work well inside one organisation because both calendars talk to the same server. Across organisations, the invitation has to survive the journey by email, and that is where it breaks down.
.ics attachment from an unfamiliar sender is a classic spam signal. Invites to personal Gmail, Yahoo or Hotmail addresses regularly get filed away and never seen.METHOD:REQUEST with a bumped SEQUENCE number. If the original never landed properly, or the recipient forwarded it to a colleague, the update has nothing to attach itself to and quietly does nothing.Even when everything works, a calendar invite has a structural problem: it is tied to your account and your organisation. The event lives in your calendar system, and every attendee's copy is a downstream replica that depends on that link staying intact.
That means you cannot send an invite to a list of a thousand people without exposing everyone's address or hitting attendee caps. You cannot easily hand the invite to someone else to manage. You cannot change the venue after the fact and be confident everyone got it. And you get no reliable answer to the simplest question of all: how many people actually put this in their calendar? Attendee status tells you who clicked accept in your system. It tells you nothing about the person who added it manually from an email.
The alternative is to invert it. Instead of pushing an invite into someone's calendar, publish the event once and send a link. Add to calendar links open in whichever calendar the recipient actually uses, Google, Apple, Outlook or Yahoo, so there is no cross-organisation rendering to go wrong. The event stays editable after you send it, so a time change updates the page everyone is looking at. You can see how many people added it. And if you need answers rather than just attendance, RSVP collection sits on the same link without needing everyone to be in your directory.
For a recurring programme, such as a fixture list or a training schedule, a subscription calendar is better again: people subscribe once and every future change flows through automatically.
| Situation | Best approach |
|---|---|
| Internal meeting, same organisation | Normal calendar invite with attendees |
| Meeting with one or two external people | Invite, plus a link as a fallback |
| Webinar, launch or class with many attendees | Add to calendar link |
| Event details that might still change | Add to calendar link |
| You need to know who added it | Add to calendar link |
| Ongoing schedule of many dates | Subscription calendar |
If you just need a one-off file to attach to an email, the ICS file generator will build a valid one in about thirty seconds. If you would rather send something that keeps working after you hit send, the add to calendar link generator is free and needs no account. Either way, send the invite early and set the timezone.
Last updated on July 22, 2026