Skip to content
Proud to collaborate with Microsoft for Startups

chat.conversation.send-message.validate ​

Verify the user is a member of the org that owns the conversation

Authorize the (user, conversation) pair before any DB writes happen.

Overview ​

PropertyValue
Workflow typeAtomic
LibraryApp-chat
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
conversation_uuiduuidYes—Public UUID of the ChatConversation
user_uuiduuidNo—The MEMBER posting the message. Required for a member run; refused on an end-user run, where the sender is the server-resolved principal
workflow_run_uuiduuidNo—Engine-stamped parent run UUID (DAG step target)
workflow_run_idstringNo—Engine-stamped parent run internal id (DAG step target)

Output Schema ​

FieldTypeRequiredDefaultDescription
conversation_uuiduuidYes——
user_uuiduuidNo——
organization_uuiduuidYes—Owning organization uuid (DAG-internal handoff)
workflow_run_uuiduuidNo—DAG parent run UUID, carried through from input
workflow_run_idstringNo—DAG parent run internal id, carried through from input
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.validate",
  "initial_data": {
    "conversation_uuid": "value"
  }
}