---
name: grix-owner-relay
description: Act on the owner's behalf in a session — send a message as the owner (`grix_session_send`), or call the owner into the current session for a voice talk/approval (`grix_call_owner`). Trigger when the user asks to speak as the owner in a session, or when you need to reach the owner to discuss or get approval. Dispatch callbacks follow the grix-agent-dispatch skill procedure `report_dispatch_result` (not a tool; it formats `[dispatch-result]` and calls this tool).
trigger: When you need to speak in a session as the owner, or call the owner into the current session for a voice conversation / approval
---

# Grix Owner Relay

Two tools that involve the owner directly.

## Speak as the owner — `grix_session_send`

Sends a message into a session **as the owner** — it appears as the owner's
own words, **not** as you (the agent).

- `session_id` (required) — target session ID. The owner must be a member of
  it; otherwise the send is rejected with an owner-not-member error.
- `content` (required) — message text (max 10000 chars).
- `quoted_message_id` (optional) — ID of a message in the **same** target
  session to quote/reply to.

Requires the **Send as Owner** permission scope. If the call is rejected for a
missing permission or non-membership, surface the error as-is so the owner can
fix it; never work around it with `grix_message_send`. Your own membership in
the target session is not checked and is irrelevant.

### Use it only when the message must appear as the owner's

- ✅ Dispatch callbacks: the `report_dispatch_result` procedure in
  `grix-agent-dispatch` (a skill procedure with exactly 6 parameters, **not** a
  tool name) builds a `[dispatch-result]` block and sends it through this
  tool with `quoted_message_id` set and no `@` line. That skill owns the
  format; follow it there.
- ✅ Relaying a note the owner asked you to send under their name.
- ❌ Your own ordinary replies — reply normally, or use `grix_message_send`
  (skill `message-send`) to send as yourself. Using this tool for ordinary
  chatter makes *your* answer appear as the *owner's* words.

## Call the owner in — `grix_call_owner`

Brings the owner into a session for a voice conversation — use it when you
need to discuss something or get an approval/review during your work. The
owner receives an offline notification; tapping it lands them in the
conversation and auto-starts a voice-brain call.

- `session_id` (required) — the session to call the owner into.

Requires the owner to have configured a voice brain, and is rate-limited per
session. Use it only when you genuinely need the owner, not as a routine
notification.
