<!-- description: Bidirectional messaging is the ability for both an AI agent and a human to send and receive messages in a shared conversation, enabling real-time collaboration and feedback during task execution. -->

# Bidirectional Messaging

**Bidirectional messaging** is the ability for both an AI [agent](agent) and a human to exchange messages in a shared conversation channel. Unlike a one-way notification system where the agent simply alerts the human, bidirectional messaging allows the human to reply, ask questions, provide corrections, and guide the agent — and for the agent to incorporate that feedback in real time.

## Why Bidirectionality Matters

Pure autonomous execution has a fundamental problem: the agent can't ask for help. When it hits an ambiguous requirement, encounters an unexpected error, or needs a decision it can't make alone, it either guesses or stops entirely.

Bidirectional messaging solves this by creating a real-time feedback loop:

1. Agent encounters ambiguity or needs approval
2. Agent sends a message to the human via [AgentRQ](/)
3. Human responds with guidance, corrections, or approval
4. Agent incorporates the response and continues working

## Bidirectional Messaging in AgentRQ

AgentRQ implements bidirectional messaging over [MCP](mcp) using two complementary tools:

- **`reply`** — The agent sends a message to the human on a specific task's chat
- **`getTaskMessages`** — The agent retrieves the conversation history, including human replies

This creates a persistent, thread-like conversation attached to each [task](task), visible on the [task board](task-board).

## Comparison with One-Way Notifications

| Feature | One-Way Notification | Bidirectional Messaging |
|---------|---------------------|------------------------|
| Agent → Human | Yes | Yes |
| Human → Agent | No | Yes |
| Real-time feedback | No | Yes |
| Agent can ask questions | No | Yes |
| Supports approvals | No | Yes |

## Related Terms

- [Task](task)
- [Notification](notification)
- [Approval](approval)
- [Channel](channel)
- [MCP Tool](mcp-tool)
