Skip to content
Skip to main content

Tell Scheduler attendees a meeting is recorded

Last updated:

If your Scheduler configuration turns on Notetaker, every meeting booked through it gets recorded and transcribed. Telling attendees that before the call is good manners, and in many places it’s a legal requirement. A booking.created workflow does it automatically.

A meeting confirmation email stating the meeting will be recorded and transcribed, with the meeting details and a reschedule button

Why not trigger this from the Notetaker event?

Section titled “Why not trigger this from the Notetaker event?”

Because the Notetaker payload can’t reach the attendees. notetaker.created carries an event object containing only ical_uid, event_id, and master_event_id. There are no participants, no title, and no times, so a template fired from it has nobody to greet and nothing to describe.

booking.created has all of it: the full participant list, the title, the times, and recipient populated per person when notify_individually is set. Fire the notice from the booking and treat the Notetaker configuration as the reason you are sending it.

The decision to record is made on the configuration, not per booking. If notetaker_settings.enabled is true on a Scheduler configuration, every booking on that configuration is recorded, so every booking on it should carry the notice.

How do I know the meeting will be recorded?

Section titled “How do I know the meeting will be recorded?”

Read it from the Scheduler configuration. scheduler.notetaker_settings.enabled controls whether a Notetaker session is created for bookings on that configuration. Notetaker needs a meeting link to join, so the configuration also needs event_booking.conferencing set.

curl "https://api.us.nylas.com/v3/grants/$GRANT_ID/scheduling/configurations/$CONFIG_ID" \
-H "Authorization: Bearer $NYLAS_API_KEY"
"scheduler": {
"notetaker_settings": { "enabled": true }
}

How do I send the notice only for recorded configurations?

Section titled “How do I send the notice only for recorded configurations?”

Branch on configuration_id inside the template. A workflow applies to every booking in your application and can’t be limited to one configuration, so a booking.created workflow fires for recorded and unrecorded bookings alike. Every booking payload carries configuration_id at the top level, next to booking_info.

{{#if (eq configuration_id "<RECORDED_CONFIGURATION_ID>")}}
<p>This meeting will be recorded and transcribed.</p>
{{else}}
<p>Your meeting is booked.</p>
{{/if}}

Replace <RECORDED_CONFIGURATION_ID> with the ID of the configuration that has Notetaker enabled. The template in this recipe uses this pattern twice, for the heading and for the opening paragraph, so one template serves as the confirmation for every configuration. If you record on several configurations, nest another {{#if (eq ...)}} inside the {{else}} for each one.

Point your booking.created workflow at the recording notice template instead of the plain confirmation. Because the template covers both cases, it replaces the confirmation for every configuration. Don’t run it alongside a second booking.created workflow, or attendees receive 2 messages about one booking.

curl -X POST 'https://api.us.nylas.com/v3/workflows' \
-H "Authorization: Bearer $NYLAS_API_KEY" -H 'Content-Type: application/json' \
-d '{
"name": "Booking confirmed, recording notice",
"trigger_event": "booking.created",
"template_id": "<TEMPLATE_ID>",
"delay": 0,
"is_enabled": true,
"from": { "email": "[email protected]", "name": "Your Company" }
}'

Send it immediately with delay: 0. A disclosure that arrives after the meeting has started hasn’t done its job, and a booking made 10 minutes before the call leaves no room for a delay.

Enable notify_individually on the configuration so each attendee gets their own copy addressed to them. A single message to all participants leaves recipient undefined, and a disclosure that opens Hi there, to a room of people is weaker than one that names them.

State plainly that the meeting will be recorded and transcribed, name what gets captured, and tell people how to object. The template in this recipe says audio, video, and a written transcript, because a Notetaker captures all three and “recorded” alone understates it.

Give an out that doesn’t require technical knowledge. Attendees can’t disable Notetaker themselves, so point them at the organizer rather than at a setting they can’t reach.

Keep the meeting details in the same email. A notice that arrives separately from the confirmation reads like a warning, while a confirmation that mentions recording reads like a normal part of booking. The template below is the standard confirmation, with the disclosure as its opening paragraph on recorded configurations.

This is the confirmation template with the recording disclosure added for one configuration, including the per-recipient timezone chain. Customize Scheduler email for your app walks through how the greeting guards and timezone resolution work.

Render it with POST /v3/templates/render before enabling the workflow. A missing variable returns 400 and sends nothing, which on a compliance email is a failure worth catching in testing rather than in production.