Skip to main content
Use setInteractionOptions() for interaction-level defaults such as mode, spoken language, template defaults, personal templates, standard templates, project templates, and document actions. When you set templates.defaultTemplate, it provides a fallback standard template for new sessions. It is used only when the user does not already have their own default template set.
Applies to Web Component, Window API, and PostMessage. Examples on this page use the Web Component API shape.
setInteractionOptions() is a one-shot configuration for the embedded instance. Set it before the user starts or opens an interaction.
Use Configuration Scenarios for practical examples and Supported Values for supported languages and other lookup values.
templates.sources.standard and templates.sources.project apply only when Guided Document Generation is enabled for your account. If you send either source before rollout reaches your environment, the options are inert and do not change behavior. Assistant only dispatches embedded.embeddedInteractionOptionsWarning with unsupportedSources.

Usage

await api.setInteractionOptions({
  mode: {
    fallback: "in-person",
    options: ["in-person", "virtual"],
  },
  spokenLanguage: {
    fallback: "da",
  },
  templates: {
    sources: {
      personal: {
        enabled: true,
      },
      standard: {
        enabled: true,
        include: {
          regions: ["BEL"],
          families: ["soap"],
        },
        exclude: {
          regions: ["USA"],
          families: ["letter"],
        },
      },
      project: {
        enabled: true,
        include: {
          ids: ["7a0ab5b8-1f62-4f75-86a7-4fcd8fd07b5d"],
        },
        exclude: {
          ids: ["d7a7fd8c-8892-4475-81d3-3414b7d8e27d"],
        },
      },
    },
    defaultTemplate: {
      behaviour: "fallback",
      template: {
        source: "standard",
        id: "corti-soap-en",
      },
    },
  },
  documents: {
    actions: {
      sync: false,
    },
    allowedLanguages: ["en", "da"],
  },
});

Prerequisites

  • User must be authenticated.

Input validation

  • mode.fallback: Must be either "in-person" or "virtual".
  • mode.options: Must contain one or both of "in-person" and "virtual".
  • spokenLanguage.fallback: Must be a valid language code when provided.
  • templates.sources.personal.enabled: Must be a boolean when provided.
  • templates.sources.standard.enabled: Must be a boolean when provided.
  • templates.sources.standard.include.regions: Must be an array of ISO 3166-1 alpha-3 template region codes when provided.
  • templates.sources.standard.include.families: Must be an array of standard template family identifiers when provided.
  • templates.sources.standard.exclude.regions: Must be an array of ISO 3166-1 alpha-3 template region codes when provided.
  • templates.sources.standard.exclude.families: Must be an array of standard template family identifiers when provided.
  • templates.sources.project.enabled: Must be a boolean when provided.
  • templates.sources.project.include.ids: Must be an array of project template UUID strings when provided.
  • templates.sources.project.exclude.ids: Must be an array of project template UUID strings when provided.
  • templates.defaultTemplate.behaviour: Must be "fallback" when provided.
  • templates.defaultTemplate.template.source: Must be "standard" for the legacy-compatible template mapping covered by this release.
  • templates.defaultTemplate.template.id: Must be a valid fully resolved template identifier when provided, for example "corti-soap-en".
  • documents.actions.sync: Must be a boolean when provided.
  • documents.allowedLanguages: Must be an array of valid BCP 47 locale codes when provided. Region-less codes (e.g., "en", "da") are recommended; region variants (e.g., "en-US") are supported if the region-less code does not provide your desired results.

Possible errors

  • UNAUTHORIZED: User not authenticated.
  • INVALID_PAYLOAD: Invalid mode, language, template, or boolean value.
  • INTERNAL_ERROR: Failed to apply interaction options.

Returns

This method is documented as a configuration action and does not expose a response payload in the current public reference.