Skip to content
Proud to collaborate with Microsoft for Startups

chat.conversation.send-message.persist-user-message ​

Insert a user-role ChatMessage and update conversation counters

Append the user-role ChatMessage and bump the conversation counters.

Overview ​

PropertyValue
Workflow typeAtomic
LibraryApp-chat
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
conversation_uuiduuidYes——
user_uuiduuidNo—Public user uuid from the validate step; absent on an end-user run
user_messagestringYes—Raw user message content
provided_inputsjsonNo—Optional resolved form payload for a prior pending_input
workflow_run_uuiduuidNo——
workflow_run_idstringNo——

Output Schema ​

FieldTypeRequiredDefaultDescription
conversation_uuiduuidNo——
user_uuiduuidNo——
organization_uuiduuidNo——
user_messagestringNo——
provided_inputsjsonNo——
confirmed_actionjsonNo——
llm_connection_uuiduuidNo——
streambooleanNo——
deep_reasoningbooleanNo——
proactivebooleanNo——
workflow_run_uuiduuidNo——
workflow_run_idstringNo——
last_message_previewstringNo——
dgi_workflow_uuiduuidNo——
user_message_uuiduuidNo——
assistant_message_uuiduuidNo——
failure_reasonstringNo—Engine-stamped human-readable failure reason
failed_at_statestringNo—Engine-stamped state when the workflow failed
failed_stepstringNo—Engine-stamped step name (DAG path)
failed_layerintegerNo—Engine-stamped layer index (DAG path)
errorstringNo—Engine-stamped exception message
error_typestringNo—Engine-stamped exception class name

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—execute—
completedNoYesYes——
failedNoYesNo——

State Diagram ​

Transitions ​

FromActionToDescription
pendingexecutecompleted—
* (any state)failfailed—

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "chat.conversation.send-message.persist-user-message",
  "initial_data": {
    "conversation_uuid": "value",
    "user_message": "value"
  }
}