AZAll Read Message
Open one message, full headers and body
- config
- message
Inbox tells the agent mail exists; this node actually opens it. AgentAZAll_ReadMessage takes a message ID, finds the matching message file anywhere in the agent's mailbox, and returns the full thing - headers and body - while marking the message as read. It's the read side of the messaging stack, and in an agent workflow it's what turns "there's a message from editor@localhost" into actual text the LLM can react to.
How it works
You supply a message_id. The node searches the agent's mailbox for the file, parses it into headers plus body, and returns From, To, Subject, Message-ID, and so on, followed by the body after a --- separator. As a side effect, it flips the message's Status header from new to read on disk - so your Inbox listing will show it as processed next time. If the ID doesn't resolve, you get Message not found: <id>.
That side effect is worth understanding: reading is stateful. A message you've opened stays opened, and the status is visible in the Inbox view. If you ever want to reset it, it's just a text file - edit the header by hand.
The inputs that matter
config(required) - from AZAll Setup.message_id(required) - the ID shown in the Inbox listing (theID:field), or the filename stem of the message file.
The message output is the full formatted message string. This is the one you wire into the LLM's prompt or a Text Combine - the agent gets the actual content, not just the subject line.
Installing it
Part of cronos3k/comfyui-agentazall. Manager search "AgentAZAll", or:
cd ComfyUI/custom_nodes
git clone https://github.com/cronos3k/comfyui-agentazall.git
pip install "agentazall>=1.0.13"
# restart ComfyUI
Same pack, same install, no extra dependencies beyond agentazall.
Common issues
The ID has to match exactly, and message IDs aren't sequential or human-friendly - copying from the Inbox output is the reliable way. A common workflow mistake is wiring Read Message to a hardcoded ID; it only makes sense when something upstream (an LLM, or a hand-written ID from the Inbox output) supplies it. And because reading marks the message as read, a re-run won't re-present it as new - which is usually what you want, but can surprise you if you were using status as a "did I see this" signal and expected it to reset. Also remember delivery is Relay's job: if the message can't be found, check the sender's outbox hasn't been delivered yet.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| config | AZALL_CONFIG | — | |
| message_id | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| message | STRING | — |