Skip to content

Board

client.boards is the core data store for CRM pipelines — leads, deals, tasks, or any structured data. Each board has custom fields and items. Boards can also be linked to the Knowledge Hub for AI-powered search.

For a guided walkthrough, see DataBoards in the SDK guide.


Schema

Board

FieldTypeDescription
object_namestring?Object type identifier
idstringUnique board ID
organization_idstringOrganization this board belongs to
namestringBoard display name
descriptionstring?Optional description
workflow_idstring?Linked workflow ID
hiddenboolean?Whether the board is hidden
team_idsstring[]?Teams with access
created_atstringISO 8601 creation timestamp
updated_atstringISO 8601 last-updated timestamp

BoardField

FieldTypeDescription
_idstringUnique field ID
namestringField display name
typestringField type (text, number, date, select, etc.)
optionsobject[]?Type-specific configuration
requiredboolean?Whether the field is mandatory

CreateBoardInput

FieldTypeRequiredDescription
namestringBoard name
descriptionstringOptional description
typestringBoard type
fieldsobject[]Initial field definitions
team_idsstring[]Team IDs with access
show_idbooleanShow ID column

Methods

Board CRUD

MethodTypeScriptPythonDescription
List boardslistlistList all boards
Get boardgetgetGet a board by ID
Create boardcreatecreateCreate a new board
Update boardupdateupdateUpdate board name/description
Delete boarddeletedeleteDelete a board
Reorder boardsreorderreorderChange the display order

Import / Export

MethodTypeScriptPythonDescription
Export CSVexportCsvexport_csvExport all items as CSV
Import CSVimportCsvimport_csvImport items from a CSV file
Import ExcelimportExcelimport_excelImport items from an Excel file
Get import progressgetImportProgressget_import_progressPoll the status of a running import

Fields

MethodTypeScriptPythonDescription
Create fieldcreateFieldcreate_fieldAdd a column to a board
Update fieldupdateFieldupdate_fieldModify field config
Delete fielddeleteFielddelete_fieldRemove a field
Reorder fieldsreorderFieldsreorder_fieldsChange column order
Bulk update fieldsbulkUpdateFieldsbulk_update_fieldsUpdate multiple fields at once

Items

MethodTypeScriptPythonDescription
List itemslistItemslist_itemsPaginated list of board items
Get itemgetItemget_itemGet a single item
Create itemcreateItemcreate_itemAdd an item to a board
Update itemupdateItemupdate_itemUpdate item field values
Delete itemdeleteItemdelete_itemRemove an item
Bulk deletebulkDeleteItemsbulk_delete_itemsDelete multiple items by ID
SearchsearchsearchFull-text search within a board
Link itemslinkItemslink_itemsLink an item to a related board item
Unlink itemsunlinkItemsunlink_itemsRemove a link between items

Segments

MethodTypeScriptPythonDescription
List segmentslistSegmentslist_segmentsList saved filter views
Create segmentcreateSegmentcreate_segmentSave a filter as a segment
Update segmentupdateSegmentupdate_segmentUpdate a segment’s filter
Delete segmentdeleteSegmentdelete_segmentRemove a segment

list / list

const { data: boards } = await client.boards.list({ limit: 20 });
for (const board of boards) {
console.log(board.id, board.name);
}

create / create

const board = await client.boards.create({
name: "Enterprise Leads",
description: "Leads from the enterprise segment",
fields: [
{ name: "Company", type: "text" },
{ name: "Deal Size", type: "number" },
{ name: "Stage", type: "select", options: { choices: ["Prospect", "Qualified", "Closed"] } },
],
});

createItem / create_item

Pass a fields array where each entry has a board_field_id (the _id of a BoardField) and the corresponding value.

const item = await client.boards.createItem("board_id", {
fields: [
{ board_field_id: "field_id_company", value: "Acme Corp" },
{ board_field_id: "field_id_deal_size", value: 50000 },
{ board_field_id: "field_id_stage", value: "Qualified" },
],
});

listItems / list_items

const page = await client.boards.listItems("board_id", { limit: 50, skip: 0 });
console.log(`${page.data.length} of ${page.total} items`);

Full-text search within a board’s items.

const results = await client.boards.search("board_id", {
q: "Acme",
limit: 20,
offset: 0,
});

importCsv / import_csv

const formData = new FormData();
formData.append("file", csvBlob, "leads.csv");
const result = await client.boards.importCsv("board_id", formData);
console.log(`Imported: ${result.imported}, Errors: ${result.errors}`);

createField / create_field

const field = await client.boards.createField("board_id", {
name: "Priority",
type: "select",
options: { choices: ["Low", "Medium", "High"] },
});