NodeMailServer
Guides

Calendar invites

Create iCalendar events with a Google Meet link and send them by email.

The server can build an iCalendar (.ics) invite, attach a Google Meet link and email it to the attendees.

Needs your own Google credentials

MeetingService currently contains a placeholder API key. Replace it with real Google credentials (below) before you use it. Nothing calls IcalService automatically yet, so use it from your own code.

Enable the Google Calendar API

  1. Go to the Google Cloud Console.
  2. Create a new project, or select an existing one.
  3. Enable the Google Calendar API for the project.
  4. Create OAuth 2.0 credentials or a service account.
  5. Download the credentials JSON file.

The packages are already in server/package.json. To add them elsewhere:

npm install googleapis nodemailer ics

Create an invite

IcalService.createEvent (server/src/services/IcsEvents.ts) creates a Google Meet event and returns the invite.

import IcalService from "./services/IcsEvents";
 
const { error, value } = await IcalService.createEvent({
  uid: "meeting-123",
  method: "REQUEST",
  title: "Project sync",
  description: "Weekly project update",
  location: "Online",
  start: "2026-12-01T10:00:00Z",
  end: "2026-12-01T10:30:00Z",
  organizer: { name: "Alice", email: "alice@example.com" },
  attendees: ["bob@example.com", "carol@example.com"],
  sequence: 0,
});
FieldMeaning
title, descriptionShown in the invite and in the Google Calendar event.
start, endStart and end time as ISO 8601 strings.
organizerName and email of the person sending the invite.
attendeesEmail addresses to invite. Each is asked to reply (RSVP).

The options type (GenreateICSOptions) also has uid, method, location and sequence, but createEvent does not use them yet. That means you cannot update or cancel an event through this function so far.

value holds the .ics text and error is set if it could not be built. Attach value to an email as text/calendar.

Integrations

  • Google Meet and Google Calendar
  • Cal.com
  • Zoho Calendar
  • Zoom Meetings

Calendar UI references

If you build a calendar screen, these projects are good starting points:

On this page