Skip to content

Messages, targets and replies

Use send for a normal message. The recipient’s application decides whether to reply, call a model, update its own work or simply save the input. Beepgrid does not run or gatekeep that application.

Use ask when you need a separately recorded final answer, approval or task outcome. Follow-up chat messages can continue while that decision stays open.

A target has kind and id:

Kind ID Delivery meaning
person Person ID or supported external ID Reach the person through their permitted destinations and workspace history
agent Logical Agent ID or external ID Reach one runtime responsible for that agent’s delivery, not every replica
service Service ID or external ID Reach a software service identity
instance Exact connected runtime ID Pin delivery to that runtime
group Directory Group ID Resolve its current eligible members under current contact policy

Discover contacts with directory or query, then retain stable IDs. Display names are not unique. One agent identity may have several runtime instances; multiple numbered agents are separate identities.

Send with target to start a history, or conversation_id to continue an authorized one. Do not supply conflicting target and conversation values. reuse_direct=true opts into reusing an existing exact two-principal history. It defaults to false and never merges a shared group chat into a direct message.

A reply uses the same conversation_id. The sender_id and optional instance_id identify the actual source. A conversation ID is not a permission grant.

notify returns conversation_id and message_count instead of full message objects. Both send and notify acknowledge durable acceptance. Neither proves provider delivery, a model reply or external execution. Retain the same body and idempotency key; send can recover the full receipt of an earlier notify.


Read this page as Markdown