Skip to content

Can I use "Build visuals with Q" inside Amazon QuickSight Console Embedding?

0

Hi community,

I'm currently embedding the Amazon QuickSight Console in a web application using Spring Boot (Java 17) and the AWS SDK for Java v1 (aws-java-sdk-quicksight:1.12.780).

While everything works fine, I noticed that the option "Build visuals with Q" does not appear in the embedded console — although it is available when using the native QuickSight Console.

I confirmed that:

My AWS account is Enterprise edition.

I have the proper permissions to use Q features to create visuals in the native console.

The embedding URL is correctly generated using GenerateEmbedUrlForRegisteredUser with the /start/favorites initial path.

My question is: Is it currently possible to use the “Build visuals with Q” functionality inside an embedded QuickSight Console view?

Any official limitation or workaround would be really appreciated.

Backend code:

public class QuickSightGenerativeQnAService {

    private final AmazonQuickSight quickSightClient;

    public QuickSightGenerativeQnAService(String accessKey, String secretKey) {
        this.quickSightClient = AmazonQuickSightClientBuilder.standard()
                .withRegion(Regions.SA_EAST_1)
                .withCredentials(new AWSStaticCredentialsProvider(
                        new BasicAWSCredentials(accessKey, secretKey)))
                .build();
    }

public String generateConsoleEmbedUrl(String accountId, String userArn, List<String> allowedDomains) {
        RegisteredUserEmbeddingExperienceConfiguration experienceConfiguration =
                new RegisteredUserEmbeddingExperienceConfiguration()
                        .withQuickSightConsole(new RegisteredUserQuickSightConsoleEmbeddingConfiguration()
                                        .withInitialPath("/start/favorites"));

        GenerateEmbedUrlForRegisteredUserRequest request = new GenerateEmbedUrlForRegisteredUserRequest()
                .withAwsAccountId(accountId)
                .withUserArn(userArn)
                .withAllowedDomains(allowedDomains)
                .withExperienceConfiguration(experienceConfiguration);

        GenerateEmbedUrlForRegisteredUserResult result = quickSightClient.generateEmbedUrlForRegisteredUser(request);

        return result.getEmbedUrl();
    }
}

Frontend HTML:

<!DOCTYPE html>
<html>
<head>
    <title>QuickSight Console Embedding</title>
    <script src="https://unpkg.com/amazon-quicksight-embedding-sdk@2.10.1/dist/quicksight-embedding-js-sdk.min.js"></script>
</head>
<body>
<h2>Console Embed</h2>
<div id="qs-console" style="width: 100%; height: 900px; border: 1px solid #ccc;"></div>

<script>
    const embedConsole = async () => {
      const { createEmbeddingContext } = QuickSightEmbedding;

      const response = await fetch("local-link");
      const data = await response.json();

      const context = await createEmbeddingContext();

      await context.embedConsole({
        url: data.embedUrl,
        container: '#qs-console',
        height: '900px',
        width: '100%'
      });
    };

    window.onload = embedConsole;
</script>
</body>
</html>

Thanks in advance!

1 Answer
-1
Yes, you can use "Build visuals with Q" inside Amazon QuickSight Console Embedding, but you need to explicitly enable this generative BI capability in both your backend and frontend code.

For your backend code, you need to modify your `RegisteredUserEmbeddingExperienceConfiguration` to include the generative BI feature configurations. Specifically, you need to enable the GenerativeAuthoring feature:

```java
RegisteredUserEmbeddingExperienceConfiguration experienceConfiguration =
        new RegisteredUserEmbeddingExperienceConfiguration()
                .withQuickSightConsole(new RegisteredUserQuickSightConsoleEmbeddingConfiguration()
                        .withInitialPath("/start/favorites")
                        .withFeatureConfigurations(new RegisteredUserFeatureConfigurations()
                                .withAmazonQInQuickSight(new AmazonQInQuickSightFeatureConfigurations()
                                        .withGenerativeAuthoring(new GenerativeAuthoringConfiguration()
                                                .withEnabled(true)))));
```

On the frontend side, you need to update your embedding code to include the content options that enable the buildVisual feature:

```javascript
const contentOptions = {
    toolbarOptions: {
        buildVisual: true
    }
};

await context.embedConsole({
    url: data.embedUrl,
    container: '#qs-console',
    height: '900px',
    width: '100%',
    contentOptions: contentOptions
});
```

Make sure you're using QuickSight Embedding SDK version 2.10 or higher, which you already have (2.10.1). These generative BI capabilities are disabled by default if no configuration is provided, which explains why you're not seeing the "Build visuals with Q" option in your embedded console.

Amazon Q in QuickSight is now generally available in embedded dashboards and console, offering generative BI capabilities that help business analysts and users build insights using natural language.
  

Sources
Enhance your analytics embedding experience with generative BI capabilities | AWS Business Intelligence Blog
Amazon QuickSight launches Amazon Q in embedded QuickSight - AWS

answered a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.