Skip to content

WebExperience ​

The WebExperience resource allows you to create and manage AWS QBusiness WebExperiences for building interactive web applications. This resource provides configuration options to tailor the user experience.

Minimal Example ​

Create a basic WebExperience with required properties and a common optional property.

ts
import AWS from "alchemy/aws/control";

const basicWebExperience = await AWS.QBusiness.WebExperience("basicWebExperience", {
  applicationId: "app-123456",
  title: "Basic Web Experience",
  origins: ["https://example.com"],
  welcomeMessage: "Welcome to our basic web experience!"
});

Advanced Configuration ​

Configure a WebExperience with advanced settings including customization and identity provider configuration.

ts
const advancedWebExperience = await AWS.QBusiness.WebExperience("advancedWebExperience", {
  applicationId: "app-654321",
  title: "Advanced Web Experience",
  origins: ["https://example.com"],
  customizationConfiguration: {
    themeColor: "#ff5733",
    logoUrl: "https://example.com/logo.png"
  },
  identityProviderConfiguration: {
    provider: "Cognito",
    userPoolId: "us-east-1_ABCDEFG",
    appClientId: "abcdefgh12345678"
  },
  tags: [
    { key: "Environment", value: "Production" },
    { key: "Project", value: "WebApp" }
  ]
});

Sample Prompts Control Mode ​

Customize the sample prompts control mode for a specific WebExperience.

ts
const samplePromptsWebExperience = await AWS.QBusiness.WebExperience("samplePromptsWebExperience", {
  applicationId: "app-789012",
  title: "Sample Prompts Experience",
  samplePromptsControlMode: "active",
  origins: ["https://example.com"],
  welcomeMessage: "Explore our features with guided prompts!"
});

Browser Extension Configuration ​

Set up a WebExperience with browser extension configuration.

ts
const browserExtensionWebExperience = await AWS.QBusiness.WebExperience("browserExtensionWebExperience", {
  applicationId: "app-345678",
  title: "Browser Extension Experience",
  origins: ["https://example.com"],
  browserExtensionConfiguration: {
    extensionId: "com.example.extension",
    permissions: ["tabs", "storage"]
  },
  roleArn: "arn:aws:iam::123456789012:role/WebExperienceRole"
});