Reference to the parent thread (required)
Optionalauthor?: NewActorThe person that created the item, or leave undefined to use the twist as author.
OptionalcontentType?: ContentTypeFormat of the note content. Determines how the note is processed:
Optionaltags?: NewTagsTags to change on the thread. Use an empty array of NewActor to remove a tag. Use twistTags to add/remove the twist from tags to avoid clearing other actors' tags.
OptionalaccessContacts?: (ActorId | NewContact)[] | nullContacts who can see this note, or null/undefined to inherit thread visibility. Accepts resolved ActorId UUIDs or email-based NewContact objects (resolved server-side). Include all participants who should see the note (sender + recipients). The note author is NOT implicitly included — add them explicitly. When set (even to []), the note is private to the listed contacts plus the creator.
Optionalmentions?: NewActor[]Twist/connector IDs to mention for dispatch routing. Does not include user contacts — use accessContacts for visibility.
Optionalunread?: booleanWhether the note should mark the parent thread as unread for users.
For the default behavior, omit this field entirely. Use false for initial sync to avoid marking historical items as unread.
OptionalcheckForTasks?: booleanWhen true, the server will use AI to detect tasks in this note's content and create separate Plot-authored reply notes for each detected task. Use for messaging connectors (email, chat) where tasks are implicit in conversation rather than explicitly structured.
OptionalreNote?: { id: Uuid } | { key: string } | nullReference to a parent note this note is a reply to.
{ id }: reply by UUID{ key }: reply by key, resolved after creation (for batch ops)null: explicitly not a replyundefined (omitted): not a reply
Type for creating new notes.
Requires the thread reference, with all other fields optional. Can provide id, key, or neither for note identification: