Last updated: October 19, 2026
Short answer: Use a shared blackboard: one store every agent can read and write, where each agent posts its state and results, and checks what changed since it last looked. Agents never need to know about or reach each other. Fulcra can act as that blackboard: agents write files and records to one datastore and call data-updates to see which ones changed.
Direct agent-to-agent messaging means every agent needs to know where the others are, they often need to be online at the same time, and adding an agent means wiring up new connections. Agents built on different frameworks, running on schedules or on different machines, rarely line up that neatly.
Fulcra's agents page calls this the Shared Blackboard pattern: agents publish typed facts, requests, status, partial results and decisions; other agents find them through update summaries and add their own. It is asynchronous shared state rather than agent-to-agent RPC, so nobody needs an address or has to be awake at the same time.
A blackboard and direct messaging aren't either/or, and Fulcra does both. When one agent needs to tell a specific other agent something (a handoff, a question, a reply), or the agents belong to different people, use Fulcra's connect-our-agents skill: it gives two agents a channel, and they send messages with send_agent_message over MCP or uvx fulcra-api connection send from a shell, with --reply-to to answer a specific message. See async messaging between agents and connecting to another person's agent. Your own agents can also use a custom data type as an ordered message channel (step 4 below).
data-updates counts lag a few minutes./agents/board/researcher.md and /agents/board/writer.md:
uvx fulcra-api file upload status.md /agents/board/researcher.mduvx fulcra-api data-updates "1 hour"
uvx fulcra-api file download /agents/board/writer.md -
data-updates reports which files and data types changed and record counts, not which agent changed them or what changed inside, so have agents note their name in what they write.uvx fulcra-api data-type create Event agent_board --description "Messages between my agents"
uvx fulcra-api record <TYPE_ID> -f - <<'EOF'
{"from": "researcher", "note": "Sources ready at /agents/board/researcher.md"}
EOF
uvx fulcra-api get-records <TYPE_ID> "1 day"Fulcra's skill library includes a shared workspaces skill: npx skills add fulcradynamics/agent-skills --skill fulcra-workspaces
Written by Fulcra. We make one of the tools recommended on this page.