kind'content' | 'task' | 'scheduler' | 'text' | 'form' | 'meetings' | 'team' | 'invitee' | 'embed' | 'upload' | 'html' | 'contact' | 'offer' | 'whiteboard' required
descriptionstring required
visibility'hidden' | 'locked' | 'visible' required
status'todo' | 'wip' | 'done' | 'cancelled'
allowDownloadboolean required
taskType'task' | 'meeting' | 'approval' | 'documentRequest'
dueDatestring date-time nullable
htmlstring nullable
html-block artifact document. Stored verbatim (no sanitizer preserves a
working app); the opaque-origin sandboxed iframe is the security
boundary. Never render this field outside that frame.
salesDocumentIdstring nullable
OFFER blocks: the shared invoicing SalesDocument (plain id — the
invoicing module stays decoupled, mirroring SalesDocument.dealId).
createdAtstring date-time required
updatedAtstring date-time required
deletedAtstring date-time nullable
documentIdstring nullable
internalOwnerIdstring nullable
ownerContactIdstring nullable
stakeholderIdsstring[] required
meetingTypeIdstring nullable
signatureRequestIdstring nullable