Nick Dysle
03/25/2026, 1:44 PMkapa.ai
03/25/2026, 1:44 PMIInsightMenuSubMenuComponentProps), there is an alpha-stage enableTitleConfig property available in the SDK, but this is marked as experimental. [SDK API Docs] π 0 button π 0 button βΉοΈ Tip: Mention @kapa.ai in the thread for follow-ups.
π Our Support team monitors all messages and will jump in if needed.Nick Dysle
03/25/2026, 1:54 PMkapa.ai
03/25/2026, 1:54 PMSteve Fox
03/25/2026, 1:56 PMkapa.ai
03/25/2026, 1:56 PMCREATE_AUTOMATION permission being granted to your users (users without this permission do not see the Alerts option in the menu)
One community member also confirmed that alerts do work in iframes once properly set up. [Community Slack]
So to directly answer your question: the feature has existed since October 2024, but it may have only recently become visible in your embedded environment due to one of the factors above. I apologize if my earlier response was unclear on this distinction. π 0 button π 0 button βΉοΈ Tip: Mention @kapa.ai in the thread for follow-ups.
π Our Support team monitors all messages and will jump in if needed.Steve Fox
03/25/2026, 1:57 PMkapa.ai
03/25/2026, 1:57 PMDashboard component, you can set isReadOnly={true} in the config prop. This disables all user interactions that alter backend state, including creating/changing alerts. [Dashboard Config]
<Dashboard
dashboard={dashboardRef}
config={{ isReadOnly: true }}
/> Option 2: Hide via menuButtonItemsVisibility (React SDK) The IMenuButtonItemsVisibility interface includes an alertingButton property. Setting it to false will hide the Alerting button from the dashboard menu. [Menu Button Visibility] Option 3: Disable per Visualization (Analytical Designer) You can disable the ability to create alerts for a specific visualization by editing it in the Analytical Designer and toggling off the Alert option under the Interactions tab. [Disabling Alerts] Option 4: Permissions-Based Control Users without the CREATE_AUTOMATIONS permission will not see the Alerts option in the widget menu. So restricting that permission from your end users is another way to suppress it until you're ready. [Community Slack]
The most straightforward approach for embedded use cases is likely Option 2 (hiding the alerting button via menuButtonItemsVisibility) or Option 4 (permissions control). π 0 button π 0 button βΉοΈ Tip: Mention @kapa.ai in the thread for follow-ups.
π Our Support team monitors all messages and will jump in if needed.Nick Dysle
03/25/2026, 2:21 PMkapa.ai
03/25/2026, 2:21 PMNick Dysle
03/25/2026, 3:07 PMGET /features works and the FeatureHub payload includes enableAlertingRollout: false. In the embed, we donβt see the alerting UI there, which lines up with βflags actually applied.β
In PROD, GET /features doesnβt complete, the browser blocks it (CORS: Datadog/RUM headers arenβt allowed on the preflight for /features). So FeatureHub never loads. Despite that, we do see alerting UI in prod.
(1) Whatβs the intended SDK behavior when FeatureHub fails vs when it loads with enableAlertingRollout: false?kapa.ai
03/25/2026, 3:08 PMenableAlertingRollout: false is applied β alerting UI is hidden. β
β’ In PROD: FeatureHub request fails (CORS block) β SDK falls back to default feature flags β the default value for enableAlertingRollout appears to be true (or at least permissive enough to show alerting UI) β alerting UI appears. β
So the intended SDK behavior when FeatureHub fails is to fall back to default feature flags, rather than failing silently or suppressing all features. This is why you see alerting in PROD despite no explicit configuration β the defaults are being used. What the Knowledge Sources Don't Confirm The knowledge sources do not specify what the exact default values are for enableAlertingRollout or enableAlerting when the fallback occurs. I cannot confirm this with certainty from the available documentation. Recommended Action The root cause appears to be the CORS issue blocking the /features request in PROD (Datadog/RUM headers on the preflight). Resolving that CORS configuration so FeatureHub can load in PROD would likely bring PROD behavior in line with DEV/QA. This would be worth raising with GoodData Support if you need help configuring it. π 0 button π 0 button βΉοΈ Tip: Mention @kapa.ai in the thread for follow-ups.
π Our Support team monitors all messages and will jump in if needed.kapa.ai
03/25/2026, 3:08 PMenableAlertingRollout feature flag is documented as controlling "alerting rollout of the dashboard widgets" [Feature Flags], and enableAlerting controls whether alerting of dashboard widgets is enabled at all [Feature Flags].
The IFeatureFlags interface documentation also notes:
> "Each property will be retired in a future version of the SDK once the feature has been rolled out to all users and is considered stable enough that there is no longer a need to roll it back or disable it easily." [IFeatureFlags] What the Knowledge Sources Do NOT Confirm The knowledge sources do not explicitly document what the SDK's fallback behavior is when the GET /features (FeatureHub) call fails entirely β i.e., whether it defaults to true, false, or some hardcoded default for each flag.
Your observation (FeatureHub blocked β alerting UI appears) suggests the SDK may default to `true`/enabled when FeatureHub is unreachable, but I cannot confirm this from the available documentation. The changelog does mention: "Return default feature flags on FeatureHub request failure" [CHANGELOG], which implies there are defined defaults β but what those defaults are for enableAlertingRollout specifically is not stated in the knowledge sources. Recommendation I'd strongly recommend raising this with GoodData Support, specifically citing the CORS/Datadog RUM preflight issue blocking /features in PROD and asking what the hardcoded default values are for enableAlerting and enableAlertingRollout when FeatureHub is unreachable. That would definitively explain the behavior you're seeing. π 0 button π 0 button βΉοΈ Tip: Mention @kapa.ai in the thread for follow-ups.
π Our Support team monitors all messages and will jump in if needed.kapa.ai
03/25/2026, 3:09 PMGET /features call is blocked by the CORS issue, the SDK falls back to hardcoded default feature flag values rather than treating all flags as disabled. What the Knowledge Sources Cannot Confirm The knowledge sources do not specify what the hardcoded default value is for enableAlertingRollout (or enableAlerting) when the fallback occurs. Your observation strongly implies the default is true (or permissive), but I cannot confirm that from the available documentation. Summary of the Two Scenarios Recommended Next Steps 1. Fix the root cause: Resolve the CORS/Datadog RUM preflight issue blocking /features in PROD so FeatureHub can load and apply enableAlertingRollout: false consistently.
2. Contact GoodData Support: Ask specifically what the hardcoded SDK default values are for enableAlerting and enableAlertingRollout when FeatureHub is unreachable β this would definitively confirm the behavior. π 0 button π 0 button βΉοΈ Tip: Mention @kapa.ai in the thread for follow-ups.
π Our Support team monitors all messages and will jump in if needed., with interactive elementskapa.ai
03/25/2026, 3:15 PMGET /features call is blocked by the CORS issue, the SDK falls back to hardcoded default feature flag values rather than treating all flags as disabled. What the Knowledge Sources Cannot Confirm The knowledge sources do not specify what the hardcoded default value is for enableAlertingRollout when the fallback occurs. Your observation strongly implies the default is true (or permissive enough to show alerting UI), but I cannot confirm that from the available documentation. Summary Recommended Next Steps 1. Fix the root cause: Resolve the CORS/Datadog RUM preflight issue blocking /features in PROD so FeatureHub loads and applies enableAlertingRollout: false consistently across all environments.
2. Contact GoodData Support: Ask specifically what the hardcoded SDK default values are for enableAlerting and enableAlertingRollout when FeatureHub is unreachable β this would definitively confirm the behavior you're observing. π 0 button π 0 button βΉοΈ Tip: Mention @kapa.ai in the thread for follow-ups.
π Our Support team monitors all messages and will jump in if needed., with interactive elementsNick Dysle
03/25/2026, 3:18 PM<https://analytics.golmn.com/features>. The browser compares the clientβs
Access-Control-Request-Headers
to the serverβs
Access-Control-Allow-Headers.
In your prod capture, the browser asked to send:
traceparent, tracestate, x-datadog-origin, x-datadog-parent-id, x-datadog-sampling-priority, x-datadog-trace-id, x-featurehub
but /features only allowed a smaller set (it included x-featurehub but not the Datadog/trace headers), so the preflight fails.
What needs to change
On <http://analytics.golmn.com|analytics.golmn.com> for /features (same path you already OPTIONS), set Access-Control-Allow-Headers so it includes every header your app may send on that request. Practically, that means at least adding the missing ones above.
Would this be a change that needs to be made on your end?kapa.ai
03/25/2026, 3:19 PMhttps://analytics.golmn.com/settings)
β’ Or via the /api/v1/entities/admin/organizations/<organization_id> API endpoint
[Enable CORS for an Organization]
However, the knowledge sources do not explicitly document the ability to configure Access-Control-Allow-Headers (i.e., which request headers are permitted in preflight responses) through the GoodData CORS settings UI or API. The documented CORS configuration covers allowed origins, not allowed headers. What This Means Practically The specific issue β that Datadog/RUM trace headers (traceparent, x-datadog-trace-id, etc.) are not included in the Access-Control-Allow-Headers response from /features β is likely something that would need to be addressed by GoodData's engineering team, as it relates to how the GoodData backend responds to preflight requests on that endpoint, not something you can configure yourself through the standard CORS settings. Recommended Action I'd strongly recommend raising this directly with GoodData Support, providing:
β’ The specific OPTIONS request/response headers from your PROD browser capture
β’ The list of headers being blocked (traceparent, tracestate, x-datadog-*)
β’ The endpoint affected (/features)
This is beyond what can be self-configured based on the available documentation, and GoodData Support would be best positioned to confirm whether this is a backend change they need to make. π 0 button π 0 button βΉοΈ Tip: Mention @kapa.ai in the thread for follow-ups.
π Our Support team monitors all messages and will jump in if needed.kapa.ai
03/25/2026, 3:19 PMAccess-Control-Allow-Headers and Access-Control-Allow-Origin settings for your GoodData instance (e.g., analytics.golmn.com) are controlled through GoodData's organization settings, not your own server. [Enable CORS for an Organization]
However, the knowledge sources do not contain enough information to confirm whether GoodData's /features endpoint's Access-Control-Allow-Headers can be customized to include third-party headers like Datadog's traceparent, x-datadog-trace-id, etc. This is a very specific server-side CORS header configuration on GoodData's infrastructure, and that level of detail is not covered in the available documentation. What You Should Do This is a case where you need to contact GoodData Support directly and ask:
> "Can the Access-Control-Allow-Headers for the /features endpoint on our GoodData instance be extended to include Datadog RUM/trace headers (traceparent, tracestate, x-datadog-origin, x-datadog-parent-id, x-datadog-sampling-priority, x-datadog-trace-id)?"
In the meantime, a practical workaround on your side would be to configure your Datadog RUM SDK to exclude the GoodData /features endpoint from being instrumented with trace headers, which would prevent the preflight from including those headers in the first place. This is a Datadog-side configuration and would not require any changes from GoodData. π 0 button π 0 button βΉοΈ Tip: Mention @kapa.ai in the thread for follow-ups.
π Our Support team monitors all messages and will jump in if needed.kapa.ai
03/25/2026, 3:20 PMAccess-Control-Allow-Headers (i.e., which request headers are permitted in preflight responses) through GoodData's self-service CORS settings.
What GoodData's CORS configuration UI and API allow you to manage is allowed origins β not the set of headers the server will accept in preflight requests. [Enable CORS for an Organization]
The /features endpoint's Access-Control-Allow-Headers response is controlled by GoodData's backend infrastructure, not by anything you can configure yourself through the Developer Settings. Your Options 1. Contact GoodData Support β Ask them to extend the Access-Control-Allow-Headers on the /features endpoint to include the Datadog/RUM trace headers. This is the most direct fix but requires action on GoodData's side.
2. Workaround on your side β Configure your Datadog RUM SDK to exclude the GoodData /features endpoint from distributed tracing instrumentation. This would prevent Datadog from injecting traceparent, x-datadog-*, etc. headers on that request, so the preflight would no longer include them and would pass. This is entirely within your control and does not require any changes from GoodData.
Option 2 is likely the faster path to resolution while you engage GoodData Support on the longer-term fix. π 0 button π 0 button βΉοΈ Tip: Mention @kapa.ai in the thread for follow-ups.
π Our Support team monitors all messages and will jump in if needed.kapa.ai
03/25/2026, 3:26 PMAccess-Control-Allow-Headers. [Enable CORS for an Organization]
β’ The Access-Control-Allow-Headers returned by the /features endpoint is controlled by GoodData's backend infrastructure, and the knowledge sources do not document any way for you to modify this yourself.
So yes β extending Access-Control-Allow-Headers on the /features endpoint to include the Datadog/RUM trace headers would be a change that needs to be made on GoodData's side, not yours. Practical Next Steps 1. Contact GoodData Support with your browser capture showing the OPTIONS request/response, and request that the Datadog trace headers (traceparent, tracestate, x-datadog-origin, x-datadog-parent-id, x-datadog-sampling-priority, x-datadog-trace-id) be added to the Access-Control-Allow-Headers for the /features endpoint.
2. In the meantime, configure your Datadog RUM SDK to exclude the GoodData /features endpoint from distributed tracing instrumentation β this is entirely within your control and would stop the problematic headers from being sent on that preflight, resolving the issue immediately without waiting on GoodData. π 0 button π 0 button βΉοΈ Tip: Mention @kapa.ai in the thread for follow-ups.
π Our Support team monitors all messages and will jump in if needed.Michael Ullock
03/25/2026, 6:06 PM