Skip to content
Skip to main content

Introducing Notetaker configurations

Notetaker

Every team that scales a meeting recording integration ends up writing the same things: logic to stop four teammates from sending four bots to one call, a way to cut off a customer who has used up their recording hours, and retention rules so recordings don’t sit with a third party longer than a security team allows. Notetaker configurations take that work off your plate. Save your Notetaker defaults once, at the application, workspace, calendar, or event level, and Nylas applies them every time a bot joins. Configurations also unlock five features that are only available through the new notetaker_settings request shape.

  • Configurations. Five new endpoints under /v3/notetakers/configs let you create, list, get, update, and delete a saved set of notetaker_settings defaults plus a deduplication policy and a dispatch policy. Nylas reads the most specific configuration at join time, not at scheduling time, so a PATCH this afternoon changes every Notetaker already booked for tomorrow. Every update bumps version, and ?include=history on a GET returns past versions. You can have one application-level configuration and one per workspace.

    curl --request POST \
    --url 'https://api.us.nylas.com/v3/notetakers/configs' \
    --header 'Authorization: Bearer <NYLAS_API_KEY>' \
    --header 'Content-Type: application/json' \
    --data '{
    "display_name": "Company defaults",
    "notetaker_settings": {
    "name": "Acme Notetaker",
    "recording_type": "audio_video",
    "transcription": true,
    "summary": true
    },
    "deduplication_policy": "active"
    }'
  • Workspaces. A workspace groups grants, usually one per customer. Create one with POST /v3/workspaces, and with auto_group set to true every new grant whose email domain matches the workspace’s domain joins it automatically. Give the workspace its own configuration and that customer gets their own defaults, such as a 7-day retention window or a different display name, while everyone else inherits the application-level values.

  • Deduplication. Set "deduplication_policy": "active" and when 4 people from the same workspace accept the same invite, 1 Notetaker joins for all of them instead of 4. Two different customers on the same call still get one each, since neither should hold the other’s recording. Every user still receives their own webhooks, recording, transcript, and summary. Set the policy to "disable" on a calendar or a single event when someone needs a dedicated bot, such as a board meeting.

  • Custom announcements. notetaker_settings.messages replaces the default consent notice with your own chat messages: on_join messages post after the bot joins, each with its own delay, and on_participant_join messages fire when someone arrives late. Each list holds up to 10 messages, and delays and debounce windows go up to 600,000 ms (10 minutes). The debounce collapses a burst of late arrivals into 1 message, so a ten-person all-hands doesn’t get 10 notices. Keep a recording disclosure in your on_join text if your product or jurisdiction requires one.

  • Custom avatars. Notetaker used to join as a blank tile with a name on it. Upload a PNG, JPEG, or WebP image up to 4 MiB to notetaker_settings.video_output and the bot shows it as its camera feed on Google Meet, Microsoft Teams, and Zoom. Reads return preview_url, a signed URL valid for 1 hour, so you can confirm what’s stored.

  • Pause dispatch. Set dispatch_disabled_until to an RFC 3339 timestamp on an application, workspace, or grant configuration and Nylas stops sending Notetakers for that scope until the timestamp passes. Calendar sync rules, scheduled Notetakers, and recording settings stay put, so a customer who hits their 100-hour plan mid-month resumes on the first of the next month with nothing to rebuild. Send null to lift a pause early.

  • Retention policies. Nylas keeps recordings, transcripts, summaries, and action items for 14 days by default. Set retention_time in seconds on any request that takes notetaker_settings to change that per application, per workspace, or per Notetaker, so the customer whose security team asked for 7 days gets 604800. After expiry the media endpoint returns 410 Gone.

  • notetaker_settings replaces top-level name and meeting_settings on join, calendar sync, and event sync requests. Field names inside carry over unchanged, except that the video_recording and audio_recording booleans collapse into one recording_type value (audio_video or audio). Legacy requests keep working, but the five features above are only available through notetaker_settings or config_id, and sending both shapes in one request returns 400 Bad Request. Webhook payloads still carry meeting_settings, so your consumers don’t change. The migration page has the before and after for every endpoint.