Skip to content
Skip to main content

Notetaker transcription settings

Last updated:

notetaker_settings.transcription_settings tunes how Notetaker transcribes a meeting. It carries two independent controls: language hints that steer automatic language detection, and keyword hints that bias recognition toward specific terms. Set either, both, or neither. transcription must be true for any of these settings to take effect.

By default, Notetaker uses automatic language detection on every transcription and chooses from about 100 supported languages. If your users consistently speak one or more languages and you’ve seen Notetaker mis-identify them (for example, Portuguese coming back as Spanish, or a single-language meeting bouncing between codes), pass language hints. The hints either force a single language (pass one code in expected_languages) or narrow what automatic detection considers (pass two or more).

Language hints affect detection only. Notetaker transcribes each meeting in the language spoken and doesn’t translate the transcript into another language.

You can set transcription_settings anywhere notetaker_settings is accepted: on a single Notetaker when you invite or update it, on a Notetaker configuration, on calendar sync so every matching event picks it up, or on a single event.

The language hints in transcription_settings are two fields:

  • expected_languages: An array of language codes the audio is expected to contain. Optional. When you set it, it must contain at least one supported code and can’t be null or empty. Omit it and transcription considers all supported languages.
  • fallback_language: Optional. The code to use when Notetaker doesn’t detect one of the expected_languages. When expected_languages is set, the fallback must be one of those codes. When you omit expected_languages, it can be any supported code. Leave it out and the transcriber detects the language automatically. The field isn’t stored, so a GET won’t return it.

The simplest valid object declares the expected languages and nothing else. The transcriber then chooses between the 2 codes instead of guessing across every supported language, which is the fix for a meeting that keeps flipping between similar languages.

{
"notetaker_settings": {
"transcription": true,
"transcription_settings": {
"expected_languages": ["en", "es"]
}
}
}

For a deterministic fallback, set fallback_language to a concrete code that’s also in expected_languages. Notetaker uses it whenever the audio doesn’t clearly match one of the expected codes, so a mostly-English meeting with a few Spanish phrases always comes back as English rather than as a mix.

{
"notetaker_settings": {
"transcription": true,
"transcription_settings": {
"expected_languages": ["en", "es"],
"fallback_language": "en"
}
}
}

When you omit expected_languages, transcription considers all supported languages, and fallback_language isn’t limited to a list. You can set it to any supported code. This is useful when you want automatic detection most of the time but a predictable result when detection is unsure.

{
"notetaker_settings": {
"transcription": true,
"transcription_settings": {
"fallback_language": "en"
}
}
}

Keyword hints bias the transcriber toward domain-specific terms it would otherwise mis-hear, such as people’s names, company names, product names, and acronyms. Like language hints, they live in transcription_settings, and transcription must be true. Keyword hints are independent of expected_languages, so you can set them on their own.

  • keywords: An array of terms to prioritize during transcription. Up to 200 terms. Each term must be 1 to 200 characters and can’t contain control characters. Can’t be null.
  • use_speaker_names_as_keywords: A boolean. When true, Notetaker adds known speaker names to the keyword set so they’re transcribed accurately. Can’t be null.

The request below primes the transcriber with three product and vendor names and turns on speaker-name keywords. A term only needs to appear once in the list; Notetaker applies it to the whole meeting.

{
"notetaker_settings": {
"transcription": true,
"transcription_settings": {
"keywords": ["Nylas", "AssemblyAI", "OAuth"],
"use_speaker_names_as_keywords": true
}
}
}

You can combine keyword hints with language hints in the same object:

{
"notetaker_settings": {
"transcription": true,
"transcription_settings": {
"expected_languages": ["en", "es"],
"keywords": ["Nylas", "AssemblyAI"]
}
}
}

transcription_settings is one of the composite settings that Nylas replaces as a whole rather than field-merging. To change anything inside it, whether that’s a language code, the fallback, or the keyword list, send the full object you want to end up with. You can’t add a keyword while inheriting expected_languages from a parent calendar; send every field together, or omit the object entirely to inherit it unchanged.

To clear transcription_settings, whether to remove settings already on a Notetaker or to override settings inherited from a calendar on a single event, send it as either null or {}. The two are equivalent: both remove inherited language and keyword hints and return the Notetaker to default transcription behavior.

{
"notetaker_settings": {
"transcription_settings": null
}
}

These codes are valid in both expected_languages and fallback_language. The list covers about 100 languages, including 3 regional variants of English.

CodeLanguageCodeLanguageCodeLanguageCodeLanguage
afAfrikaansamAmharicarArabicasAssamese
azAzerbaijanibaBashkirbeBelarusianbgBulgarian
bnBengaliboTibetanbrBretonbsBosnian
caCatalancsCzechcyWelshdaDanish
deGermanelGreekenEnglishen_auEnglish (Australian)
en_ukEnglish (British)en_usEnglish (American)esSpanishetEstonian
euBasquefaPersianfiFinnishfoFaroese
frFrenchglGalicianguGujaratihaHausa
hawHawaiianheHebrewhiHindihrCroatian
htHaitian CreolehuHungarianhyArmenianidIndonesian
isIcelandicitItalianjaJapanesejwJavanese
kaGeorgiankkKazakhkmKhmerknKannada
koKoreanlaLatinlbLuxembourgishlnLingala
loLaoltLithuanianlvLatvianmgMalagasy
miMaorimkMacedonianmlMalayalammnMongolian
mrMarathimsMalaymtMaltesemyBurmese
neNepalinlDutchnnNorwegian NynorsknoNorwegian
ocOccitanpaPunjabiplPolishpsPashto
ptPortugueseroRomanianruRussiansaSanskrit
sdSindhisiSinhalaskSlovakslSlovenian
snShonasoSomalisqAlbaniansrSerbian
suSundanesesvSwedishswSwahilitaTamil
teTelugutgTajikthThaitkTurkmen
tlTagalogtrTurkishttTatarukUkrainian
urUrduuzUzbekviVietnameseyiYiddish
yoYorubazhChinese

auto is valid only for fallback_language, not expected_languages. Omitting fallback_language produces the same automatic detection.