cancel
Showing results for 
Search instead for 
Did you mean: 
arnabsaha
Rocketeer
Status: New

Background / Use Case
We are building an Incorta Dashboard Frontend automation framework for UI validation.
The application uses agentic browser automation technologies (e.g., Playwright, Chromium, browser-use) combined with AI models to validate dashboard frontend validations.
For this automation to be reliable and efficient, we need programmatic discovery of the dashboard layout prior to launching browser automation.

Additionally we want to fetch data for different Insights using existing APIs for Data Validation. For this we need the insight ids to call the APIs to fetch data. 

Problem Statement
Currently we are relying on AI models to extract underlying insights details (insight id, type, label, etc) within a dashboard, which is slow, incurs costs and non-deterministic.
A structured API response providing dashboard layout metadata would allow the automation engine to navigate the DOM efficiently with added info of Insight IDs already tagged in the UI DOM structure.

For fetching data using APIs, if we have multiple tabs and insights in a Dashboard there is no API available that lets us capture all the insight ids within a dashboard so that we can programmatically fetch data for different insights.  This has to be manually extracted from Dom structure or looking in BFF endpoint (Eg: /incorta/bff/v1/dashboards/cd2bb8be-31b7-45f1-ab40-681dc15efc14) results.

Required Capability
We suggest an API available via Public API v2 that allows us to retrieve dashboard layout metadata using a Dashboard GUID. Sample JSON provided below.

On calling the API, the API should return JSON response (indicative) with below details. 
- Dashboard name and guid
- All tabs present in the Dashboard in an Array 
     - Should have tab guid and label
     - Should have all the insight per tab in an Array
               - Insight details should have insight_guid, type of Insight (BAR_CHART, PIE_CHART, etc) along with its label.
     - Can also send layout co-ordinates.
 
Prompts API is already available, so that can be excluded from this API or can be added via flag (API param : include_prompts=true) in the API
 
Proposed API (Illustrative)
API : /dashboards/{dashboardGuid}/components
Response:
{
    "dashboard_name": "Global Promo Offer",
    "dashboard_guid": "2679aef1-f3f7-4214-b5fb-1e099f846418",
    "tabs": [{
            "tab_guid": "85e901f7-af79-4c5e-9f1b-d4df80ea0181",
            "label": "Summary",
            "insights": [{
                    "insight_guid": "dee51b65-90af-421e-8841-baa8ace5c09c",
                    "type": "KPI",
                    "label": "Revenue"
                }, {
                    "insight_guid": "d7a140d1-b36a-4e76-8e52-b10b3994b48d",
                    "type": "CHART",
                    "label": "Revenue with Promo & without Promo"
                }, {
                    "insight_guid": "6121341d-1e32-420a-9732-1fdaeadbabf9",
                    "type": "BAR_CHART",
                    "label": "Top 10 Promos"
                }
            ]
        }, {
            "tab_guid": "491b1d79-02a7-4f7d-b2fc-581b8189ecc0",
            "label": "Promo Performance",
            "insights": [{
                    "insight_guid": "af13dee2-e241-447e-8f86-8fb6225f93db",
                    "type": "KPI",
                    "label": "Units Sold"
                }, {
                    "insight_guid": "6f915829-581d-43d4-be8d-873e6c53bacd",
                    "type": "KPI",
                    "label": "Transactions with Single Code"
                }
            ]
        }
    ]
}
 
This would help anyone who wants to discover components and insights programmatically.