Skip to content

Create Message

client.messages.create(MessageCreateParams { content, task_id, created_at, streaming_status } body, RequestOptionsoptions?): TaskMessage { content, task_id, id, 3 more }
POST/messages

Create Message

ParametersExpand Collapse
body: MessageCreateParams { content, task_id, created_at, streaming_status }
One of the following:
TextContent { author, content, attachments, 3 more }

The role of the messages author, in this case system, user, assistant, or tool.

One of the following:
"user"
"agent"
content: string

The contents of the text message.

attachments?: Array<Attachment> | null

Optional list of file attachments with structured metadata.

file_id: string

The unique ID of the attached file

name: string

The name of the file

size: number

The size of the file in bytes

type: string

The MIME type or content type of the file

format?: TextFormat

The format of the message. This is used by the client to determine how to display the message.

One of the following:
"markdown"
"plain"
"code"
style?: MessageStyle

The style of the message. This is used by the client to determine how to display the message.

One of the following:
"static"
"active"
type?: "text"

The type of the message, in this case text.

ReasoningContent { author, summary, content, 2 more }

The role of the messages author, in this case system, user, assistant, or tool.

One of the following:
"user"
"agent"
summary: Array<string>

A list of short reasoning summaries

content?: Array<string> | null

The reasoning content or chain-of-thought text

style?: MessageStyle

The style of the message. This is used by the client to determine how to display the message.

One of the following:
"static"
"active"
type?: "reasoning"

The type of the message, in this case reasoning.

DataContent { author, data, style, type }

The role of the messages author, in this case system, user, assistant, or tool.

One of the following:
"user"
"agent"
data: Record<string, unknown>

The contents of the data message.

style?: MessageStyle

The style of the message. This is used by the client to determine how to display the message.

One of the following:
"static"
"active"
type?: "data"

The type of the message, in this case data.

ToolRequestContent { arguments, author, name, 3 more }
arguments: Record<string, unknown>

The arguments to the tool.

The role of the messages author, in this case system, user, assistant, or tool.

One of the following:
"user"
"agent"
name: string

The name of the tool that is being requested.

tool_call_id: string

The ID of the tool call that is being requested.

style?: MessageStyle

The style of the message. This is used by the client to determine how to display the message.

One of the following:
"static"
"active"
type?: "tool_request"

The type of the message, in this case tool_request.

ToolResponseContent { author, content, name, 4 more }

The role of the messages author, in this case system, user, assistant, or tool.

One of the following:
"user"
"agent"
content: unknown

The result of the tool.

name: string

The name of the tool that is being responded to.

tool_call_id: string

The ID of the tool call that is being responded to.

is_error?: boolean | null

Whether the tool call resulted in an error. None when the harness does not report a status.

style?: MessageStyle

The style of the message. This is used by the client to determine how to display the message.

One of the following:
"static"
"active"
type?: "tool_response"

The type of the message, in this case tool_response.

task_id: string
created_at?: string | null

Optional timestamp for the message. Workflow callers should pass workflow.now() (Temporal’s deterministic monotonic clock) so that two awaited messages.create calls from the same workflow are guaranteed to have monotonic timestamps regardless of HTTP scheduling at the server. If omitted, the server’s wall clock at insert time is used.

formatdate-time
streaming_status?: "IN_PROGRESS" | "DONE" | null
One of the following:
"IN_PROGRESS"
"DONE"
ReturnsExpand Collapse
TaskMessage { content, task_id, id, 3 more }

Represents a message in the agent system.

This entity is used to store messages in MongoDB, with each message associated with a specific task.

The content of the message. This content is not OpenAI compatible. These are messages that are meant to be displayed to the user.

One of the following:
TextContent { author, content, attachments, 3 more }

The role of the messages author, in this case system, user, assistant, or tool.

One of the following:
"user"
"agent"
content: string

The contents of the text message.

attachments?: Array<Attachment> | null

Optional list of file attachments with structured metadata.

