Skip to Content
AgentsOrchestrator & Buddies

Orchestrator & Buddies

The agent runtime ships with five personas. One orchestrator, four specialists. Each has a distinct persona, sprite, tool allowlist, and chat thread. This page covers how they work, how to steer them, and how delegation flows between the orchestrator and its kids.

Orchestrator

The Orchestrator (ORC) is Waypath’s main agent. It holds the full cross-pillar tool union plus delegate_to_buddy, and refers to the specialists as “my kids” or “my little ones.”

  • Renders only in AgentView (the full-screen agent surface); never spawns a bottom-bar sprite or floating chat.
  • Dispatch-gated: only the orchestrator can call delegate_to_buddy. Every other buddy that tries to delegate gets rejected with orchestrator_only.
  • Falls back to direct execution via its full tool union if a target buddy is disabled or refuses delegation.

Specialist buddies

BuddyPersonaTool scope
InsightsCross-platform correlation, top customers, signal scan. Mirrors the pre-buddy general agent.All read + analysis tools
ProspectSignal engine, ICP research, hyper-signal tracking, outreach drafts.Signal + outreach + read tools
CampaignCIO / Mailchimp / HubSpot / Salesforce operator: segments, broadcasts, metrics.Campaign + read tools
PipelineCRM hygiene, stage moves, field fixes on the native Waypath pipeline.mutate + read tools

Every specialist has a recommended integration hint (e.g. Campaign recommends Customer.io) but no hard gate. If at least one matching platform is connected, no warning. Buddies that don’t need an external integration (Prospect’s signal credits are included with your plan; Pipeline uses Waypath’s internal CRM) show no warning regardless.

Delegation

User → Orchestrator ├─ handles it directly (full tool union) └─ delegate_to_buddy({ buddyId, task }) ├─ child buddy runs with its own tools ├─ streams status events back, prefixed "[Prospect] …" └─ returns { status, buddyId, summary }

Delegation is a tool call. The orchestrator’s decision is observable in the trace: you’ll see a tool_use block for delegate_to_buddy followed by the child buddy’s nested stream. If the target buddy is disabled, the tool returns rejected: user_opted_out and the orchestrator falls back to running the task itself.

Settings → Buddies

Open Settings → Buddies to manage the agent roster for the current workspace:

ControlWhat it does
Enable toggleAdds/removes the buddy from the bottom-bar sprite roster. Insights is locked-on (defaultEnabled); the orchestrator is always-on in AgentView.
Model modePer-buddy routing: Metered (Waypath bills) · BYOK Claude · BYOK OpenAI. See BYOK.
Accept delegation from orchestratorIf off, the orchestrator’s delegate_to_buddy call for that target returns rejected: user_opted_out and the orchestrator executes directly. Useful when you want a buddy’s chat thread kept “clean” from orchestrator bleed-through.

All three settings persist per-workspace in localStorage:

  • wp-buddies-{wsId}. Enabled set
  • wp-buddy-models-{wsId}. Per-buddy model mode
  • wp-buddy-delegation-{wsId}. Per-buddy delegation mode

The client sends the full delegation map in every chat request body; the server whitelists known modes before passing them to the agent dispatch.

System-prompt assembly

Each buddy’s system prompt is assembled server-side in this order:

  1. Brand block: workspace business + voice from getBrandContext()
  2. Buddy persona intro: the buddy-specific role (from BUDDY_SPECS in chat-agent-service.ts)
  3. Base system prompt: the 5 pillars, hyper-signal engine, tool-usage rules, dynamic customer/campaign/workspace block
  4. Playbook block: either the workspace’s active playbook inventory or a feature description (when 0 specs). See Playbooks.

Because the brand block comes first, tuning your voice sliders takes effect on the very next turn. No reboot or re-deploy.

Agent persona notes

The agent persona asserts that the agent IS Waypath’s correlation / intelligence engine. When a user references “the correlation engine,” “the intelligence engine,” or “Claude,” the agent answers affirmatively, never “I don’t have that in my toolkit.” The orchestrator persona additionally refers to the specialist buddies as “my kids / the children / my little one.”

Streaming contract

Every buddy streams responses over Server-Sent Events. The event contract is provider-agnostic:

EventMeaning
statusLive reasoning step (“Reading customer graph…”, “Running signal scan…”)
textToken-level text delta
actionTool-call summary (with nested [Prospect] … prefix for delegated calls)
errorTurn failed; done still follows
doneTurn complete

OpenAI BYOK buddies yield the same event shape as the default Anthropic path, so the client contract stays the same regardless of provider.


SYNC · OK© 2026 WAYPATHBUILD · D-03SOC2 · IN PROGRESSWAYPATH.APP