AiChatMutations
No description
type AiChatMutations {
createChat(
processId: Long
subjectKind: String
subjectId: Long
name: String!
settings: String
origin: String
): WorkflowChat
sendChatMessage(
chatId: Long!
content: String!
workflowData: WorkflowDataGqlInput
agentDraft: String
homeContext: String
integrationId: Long!
model: String!
files: [String!]!
): Boolean
cancelChatTurn(
chatId: Long!
): Boolean
respondToToolCall(
chatId: Long!
toolCallId: String!
approved: Boolean!
note: String
inputClaim: String
): Boolean
updateChatSettings(
chatId: Long!
settings: String!
): WorkflowChat
renameChat(
chatId: Long!
name: String!
): WorkflowChat
deleteChat(
chatId: Long!
): Boolean
}
Fields
AiChatMutations.createChat ● WorkflowChat object
Create an AI copilot chat on a process
AiChatMutations.createChat.processId ● Long scalar
AiChatMutations.createChat.subjectKind ● String scalar
Chat subject kind: workflow | agent | home
AiChatMutations.createChat.subjectId ● Long scalar
AiChatMutations.createChat.name ● String! non-null scalar
AiChatMutations.createChat.settings ● String scalar
ChatSettings json (mode, maxToolCalls, integrationId, model)
AiChatMutations.createChat.origin ● String scalar
Which surface opened this chat: direct | fix_with_barry | home. Metrics only - gates nothing.
AiChatMutations.sendChatMessage ● Boolean scalar
Send a user message and start the copilot's turn (streams via watchChat)
AiChatMutations.sendChatMessage.chatId ● Long! non-null scalar
AiChatMutations.sendChatMessage.content ● String! non-null scalar
AiChatMutations.sendChatMessage.workflowData ● WorkflowDataGqlInput input
Workflow chats: the current canvas graph — becomes the chat's working graph
AiChatMutations.sendChatMessage.agentDraft ● String scalar
Agent chats: the builder form's AgentDraftSnapshot JSON — becomes the chat's working draft
AiChatMutations.sendChatMessage.homeContext ● String scalar
Home chats: the HomeSnapshot JSON (the organization the chat is scoped to)
AiChatMutations.sendChatMessage.integrationId ● Long! non-null scalar
AiChatMutations.sendChatMessage.model ● String! non-null scalar
AiChatMutations.sendChatMessage.files ● [String!]! non-null scalar
Public ids of already-uploaded workflow files to attach to this message (pasted images). Ids only: the server rebuilds each reference from its own row, so a name, type or size claimed by the client is never believed. Capped per message and by total bytes; every attachment is replayed on each subsequent turn of the chat.
AiChatMutations.cancelChatTurn ● Boolean scalar
Stop the in-flight copilot turn
AiChatMutations.cancelChatTurn.chatId ● Long! non-null scalar
AiChatMutations.respondToToolCall ● Boolean scalar
Approve or reject a pending tool call (AskPermission mode)
AiChatMutations.respondToToolCall.chatId ● Long! non-null scalar
AiChatMutations.respondToToolCall.toolCallId ● String! non-null scalar
AiChatMutations.respondToToolCall.approved ● Boolean! non-null scalar
AiChatMutations.respondToToolCall.note ● String scalar
Rejections only: an optional free-text reply the copilot sees verbatim (it may carry the content you actually want, e.g. a corrected form schema). Capped server-side.
AiChatMutations.respondToToolCall.inputClaim ● String scalar
Input-request cards only: an InputClaim JSON saying what the user created (e.g. {"Integration":{"integrationId":42}}). It is a POINTER, never a fact and never tool arguments — the server re-reads what it points at under your own permissions and builds the copilot's result from what it finds, so a forged or cross-organization id yields an 'unavailable' result rather than anything the model believes.
AiChatMutations.updateChatSettings ● WorkflowChat object
Update a chat's settings (mode, tool-call limit, model)
AiChatMutations.updateChatSettings.chatId ● Long! non-null scalar
AiChatMutations.updateChatSettings.settings ● String! non-null scalar
AiChatMutations.renameChat ● WorkflowChat object
Rename a chat
AiChatMutations.renameChat.chatId ● Long! non-null scalar
AiChatMutations.renameChat.name ● String! non-null scalar
AiChatMutations.deleteChat ● Boolean scalar
Delete a chat and its transcript
AiChatMutations.deleteChat.chatId ● Long! non-null scalar
Returned By
aiChat mutation