pub struct FlowConversationMessage {Show 13 fields
pub id: Uuid,
pub conversation_id: Uuid,
pub message_type: MessageType,
pub content: String,
pub job_id: Option<Option<Uuid>>,
pub created_at: String,
pub created_seq: i64,
pub step_name: Option<String>,
pub success: Option<bool>,
pub tool_arguments: Option<Option<String>>,
pub tool_result: Option<Option<String>>,
pub reasoning: Option<Option<String>>,
pub attachments: Option<Option<Vec<FlowConversationMessageAttachmentsInner>>>,
}Fields§
§id: UuidUnique identifier for the message
conversation_id: UuidThe conversation this message belongs to
message_type: MessageTypeType of the message
content: StringThe message content
job_id: Option<Option<Uuid>>Associated job ID if this message came from a flow run
created_at: StringWhen the message was created
created_seq: i64Monotonic cursor assigned when the message is inserted
step_name: Option<String>The step name that produced that message
success: Option<bool>Whether the message is a success
tool_arguments: Option<Option<String>>On a tool row, the arguments the model wrote for the call. For a script, flow or AI agent tool these exclude the inputs its step wires in, which only the tool’s job holds. Null for a provider-native web search, whose query the provider does not return.
tool_result: Option<Option<String>>On a tool row, the text the model got back from the call, or what the call failed with — the row’s own text names the tool rather than the reason. For a provider-native web search, its citations.
reasoning: Option<Option<String>>On an answer, the thinking that produced it; on a tool row, the thinking that led to the call. Each round’s thinking is on one row. The agent job’s result keeps the turn’s thinking as a single string.
attachments: Option<Option<Vec<FlowConversationMessageAttachmentsInner>>>The files a user message carried, as object-storage references: every flow input other than user_message that held one or a list of them, at most 20. Never file bytes or a presigned URL.