# GM - Kanban Board

## **Documentation** <a href="#documentation" id="documentation"></a>

**GridMate’s Kanban Board** component is a highly customizable tool designed to enhance workflow management. It allows users to track progress and perform quick updates without navigating away from the page. This component is ideal for managing tasks in a visual format, making it easier to interact with data in one place.

**Use case:** Display opportunity Kanban board based on the opportunity object. see [**GM - Kanban Board**](https://app.gitbook.com/o/-MExKsPRmZY_gq8CXAcj/s/-MEsSbGy_U_OhthKUpxu/~/changes/473/product-tour/kanban-board)

## **Specification**

<table data-full-width="true"><thead><tr><th width="196.98297119140625">Property</th><th width="139.61517333984375">Type</th><th>Description</th></tr></thead><tbody><tr><td>Custom Label</td><td>String</td><td>Set the label of the kanban.</td></tr><tr><td>Custom Icon</td><td>String</td><td>Customize the kanban icon. All lightning icons are supported.</td></tr><tr><td>Object Name</td><td>String</td><td>The name of the object to display (e.g., Opportunity).</td></tr><tr><td>Target Object Name</td><td>String</td><td>The name of the object to display if the kanban is shown on a record page.</td></tr><tr><td>Stage Field</td><td>String</td><td>The stage field to use for the kanban.</td></tr><tr><td>Stage Values</td><td>String</td><td>JSON string defining the subset of stage values to use within the kanban.</td></tr><tr><td>Title Field</td><td>String</td><td>The title field to use for each kanban card's title.</td></tr><tr><td>Object Fields</td><td>String</td><td>A comma-separated list of detail fields for the cards.</td></tr><tr><td>Row Limit</td><td>Integer</td><td>The maximum number of rows to fetch from the specified object.</td></tr><tr><td>Filter</td><td>String</td><td>JSON string defining filter criteria. Ex. <code>{'StageName':'Needs Analysis'}.</code></td></tr><tr><td>Sort</td><td>String</td><td>The field list to sort the data.</td></tr><tr><td>Order</td><td>String</td><td>Ascending or descending order for sorting.</td></tr><tr><td>Enable Create Object</td><td>Boolean</td><td>Check to enable the creation of new objects from the kanban.</td></tr><tr><td>Enable Update Object</td><td>Boolean</td><td>Check to enable updates to existing objects.</td></tr><tr><td>Enable Mass Update</td><td>Boolean</td><td>Check to allow bulk updates to existing objects.</td></tr><tr><td>Enable Delete Object</td><td>Boolean</td><td>Check to allow deletion of objects from the kanban.</td></tr><tr><td>Enable Mass Delete</td><td>Boolean</td><td>Check to allow bulk deletion of objects.</td></tr><tr><td>Aggregate</td><td>String</td><td>JSON string to define aggregate fields. Ex. <code>{'Amount':'sum'}</code> to sum amounts of opportunities.</td></tr><tr><td>Actions</td><td>String</td><td>JSON string to initialize the list of available actions, The Kanban Board supports Quick Actions, Global Actions, and calling Flows.</td></tr><tr><td>Show Actions as Buttons</td><td>Boolean</td><td>Use buttons for actions instead of icons.</td></tr><tr><td>Custom Visible Actions</td><td>Integer</td><td>Number of visible custom actions.</td></tr><tr><td>Record Actions</td><td>String</td><td>JSON string to initialize the list of available record actions.</td></tr><tr><td>Stage States</td><td>String</td><td>JSON Stage States configuration to control the behavior when the user move a card.</td></tr><tr><td>Popover Fields</td><td>String</td><td>Popover Fields to display</td></tr><tr><td>Popover Columns #</td><td>String</td><td># Of Popover Columns</td></tr><tr><td>Card Coloring</td><td>String</td><td>JSON conditions for card coloring based on defined metrics.</td></tr><tr><td>Show Border</td><td>Boolean</td><td>Check this option to add a border to the kanban.</td></tr><tr><td>Density</td><td>String</td><td>Component density: comfy or compact.</td></tr><tr><td>Board Height</td><td>Integer</td><td>Set the board height in pixels.</td></tr></tbody></table>

## **API Reference** <a href="#api-reference" id="api-reference"></a>

{% code fullWidth="true" %}

```xml
<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>64.0</apiVersion>
    <isExposed>true</isExposed>
    <masterLabel>GM - Kanban Board</masterLabel>
    <description>GM - Kanban Board</description>
    <targets>
        <target>lightning__AppPage</target>
        <target>lightning__RecordPage</target>
        <target>lightning__HomePage</target>
    </targets>
    <targetConfigs>
        <targetConfig targets="lightning__AppPage,lightning__RecordPage,lightning__HomePage">
            <property
                name="displayLabel"
                type="String"
                label="Custom Label"
                description="Set the label of the kanban"
            />
            <property
                name="customIcon"
                type="String"
                label="Custom Icon"
                description="Customize the kanban icon. All lightning icons are supported. You can get the icon name from https://lightningdesignsystem.com/icons/"
            />

            <property
                name="objectApiName"
                type="String"
                label="Object Name"
                description="The name of the object to display. Ex. Opportunity."
            />
            <property
                name="sobjectName"
                type="String"
                label="Target Object Name"
                description="The name of the object to display if the kanban is displayed on a record page. Ex. Opportunity."
            />
            <property
                name="stageField"
                type="String"
                label="Stage Field"
                description="The stage field to use for the kanban"
            />
            <property
                name="stageValues"
                type="String"
                label="Stage Values"
                description="JSON stage values. The subset of values to use."
            />
            <property
                name="titleField"
                type="String"
                label="Title Field"
                description="The title field to use for the card title"
            />
            <property
                name="jsonObjectFields"
                type="String"
                label="Object Fields"
                description="',' separated list of detail fields"
            />

            <property
                name="rowLimit"
                type="Integer"
                label="Row Limit"
                description="The maximum number of row to fetch"
            />
            <property
                name="filterBy"
                type="String"
                label="Filter"
                description="Json string to define filter criteria. Don’t forget __c for custom fields. Ex. {'StageName':'Needs Analysis'} to see only 'Needs Analysis' Opportunities"
            />
            <property
                name="sortBy"
                type="String"
                label="Sort"
                description="The field list to sort the data. Don’t forget __c for custom fields. Ex. Amount to sort opportunities by amount"
            />
            <property name="orderBy" type="String" label="Order" description="Asc or Desc order for sorting" />

            <property
                name="canCreate"
                type="Boolean"
                label="Enable Create Object"
                description="Check this option if you want to create object"
            />

            <property
                name="canEdit"
                type="Boolean"
                label="Enable Update Object"
                description="Check this option if you want to update object"
            />

            <property
                name="canMassUpdate"
                type="Boolean"
                label="Enable Mass Update"
                description="Check this option if you want to mass update"
            />

            <property
                name="canDelete"
                type="Boolean"
                label="Enable Delete Object"
                description="Check this option if you want to delete object"
            />

            <property
                name="canMassDelete"
                type="Boolean"
                label="Enable Mass Delete"
                description="Check this option if you want to mass delete"
            />

            <property
                name="jsonAggregate"
                type="String"
                label="Aggregate"
                description="Json string to define aggregate fields. Ex. {'Amount':'sum'} to sum the amount of opportunities"
            />

            <property
                name="jsonActions"
                type="String"
                label="Actions"
                description="Json string to initialize the list of available actions"
            />
            <property
                name="buttonActions"
                type="Boolean"
                label="Show Actions as Buttons"
                description="Use buttons for actions instead of icons"
            />
            <property
                name="visibleActions"
                type="Integer"
                label="Custom Visible Actions"
                description="# of visible custom actions"
            />
            <property
                name="jsonRecordActions"
                type="String"
                label="Record Actions"
                description="Json string to initialize the list of available record actions"
            />
            <property
                name="jsonStageStates"
                type="String"
                label="Stage States"
                description="JSON Stage States configuration to control the behavior when the user move a card."
            />
            <property
                name="jsonPopoverFields"
                type="String"
                label="Popover Fields"
                description="Popover Fields to display"
            />
            <property
                name="popoverColumns"
                type="Integer"
                label="Popover Columns #"
                description="# Of Popover Columns"
            />

            <property
                name="jsonCardColoring"
                type="String"
                label="Card Coloring"
                description="JSON conditions for cards coloring"
            />

            <property name="showBorder" type="Boolean" label="Show Border" description="Show Border" />
            <property name="density" type="String" label="Density" description="Component density : comfy | compact" />
            <property name="height" type="Integer" label="Board Height" description="Set the board height in px" />
        </targetConfig>
    </targetConfigs>
</LightningComponentBundle>

```

{% endcode %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.gridmate.io/package-reference/components-library/gm-kanban-board.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
