Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
I am creating a cusotm visual and want to add some formatting options. I've followed the guide in the custom visual documentation. As I understand it, if I add objects to the capabilities file it should show up in the formatting panel. Below is my code, I'm not sure why it doens't work.
Any insight is greatly appreciated.
{
"dataRoles": [
{
"displayName": "Date",
"name": "categories",
"kind": "Grouping",
"description": "Add a date-type column"
},
{
"displayName": "Max Date Column",
"name": "max date",
"kind": "Grouping",
"description": "Add column that contains max date"
}
],
"objects": {
"general": {
"displayName": "General",
"displayNameKey": "formattingGeneral",
"properties": {
"filter": {
"type": {
"filter": true
}
},
"selfFilter": {
"type": {
"filter": {
"selfFilter": true
}
}
}
}
},
"buttonTypes": {
"displayName": "BoB Buttons",
"displayNameKey": "Visual_Buttons",
"properties": {
"show": {
"displayName": "Show",
"displayNameKey": "Visual_Show",
"type": {
"bool": true
}
}
}
}
},
"dataViewMappings": [
{
"conditions": [
{
"categories": {
"max": 1
}
}
],
"categorical": {
"categories": {
"select": [
{
"for": {
"in": "categories"
}
}
],
"dataReductionAlgorithm": {
"window": {
"count": 30000
}
}
}
}
}
],
"privileges": [],
"supportsHighlight": true,
"supportsLandingPage": true,
"suppressDefaultTitle": true,
"supportsSynchronizingFilterState": true,
"supportsKeyboardFocus": true
}
Hi @kpia,
Capabilities are added to tell Power BI what objects and properties your visual will want to persist to the report for later retrieval. However, to display them for the user, you will need to write the necessary code to do so.
This code will typically include classes that match the structure of your capabilities (a class instance for each object and each class has to have properties with default values instantiated) and suitable logic to handle things that are not defined in the capabilities, such as enabling/disabling other properties based on what you choose in others or performing validation.
The Objects and Properties page in the developer documentation has a section that details how to get started with the code necessary for populating the formatting pane. Suppose you've created a brand new visual using powerbi-visuals-tools. In that case, there is usually a VisualSettings.ts (or similar file) that is generated, showing the necessary structure needed to match the capabilities that are generated from the template, and this may help you to get started.
Good luck!
Daniel
Proud to be a Super User!
On how to ask a technical question, if you really want an answer (courtesy of SQLBI)
Check out the November 2025 Power BI update to learn about new features.
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!
| User | Count |
|---|---|
| 6 | |
| 5 | |
| 4 | |
| 2 | |
| 2 |