Client Dashboards

We have created a master client dashboard for internal use only and are using AML extend to create individual versions for our client teams to view. I’ve looked in the docs and while I see how to select filters if the dashboard is embedded, I don’t see a way to set the default for each client dashboard (it always defaults to the master template with all filters off). Also, is there a way to hide filters that are not needed in the client version?

Hi @celiasjr,

Yes, you can achieve these two use cases with our current Extend function:

Here’s an example:
We have a master dashboard with two filters: Created At (f1) and Gender (f2):

From this, I created an extended dashboard where I:

However, please note that once you use Extend, Const, or Function, you need to define charts, layouts, and positions as code instead of UI. Editing in UI mode will not work if your code contains AML Extend.

May I check if we’ve answered your questions? :blush:

1 Like

I’ll give that a try and let you know. Thanks!

1 Like

I have this working. Thanks. Do you have any suggestions on how to add a client name field as a header to the master that can then be changed in the extend?

Hi @celiasjr

You can define the heading within a TextBlock in the original dashboard, and then override that in the extending dashboard.


Alternatively, if you want to reuse some of the text in your heading, you can leverage our AML Function and combine it with Extend


Let me know if that helps!

1 Like

Excellent. Thanks. We have created a master dashboard template and the client template using AML extend. This may be a stupid question, but what is the easiest way to duplicate that client template to then customize for each individual client?

Separately, when I extend the filters I am getting this error when publishing to production: “Cannot merge dynamic prop list with non-dynamic prop list”. Is there something wrong in my code:

Dashboard client_bot_metrics_dashboard = master_client_bot_metrics_dashboard.extend({

block f1: master_client_bot_metrics_dashboard.block.f1.extend ({
theme {
opacity: 0
}
default {
operator: ‘is’
value: ‘’ //org_id
}
})

block f6: master_client_bot_metrics_dashboard.block.f6.extend ({
default {
operator: ‘is’
value: ‘’ //event_id
}
})

block f7: master_client_bot_metrics_dashboard.block.f7.extend ({
default {
operator: ‘matches’
value: ‘’ //date
}
})
})

I’m still looking for help on the above. I’ve isolated the issue to the “block f1” code. When that is commented out the other 2 filter overrides work.