Skip to Content
NodesDelegation & Messaging

Delegation & Messaging

Nodes aren’t isolated. They can talk to each other, delegate tasks, escalate for approval, and hand off artifacts. These interactions are what turn a chart of individual agents into a functioning organization.

Inter-node primitives

Every node has access to a small set of primitive tools for talking to its peers and superiors:

ToolWhat it does
send_message_to_boss(body)Sends a message to the node’s direct parent on the chart.
send_message_to_report(role, body)Sends a message to a direct report (the role must be a child of this node).
send_message_to_peer(role, body)Sends a message to a peer (a node at the same level).
check_inbox()Reads pending messages for this node.
request_approval(approver, title, body)Sends an approval request and waits for a response.
post_decision(title, body)Commits a decision to the workspace’s decisions log.
create_milestone(title)Flags a milestone visible on the chart.
approve_milestone(milestone_id)Approves a pending milestone.

These are the same primitives the agent-mcp-server exposes inside each agent container, so delegation behaves identically whether triggered from chat, Claude Desktop, or an automated skill step.

Typical delegation flows

CMO escalates to CEO for spend approval

The CMO is in the middle of the ad-campaigns skill and hits a decision gate for $15k spend:

  1. CMO request_approval('ceo', 'Approve $15k LinkedIn spend', '...').
  2. Approval request appears on the CEO’s card.
  3. You chat with the CEO (or the CEO auto-approves based on its starting context).
  4. CEO send_message_to_report('cmo', 'approved').
  5. CMO resumes the skill.

CMO asks CTO for a quick review

No approval — just a peer asking for input:

  1. CMO send_message_to_peer('cto', 'can you sanity-check the tracking URLs before I launch?').
  2. CTO picks up the message on its next turn, reviews, replies.
  3. CMO incorporates feedback, proceeds.

Automatic escalation rules

You can codify escalation thresholds in the CMO’s starting context: “If a proposed campaign spend exceeds $10k, request CEO approval before launching. If a decision involves PII, loop in the CISO.” The agent respects these as part of its role identity.

When approvals block vs notify

  • request_approval — blocks the requesting node’s skill until the approver responds.
  • send_message_to_* — fire-and-forget. The recipient sees it on its next turn but the sender doesn’t wait.

Use approvals sparingly — they create serial dependencies. Prefer notification + rollback patterns for anything that doesn’t actually require a human decision in the loop.

Timeline visibility

Every inter-node message, approval, and decision lands on both nodes’ activity timelines. Looking at a workspace as an operator, you can trace a single request through the graph and see exactly which nodes touched it.

Last updated on