I've been working with the agent chat component and found the following bugs:
Whenever I toggle the Dynamic Agent Id in the Retool Agents query, add a variable, e.g. {{ variable1.value }}, save the query and refresh the page, the value won't be what I wrote anymore but the hard coded id of the last agent that was selected. In fact, even when I change to dynamic and make changes, I don't get the option to save the query
I have no options in the "Query to trigger" section of the agent component, and when setting it up dynamically I can't use variables but rather I can only hard code the name of the query
I noticed that whenever the "query to trigger" is changed, the agent needs a reset so that it identifies the agentID from the query, but this doesn't happen. It would be great that a) it is possible to set up the query dynamically using curly brackets, and b) that the agent chat comopnent refreshes everytime this variable is updated or get a method agentChat2.refresh()
My specific use case: I have a client with a side drawer. The drawer has 3 tabs, one for a different agent (training, sales data, user data). Instead of wiring 3 chat components to 3 different queries, I'd love to have only 1 chat component and 1 query. Or at least 3 chat components and 1 query.
IN fact, it is not possible to have only 1 chat component as messages are stored within the chat comopnent, are there any plans to add expose the messages property in the component settings to set these dynamically, say to load previous conversations?
Thank you so much for the thorough testing and reporting
For the first point with setting dynamic agent IDs, I just tested that out on my end and after page refresh and it seems to simply wipe the dynamic input field, which is also not what we want. Will be filing a bug report for that. Edit: just did some more testing and I am now seeing a hardcoded value from a previous save, will add this to the report.
For the second point, I am trying to reproduce that behavior but I am seeing AI Queries populate
From your screen shot it's clear that it should be showing the runAgent query as an option. Let me know if there are any additional steps I am missing from the loom video below.
For the third point, I did find that after manually switching the 'query to trigger' in the chat component that the component had not updated it's state in time and ran the previous query and not the currently selected one. I can file this fix request as well
For this last part of your question, I 100% want this to be the case personally and I am confident that it is on our roadmap. I will definitely be advocating for this internally to be a high priority.
Appreciate the response, hope these get fixed soon.
The only way I can reproduce this is by adding a query manually, from your video I can see you have two queries that were generated the moment you added a chat component, try adding an agent resource query manually.
Thank you for the added details, let me test that out with a non-component generated agent resource query.
Just tested, can confirm that new Agent queries will not appear in the drop down, they can be hard coded but will not work if a variable is set to the string name of the query.
Sorry for the delay I just got back from some PTO vacation time
Status’ for the three tickets I created:
Agents Query: Dynamic Agent Id is empty after page refresh
Status: ”Ready for Work”
*
Agent Chat Component: "Query to Trigger" input not being respected on switch*
Note: “This would require a larger change to make the agent chat threading work with the agent chat component, which will require more time to build out. Could be done after Q4”
Agent Chat Component: Query to Trigger not including manually created queries
Note: “Adding to quality project to fix the unsupported dynamic mode”
I just added plus 1s to all of these per @abusedmedia’s request. I can continue to check in with Kent to see what would be the lowest lift option to get the intended use case up and running to have one chat component have the Agent Query dynamically be updated via in app logic.