Current best practices for connecting datasets in Amazon Quick chat agent

Hi everyone,

I would like to understand the current best practices for connecting datasets to optimize their usage with Amazon Quick chat agents.

For example, I have HR data where one dataset contains employee profiles (dimension), and the others contain facts like vacations or parking permissions.

Is it recommended to simply connect all these separate datasets to the chat agent? Based on my experience, this approach works, and Quick chat agent is able to join the datasets using the correct keys and reply the question.

However, I understand there are two alternative approaches:

  • Option 1: Create a new dataset, that joins the existing datasets.

  • Option 2: Create a Topic with the separate datasets and explicitly define the relationships between them.

Does choosing one approach over the other affect the quality or accuracy of the answers generated by Amazon Quick chat agent?

Hi @LuckyLingua and welcome to the community!

Attaching separate datasets directly to the chat agent is the simplest approach and as you’ve noticed, Quick’s chat agent can infer joins between datasets using matching column names. The system generates SQL and executes it across the full dataset. However, the accuracy of the joins depends on the agent correctly identifying the right keys, which can sometimes lead to incorrect or ambiguous joins, especially as the number of datasets grows.

Between your two options, I believe option 1 (pre-joined dataset) gives you the most control over join logic because you define exactly how the tables relate. AWS documentation recommends creating datasets only for your intended use cases to maintain a focused context boundary. So rather than dumping everything into one agent, curating what’s connected and how it relates is the best practice.

I’ve also attached some documentation about this topic in case it is of some help to you:

As well as this AWS blog post:

Hope this helps!

Hi @LuckyLingua,

Hope everything is well with you! Just checking back in since this thread hasn’t received a response in a while. Was the reply helpful to you or were you able to find a solution yourself in the meantime? Please help the community by marking this answer as “Solution” or following up in general within the next 3 business days!

Hi @LuckyLingua,

Since I haven’t received any further updates from you, I’ll treat this inquiry as complete for now. If you have any additional questions, feel free to create a new post in the community and link this discussion for context.

Thank you.