> ## Documentation Index
> Fetch the complete documentation index at: https://docs.b3os.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Send DeepAgent Message

Send a message or task to a deep agent — an autonomous agent that runs in a container and works the task to completion. Starts a run with your message and returns the run id (fire-and-forget; it does not wait for the agent to finish). Ideal for: escalating a workflow event to an agent for research or follow-up, kicking off a long investigation from a trigger.

Catalog action Integrations

Send a message or task to a deep agent — an autonomous agent that runs in a container and works the task to completion. Starts a run with your message and returns the run id (fire-and-forget; it does not wait for the agent to finish). Ideal for: escalating a workflow event to an agent for research or follow-up, kicking off a long investigation from a trigger.


## At a Glance

| Field | Value |
| --- | --- |
| Action ID | `send-deepagent-message` |
| Category | Integrations |
| Connector | Not required |
| Requires gas | No |
| Funds movement | None declared |
| Tags | `deepagent`, `caddie`, `agent`, `workflow`, `automation`, `write` |

## Payload Schema

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `message` | `string` | Yes | The message / task to send to the DeepAgent \(e.g. 'Build a workflow that logs the BTC price daily'\). Supports workflow templates like &#123;&#123;node.result.field&#125;&#125;. |
| `conversationId` | `string` | No | Optional. Thread the message into an existing DeepAgent conversation. Leave blank to start a fresh, independent conversation. |
| `agentType` | `string` | No | Optional. Which deep agent handles the message. Leave blank for the server default \(a general-purpose agent that can search the web, read on-chain data, and write a report\). Name a specific agent only if you know it is enabled for this environment — a disabled or unknown agent is refused rather than silently substituted. |

## Result Schema

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `status` | `string` | Yes | - |
| `runId` | `string` | No | The DeepAgent run id that was started. |
| `conversationId` | `string` | No | The conversation the run was threaded into \(generated if none was supplied\). |
| `error` | `string` | No | Error message if failed. |

## Examples

**Workflow node**

```json
{
  "type": "send-deepagent-message",
  "payload": {
    "message": "Workflow completed"
  },
  "children": []
}
```
  **Test with API**

```bash
curl -X POST "https://api.b3os.org/v1/actions/send-deepagent-message/test" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "inputs": {
    "message": "Workflow completed"
  }
}'
```

**Use expressions for dynamic values**

Payload fields can use workflow expressions such as `{{$trigger.body.amount}}`, `{{$nodes.fetch.result.price}}`, and `{{$props.asset}}` when the value should come from a trigger, prior node, or reusable workflow prop.