https://api.us.nylas.com/v3/grants/{grant_id}/eventsCreate an event
Creates an event.
Microsoft limitations
Microsoft ignores the notify_participants field and always sends email notifications about
changes to events.
iCloud limitations
- iCloud ignores the
notify_participantsfield and always sends email notifications about changes to events. - Email addresses that are registered with iCloud will not receive
notify_participantsnotifications containing the event. These events are automatically added to the iCloud calendar. - Participants' information might be replaced by their iCloud alias. For example, if the organizer's
email address is
[email protected]and their iCloud account was registered with[email protected], you might encounter cases where[email protected]is replaced with[email protected].
Path parameters
Query parameters
Filter for the specified calendar ID.
(Not supported for iCloud) You can use primary to query the user's primary calendar.
For an Agent Account, you can also pass the account's own email address, in any letter case, to query its primary calendar. Any other email address returns a 400 error.
Specify fields that you want Nylas to return, as a comma-separated list (for example,
select=id,updated_at). This allows you to receive only the portion of object data that you're
interested in. You can use select to optimize response size and reduce latency by limiting queries
to only the information that you need.
Filter for events matching the specified notify_participants setting.
Microsoft and iCloud do not support notify_participants=false.
conferencingAn object that lets you automatically create a conference, or enter conferencing details manually.
You can't use autocreate and details in the same request. If you do, Nylas returns an error.
Nylas stores conference information in the event description. To remove conference details, set
conferencing to {} and remove the corresponding conference information from the description in
the same request.
leave_after_silence_secondsThe number of seconds of silence after which the Notetaker bot automatically leaves the meeting. This helps end recordings when meetings have concluded but participants haven't disconnected the call. Must be between 10 and 3600 seconds (1 hour).
transcription_settingsOptional settings that tune how Notetaker transcribes audio. transcription must be
true for these settings to take effect. Provide any combination of the fields below.
The fields fall into two independent groups:
- Language hints (
expected_languages,fallback_language) constrain automatic language detection. This declares the languages you expect; it does not translate transcripts or force the recording into a specific language. - Keyword hints (
keywords,use_speaker_names_as_keywords) bias recognition toward domain-specific terms such as names, acronyms, and product names.
Set on individual Notetakers, on calendar sync, or on event sync. When set on a calendar,
events inherit the value unless the event's own request overrides it. Send null or {}
to clear inherited settings and return to default transcription behavior.
See Set transcription languages for supported language codes and validation rules.
expected_languagesLanguage codes the audio is expected to contain. Optional. When provided, it must
contain at least one supported code and cannot be null or empty. When omitted,
transcription considers all supported languages.
fallback_languageLanguage to use if Notetaker does not detect one of the expected_languages. Optional.
When expected_languages is set, the fallback must be one of those codes. When
expected_languages is omitted, transcription considers all supported languages and
the fallback may be any supported code. When fallback_language is omitted, the
transcriber auto-detects the language. The field is not stored, so responses do not
return it.
messagesCustom announcements the Notetaker bot posts to the meeting chat. Use this to greet attendees when the bot joins, or to acknowledge new participants as they arrive. Messages are optional; when omitted, the bot only posts the default recording-and-transcription notice described in Using Nylas Notetaker.
Like other notetaker_settings fields, messages participates in the
configuration hierarchy and uses whole-object override semantics: the most
specific layer that sets messages completely replaces the parent's value
(there is no per-message merging). See Custom announcements
for the full inheritance model.
on_joinMessages the bot sends shortly after it joins the meeting. Each message has its own configurable delay measured from the moment the bot joins. Up to 10 messages per trigger.
type*The message format. Currently only text is supported. Plain-text content
is preferred; any HTML tags in content are stripped before the message
is sent.
on_participant_joinMessages the bot sends when a new participant joins the meeting. Each message uses a trailing debounce window — if another participant joins before the window expires, the timer resets and only one message is posted per burst of joins. Up to 10 messages per trigger.
type*The message format. Currently only text is supported. Plain-text content
is preferred; any HTML tags in content are stripped before the message
is sent.
content*The message text the bot posts to the meeting chat. After HTML tags are
stripped, the remaining text must be at least 1 character. Requests whose
content becomes empty after sanitization are rejected with a validation
error.
debounce_ms*Trailing debounce window in milliseconds. When a participant joins, the bot waits this long before posting the message. If another participant joins inside the window, the timer resets — the message is only posted once the window expires without another join event. This collapses a burst of nearly-simultaneous joins into a single announcement.
recurrenceAn array of RRULE and EXDATE strings. Nylas includes this field only if the event is the main
(master) event. See RFC-5545 for more details.
You can use this tool to learn more about the RRULE spec.
Events inherit their timezone from the when object. Nylas recommends that you use the when
object to specify the event's start and end time.
Provider specifics:
- On some providers,
EXDATEmight not include exception or cancelled event timestamps. When this happens, Nylas represents those event instances as separate objects in its responses. - Agent Accounts and virtual calendars don't support
DTSTARTorTZID. Nylas uses the event'swhenvalues as the start of the series instead. - iCloud accounts do not support changing an event from recurring to non-recurring. You can create, update, or delete information on recurring events.
- Microsoft Graph adds one day to the
UNTILdate.
remindersA list of reminders to send for the event. If left empty or omitted, the event uses the provider defaults.
use_defaultWhen true, the event uses the calendar's default reminder settings.
- Google: Generates a
popup-style reminder 10 minutes before the event begins. - Microsoft: Generates a reminder 15 minutes before the event begins.
- iCloud: Does not generate a reminder.
- EWS: Generates a
display-style reminder 15 minutes before the event begins.
overridesA list of reminders for the event to use when use_default is false. If this field is empty
or omitted, and use_default is false, the event does not send reminders. If true, Nylas
generates both the default event reminder and any reminders in the overrides list.
You cannot set reminder overrides if use_default is true.
For Microsoft Graph, EWS, and iCloud, you can set only one reminder per event.
visibility(Not supported for iCloud events) Specifies whether the event is public or private. If not
defined, Nylas uses the account's default provider settings. For Google and Microsoft, event visibility is public by default.
The default enum value is only valid for Google events, where it defers to the calendar's own sharing settings. Microsoft and EWS events only support public and private; sending default for these providers returns a 400 error.
For Agent Account and virtual calendar events, you can explicitly set visibility to private or public on create and update requests, and the value is returned on read. If not set, virtual calendar events default to public behavior.