cal/packages/emails
Joe Au-Yeung 8b07b839e9
Fix - add team members to emails (#7207)
* On booking add team members & translation

* Add team members to round robin create

* Only update calendars on reschedule if there is a calendar reference

* Send email on reschedules

* Send team email on cancelled event

* Add team members to calendar event description

* Clean up

* Convert other emails to organizer & teams

* Type check fixes

* More type fixes

* Change organizer scheduled input to an object

* early return updateCalendarEvent

* Introduce team member type

* Fix type errors

* Put team members before attendees

* Remove lodash cloneDeep

* Update packages/core/EventManager.ts

Co-authored-by: Omar López <zomars@me.com>

* Remove booking select object

* Revert "Remove booking select object"

This reverts commit 9f121ff4eb.

* Refactor email manager (#7270)

Co-authored-by: zomars <zomars@me.com>

* Type change

* Remove conditional check for updateAllCalendarEvents

---------

Co-authored-by: zomars <zomars@me.com>
2023-02-27 13:45:40 -07:00
..
src Fix - add team members to emails (#7207) 2023-02-27 13:45:40 -07:00
templates Fix - add team members to emails (#7207) 2023-02-27 13:45:40 -07:00
email-manager.ts Fix - add team members to emails (#7207) 2023-02-27 13:45:40 -07:00
index.ts Refactor emails to use JSX as templating engine (#2915) 2022-06-06 17:49:56 +00:00
package.json Update all Yarn dependencies (2022-08-17) (#3887) 2022-08-29 17:55:27 -06:00
README.md Refactor emails to use JSX as templating engine (#2915) 2022-06-06 17:49:56 +00:00
tailwind.config.js Refactor emails to use JSX as templating engine (#2915) 2022-06-06 17:49:56 +00:00
tsconfig.json Update all Yarn dependencies (2022-08-17) (#3887) 2022-08-29 17:55:27 -06:00

JSX email templates

  • components Holds reusable patterns
  • templates A template equals a type of email sent

Usage

import { renderEmail } from "@calcom/emails";

renderEmail("TeamInviteEmail", */{
  language: t,
  from: "teampro@example.com",
  to: "pro@example.com",
  teamName: "Team Pro",
  joinLink: "https://cal.com",
});

The first argument is the template name as defined inside templates/index.ts. The second argument are the template props.

Development

You can use an API endpoint to preview the email HTML, there's already one on /apps/web/pages/api/email.ts feel free to change the template to the one you're currently working on.