file_id: string

The unique ID of the attached file

name: string

The name of the file

size: number

The size of the file in bytes

type: string

The MIME type or content type of the file

format?: TextFormat

The format of the message. This is used by the client to determine how to display the message.

One of the following:
"markdown"
"plain"
"code"
style?: MessageStyle

The style of the message. This is used by the client to determine how to display the message.

One of the following:
"static"
"active"
type?: "text"

The type of the message, in this case text.

ReasoningContent { author, summary, content, 2 more }

The role of the messages author, in this case system, user, assistant, or tool.

One of the following:
"user"
"agent"
summary: Array<string>

A list of short reasoning summaries

content?: Array<string> | null

The reasoning content or chain-of-thought text

style?: MessageStyle

The style of the message. This is used by the client to determine how to display the message.

One of the following:
"static"
"active"
type?: "reasoning"

The type of the message, in this case reasoning.

DataContent { author, data, style, type }

The role of the messages author, in this case system, user, assistant, or tool.

One of the following:
"user"
"agent"
data: Record<string, unknown>

The contents of the data message.

style?: MessageStyle

The style of the message. This is used by the client to determine how to display the message.

One of the following:
"static"
"active"
type?: "data"

The type of the message, in this case data.

ToolRequestContent { arguments, author, name, 3 more }
arguments: Record<string, unknown>

The arguments to the tool.

The role of the messages author, in this case system, user, assistant, or tool.

One of the following:
"user"
"agent"
name: string

The name of the tool that is being requested.

tool_call_id: string

The ID of the tool call that is being requested.

style?: MessageStyle

The style of the message. This is used by the client to determine how to display the message.

One of the following:
"static"
"active"
type?: "tool_request"

The type of the message, in this case tool_request.

ToolResponseContent { author, content, name, 4 more }

The role of the messages author, in this case system, user, assistant, or tool.

One of the following:
"user"
"agent"
content: unknown

The result of the tool.

name: string

The name of the tool that is being responded to.

tool_call_id: string

The ID of the tool call that is being responded to.

is_error?: boolean | null

Whether the tool call resulted in an error. None when the harness does not report a status.

style?: MessageStyle

The style of the message. This is used by the client to determine how to display the message.

One of the following:
"static"
"active"
type?: "tool_response"

The type of the message, in this case tool_response.

task_id: string

ID of the task this message belongs to

id?: string | null

The task message’s unique id

created_at?: string | null

The timestamp when the message was created

formatdate-time
streaming_status?: "IN_PROGRESS" | "DONE" | null
One of the following:
"IN_PROGRESS"
"DONE"
updated_at?: string | null

The timestamp when the message was last updated

formatdate-time

Create Message

import Agentex from 'agentex';

const client = new Agentex({
  apiKey: process.env['AGENTEX_SDK_API_KEY'], // This is the default and can be omitted
});

const taskMessage = await client.messages.create({
  content: {
    author: 'user',
    content: 'content',
    type: 'text',
  },
  task_id: 'task_id',
});

console.log(taskMessage.task_id);
{
  "content": {
    "author": "user",
    "content": "content",
    "attachments": [
      {
        "file_id": "file_id",
        "name": "name",
        "size": 0,
        "type": "type"
      }
    ],
    "format": "markdown",
    "style": "static",
    "type": "text"
  },
  "task_id": "task_id",
  "id": "id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "streaming_status": "IN_PROGRESS",
  "updated_at": "2019-12-27T18:11:19.117Z"
}
Returns Examples
{
  "content": {
    "author": "user",
    "content": "content",
    "attachments": [
      {
        "file_id": "file_id",
        "name": "name",
        "size": 0,
        "type": "type"
      }
    ],
    "format": "markdown",
    "style": "static",
    "type": "text"
  },
  "task_id": "task_id",
  "id": "id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "streaming_status": "IN_PROGRESS",
  "updated_at": "2019-12-27T18:11:19.117Z"
}