Project Fields
4 actions. Each is callable by the agent as a tool, over HTTP via /api/invoke, and (usually) from a UI page.
project_fields.list
GET
List a project's user-defined database fields (columns).
- AI tool:
project_fields_list - API:
GET /api/invoke/project_fields.list
Input
| Field | Type | Required | Description |
|---|---|---|---|
projectId |
string | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"projectId": {
"type": "string",
"minLength": 1
}
},
"required": [
"projectId"
]
}project_fields.create
POST · mutating
Add a user-defined field (column) to a project's task database. type: text | number | select | multi_select | date | checkbox | url | person | relation. For (multi_)select, options is [{id,label,color}]. For relation, set config.relation = { target: 'campaign'|'document'|'mission'|'subject'|'project', multiple?: boolean } — the cell value is then an array of the linked entity ids.
When the agent calls it: Use to add a column to a project database before building a view that references it. For status-like or category columns use type "select" with options [{id,label,color}]. Field values are then set per-ticket via tickets.set_fields (customFields keyed by this field id).
- AI tool:
project_fields_create - API:
POST /api/invoke/project_fields.create
Input
| Field | Type | Required | Description |
|---|---|---|---|
projectId |
string | yes | |
name |
string | yes | |
type |
string | — | |
options |
object[] | — | |
config |
object | — | |
position |
integer | — |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"projectId": {
"type": "string",
"minLength": 1
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"options": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"config": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"position": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"projectId",
"name"
]
}project_fields.update
PATCH · mutating
Rename / retype / reorder a project field, edit its select options, or change its relation target (patch.config).
- AI tool:
project_fields_update - API:
PATCH /api/invoke/project_fields.update
Input
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes | |
patch |
object | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"patch": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"options": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"config": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"position": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
}
}
},
"required": [
"id",
"patch"
]
}project_fields.delete
DELETE · mutating
Delete a project field (column).
- AI tool:
project_fields_delete - API:
DELETE /api/invoke/project_fields.delete
Input
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
}
},
"required": [
"id"
]
}