generate_theme
Generate and apply a professional theme for Power BI reports, deriving an 8-color palette from a brand color, style, or logo and setting card visuals, fonts, and shadows for a consistent look.
Instructions
Generate AND (by default) apply a complete professional theme: an 8-colour palette derived from a primaryColor (hex), an explicit colors list, or a named style (executive|vibrant|slate|sunset|forest); structural colours + fonts; AND visualStyle defaults so EVERY visual automatically gets the card look - rounded corners, drop shadow, consistent title font, header hidden. This is the theme-driven 'looks pro' layer; pair it with auto_arrange. Set cardStyle=false for flat visuals, dark=true for a dark theme.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| dark | No | dark theme | |
| name | No | theme name | Custom |
| apply | No | apply to the report now (false = just return the JSON) | |
| style | No | named style if no primaryColor: executive|vibrant|slate|sunset|forest | executive |
| colors | No | explicit palette as comma-separated hex (overrides primaryColor/style) | |
| shadow | No | drop shadow on every visual | |
| logoPath | No | path to a brand LOGO image (png/jpg) - the palette is extracted from it (overrides primaryColor/colors). The brand kit. | |
| cardStyle | No | apply the card look (bg/border/shadow) to all visuals via the theme | |
| fontFamily | No | font family e.g. Segoe UI | Segoe UI |
| cornerRadius | No | card corner radius px | |
| primaryColor | No | primary brand colour hex e.g. #16365C (palette is derived from it) | |
| reportSessionId | Yes |