That’s exactly the kind of project Foundry allow you to build ;p
In this case, the best way to connect your agent would be to create your own agent in AIP Chatbot Studio where you can setup an agent and give it access to different object types in the Ontology.
Then, you can build your entire project in a Workshop module and use an AIP Chatbot Widget to add your agent next to your dashboard.
To trigger dynamic dashboard updates, I would recommend to use Ontology Actions (that you can backed by a function for more complex actions). It could be interesting for you because you can also allow your agent to run action automatically!
I’m not sure their is an existing reference architecture for that especially but this course is a great example for your project! And keep in mind the Ontology Driven Development.
I hope you find this helpful. Feel free to ask if you have any question.
but the main problem where its occurring is i was not able connect the output of aip chatbot to the analytics i have added in the workshop may be the i have got my idea wrong i was missing some i will explain what i have done
created a aip chatbot and given my ontology which have been created by some demo data
2 . then created a workshop application in the variables section i have created static varaibles using the ontology i have created that has nothing to do with aip chatbot so the dashboards are not dynamic
i have attached my AIP chatbot to it and try to use that output variable as an input to these dashboards but i was unsuccessful
thats the point i was struck
This is a great use case and a pattern that makes a lot of sense for Foundry/AIP.
At a high level, I would think about separating the solution into three layers:
Data + Ontology layer
Model the core business objects in the Ontology first. The agent should not just query raw datasets directly if you want this to scale. Ontology objects, properties, relationships, and actions give the application a cleaner and more governed interface.
Agent / logic layer
Use AIP or an ontology-aware agent to interpret the natural language question and translate it into structured outputs. For example, the agent could return filters, object sets, metrics, chart parameters, or recommended actions instead of only returning text.
Application / dashboard layer
For the UI, I would look at Workshop or Slate depending on how custom the experience needs to be. If you need a highly interactive conversational analytics experience, a custom React app using OSDK could also be a strong option. The dashboard can update based on the structured response from the agent rather than trying to parse free-form text.
For dynamic updates, I would avoid making the dashboard depend on the LLM response directly. Instead, have the agent produce a structured payload such as:
selected object type
filters
metric definitions
time range
aggregation logic
chart/table configuration
Then the dashboard uses that payload to refresh the relevant object queries, functions, or visual components.
Ontology Actions could be useful if the user’s question leads to a business workflow or state change, but for read-only analytics I would lean more toward ontology object queries, Functions, and application state updates. Pipelines are better suited for data preparation and transformation, not every real-time user interaction.
A scalable architecture could look like:
User question → AIP/agent → structured intent/output → Ontology query or Function → dashboard state update → charts/tables refresh
So the key design principle is: let the agent decide what the user wants, but let governed Foundry/Ontology/Functions handle how the data is retrieved, computed, and displayed.
Would also be interested to hear if others have implemented this pattern with Workshop modules, Slate, or a custom OSDK React frontend.
Like what i want is if i ask any question to the bot
the kpi needs to get updated according to the query
for that i need to give output variable of agent in workshop to input for kpi`s
i was not able to do that that is basic thinking
what happening is the agent is working properly if i ask query the dashboards are not changing
i have used static variable that is why it is not getting updated