Documentation
Every field of the SETKI Grid configuration JSON. Paste a config directly into Settings → JSON editor inside the widget.
{
"module": "Leads",
"editingEnabled": true,
"showSumsRow": true,
"filterVisible": false,
"addRowEnabled": true,
"multiEditEnabled": false,
"userSortsEnabled": true,
"defaultPerPage": 25,
"tableHeight": 0,
"hiddenKeys": [],
"pinnedKeys": [],
"columnEditable": {},
"columnAggregation": {},
"columnNumeric": {},
"columnText": {},
"columnDate": {},
"columnChart": {},
"adminFilters": [],
"adminSorts": [],
"roleMap": {},
"knownProfiles": []
}
module · stringZoho CRM API name of the module to display. Common values: Leads, Contacts, Deals, Accounts, Tasks.
"module": "Leads"
editingEnabled · booleanAllow inline cell editing. When false the table is read-only for all users.
"editingEnabled": true
showSumsRow · booleanShow the totals row (Σ / ~) below the table.
"showSumsRow": true
filterVisible · booleanShow the filter input row under column headers by default.
"filterVisible": false
addRowEnabled · booleanAllow adding new records via the inline row at the bottom of the table.
"addRowEnabled": true
multiEditEnabled · booleanEnable row checkboxes for bulk edit / bulk delete.
"multiEditEnabled": false
userSortsEnabled · booleanAllow users to change sorting. When false, only adminSorts apply.
"userSortsEnabled": true
defaultPerPage · numberDefault number of rows per page. Allowed values: 10, 25, 50, 100, 200.
"defaultPerPage": 25
tableHeight · numberFixed table height in pixels. 0 means auto (fills the available space).
"tableHeight": 500
pinnedKeys · string[]API field names of columns to pin to the left edge.
"pinnedKeys": ["Name", "Amount"]
columnEditable · objectPer-column editable override. Keys are API field names, values are booleans.
"columnEditable": {
"Name": true,
"Amount": true,
"Created_Time": false
}
columnAggregation · objectAggregation type for each column in the totals row.
| Value | Meaning |
|---|---|
"sum" | Show Σ (sum) |
"avg" | Show ~ (average) |
"none" | Hide aggregation for this column |
"columnAggregation": {
"Amount": "sum",
"Probability": "avg",
"Lead_Score": "none"
}
columnNumeric · objectDisplay settings for number and stars columns.
"columnNumeric": {
"Amount": {
"decimalPlaces": 2,
"suffix": "₽",
"stockMode": false,
"thresholdsEnabled": true,
"thresholdLow": 0,
"thresholdHigh": 100000,
"thresholdLowColor": "#fbebeb",
"thresholdHighColor": "#e8f0fe"
},
"Lead_Score": {
"stars": true
}
}
| Field | Type | Description |
|---|---|---|
stars | boolean | Render as star rating instead of number |
stockMode | boolean | Show ▲/▼ arrows relative to stockThreshold |
stockThreshold | number | Baseline value for stock arrows (default 0) |
thresholdsEnabled | boolean | Enable cell background color highlights |
thresholdLow | number | Value below which low-color is applied |
thresholdHigh | number | Value above which high-color is applied |
thresholdLowColor | string | Hex color for low threshold background (default #fbebeb) |
thresholdHighColor | string | Hex color for high threshold background (default #e8f0fe) |
decimalPlaces | number | Decimal places to show (0–10) |
suffix | string | Suffix appended to the value, e.g. "₽", "$", " kg" |
columnText · objectDisplay settings for text/lookup/owner columns.
"columnText": {
"Owner": { "avatarEnabled": true },
"Contact_Name": { "avatarEnabled": false }
}
| Field | Type | Description |
|---|---|---|
avatarEnabled | boolean | Show avatar circle with initials next to the name (default true) |
columnDate · objectDisplay settings for date and datetime columns.
"columnDate": {
"Closing_Date": {
"deadlineHighlight": true,
"deadlineColorToday": "#f5a500",
"deadlineColorOverdue": "#e05555"
}
}
| Field | Type | Description |
|---|---|---|
deadlineHighlight | boolean | Highlight overdue / today dates with color (default true) |
deadlineColorToday | string | Hex color for "today" highlight (default #f5a500) |
deadlineColorOverdue | string | Hex color for overdue highlight (default #e05555) |
columnChart · objectSparkline chart settings for textarea columns.
"columnChart": {
"Revenue_Chart": {
"sourceModule": "Deals",
"valueField": "Amount",
"labelField": "Closing_Date",
"sortField": "Closing_Date",
"sortOrder": "asc",
"maxPoints": 12,
"filters": [
{
"field": "Account_Name",
"operator": "equals",
"valueColumn": "Account_Name"
}
]
}
}
| Field | Type | Description |
|---|---|---|
sourceModule | string | Zoho CRM module to fetch chart data from |
valueField | string | API field name for Y-axis values (must be numeric) |
labelField | string | API field name for X-axis labels (e.g. a date field) |
sortField | string | Field used to sort fetched records |
sortOrder | "asc" | "desc" | Sort direction (default "asc") |
maxPoints | number | Maximum data points; oldest are trimmed (default 100) |
filters | ChartFilter[] | Filters applied when fetching chart data |
ChartFilter fields
| Field | Type | Description |
|---|---|---|
field | string | API field name in the source module to filter on |
operator | string | equals, not_equal, contains, starts_with, ends_with, greater_than, less_than, greater_equal, less_equal |
valueColumn | string | API field name in the current row whose value is used as the filter value |
adminFilters · FilterCondition[]Preset filters applied to every user's view. Users cannot remove them.
"adminFilters": [
{ "field": "Lead_Status", "operator": "not_equal", "value": "Dead" },
{ "field": "Amount", "operator": "greater_than", "value": 0 }
]
| Field | Type | Description |
|---|---|---|
field | string | API field name |
operator | string | equals, not_equal, contains, not_contains, starts_with, ends_with, greater_than, less_than, greater_equal, less_equal |
value | string | number | Filter value |
adminSorts · SortConfig[]Preset sort order applied when the table loads (before any user interaction).
"adminSorts": [
{ "field": "Amount", "direction": "desc" },
{ "field": "Closing_Date", "direction": "asc" }
]
| Field | Type | Description |
|---|---|---|
field | string | API field name |
direction | "asc" | "desc" | Sort direction |
roleMap · objectMaps Zoho CRM Profile names to preset IDs. When a profile has a mapping the user sees the preset view instead of the base config.
"roleMap": {
"Sales Manager": "preset_abc123",
"Support": "preset_xyz789"
}
knownProfiles · string[]List of profile names that appear in the Roles tab. Auto-populated when the Roles section is opened.
"knownProfiles": ["Administrator", "Sales Manager", "Support"]
{
"module": "Leads",
"editingEnabled": false,
"showSumsRow": false,
"filterVisible": false,
"addRowEnabled": false,
"multiEditEnabled": false,
"userSortsEnabled": true,
"defaultPerPage": 50,
"tableHeight": 0,
"hiddenKeys": ["Description", "Created_By", "Modified_By"],
"pinnedKeys": ["Name"],
"columnEditable": {},
"columnAggregation": {},
"columnNumeric": {},
"columnText": {},
"columnDate": {},
"columnChart": {},
"adminFilters": [],
"adminSorts": [{ "field": "Created_Time", "direction": "desc" }],
"roleMap": {},
"knownProfiles": []
}
{
"module": "Deals",
"editingEnabled": true,
"showSumsRow": true,
"filterVisible": true,
"addRowEnabled": true,
"multiEditEnabled": true,
"userSortsEnabled": true,
"defaultPerPage": 25,
"tableHeight": 0,
"hiddenKeys": ["Description"],
"pinnedKeys": ["Deal_Name"],
"columnEditable": {
"Amount": true,
"Stage": true,
"Closing_Date": true
},
"columnAggregation": {
"Amount": "sum",
"Probability": "avg"
},
"columnNumeric": {
"Amount": {
"decimalPlaces": 0,
"suffix": " ₽",
"thresholdsEnabled": true,
"thresholdLow": 10000,
"thresholdHigh": 500000,
"thresholdLowColor": "#fbebeb",
"thresholdHighColor": "#e8f5e9"
},
"Probability": {
"suffix": " %",
"stockMode": true,
"stockThreshold": 50
}
},
"columnText": {
"Owner": { "avatarEnabled": true }
},
"columnDate": {
"Closing_Date": {
"deadlineHighlight": true,
"deadlineColorToday": "#f5a500",
"deadlineColorOverdue": "#e05555"
}
},
"columnChart": {},
"adminFilters": [
{ "field": "Stage", "operator": "not_equal", "value": "Closed Lost" }
],
"adminSorts": [
{ "field": "Closing_Date", "direction": "asc" }
],
"roleMap": {},
"knownProfiles": []
}
{
"module": "Contacts",
"editingEnabled": true,
"showSumsRow": false,
"filterVisible": false,
"addRowEnabled": false,
"multiEditEnabled": false,
"userSortsEnabled": true,
"defaultPerPage": 50,
"tableHeight": 0,
"hiddenKeys": [],
"pinnedKeys": ["Full_Name"],
"columnEditable": {
"Phone": true,
"Email": true
},
"columnAggregation": {},
"columnNumeric": {
"Lead_Score": { "stars": true }
},
"columnText": {
"Full_Name": { "avatarEnabled": true },
"Account_Name": { "avatarEnabled": false }
},
"columnDate": {},
"columnChart": {
"Deal_History": {
"sourceModule": "Deals",
"valueField": "Amount",
"labelField": "Closing_Date",
"sortField": "Closing_Date",
"sortOrder": "asc",
"maxPoints": 10,
"filters": [
{
"field": "Contact_Name",
"operator": "equals",
"valueColumn": "Full_Name"
}
]
}
},
"adminFilters": [],
"adminSorts": [{ "field": "Last_Name", "direction": "asc" }],
"roleMap": {},
"knownProfiles": []
}