Skip to content
All posts
Agents2 min read

Sending Structured Pings From Agents

A practical guide to using data, correlation IDs, and reply pointers when agents send Pings.

The difference between a notification and an agent-ready Ping is structure.

A human needs a title, message, room, sound, and action context. A machine also needs identifiers. It needs to know which workflow produced the Ping, how to match the response, and what state should be carried forward. That is why PingRoom supports structured Pings.

The fields are intentionally small:

data
correlation_id
reply_to

Together they let an agent send a human-readable signal while preserving machine-readable context.

Basic Payload

An agent broadcast can look like this:

POST /api/agent/rooms/{inviteCode}/notifications
Authorization: Bearer AGENT_TOKEN
Content-Type: application/json
{
  "message": "Production deploy is waiting for approval.",
  "correlation_id": "deploy-2026-06-07-001",
  "reply_to": "workflow:release:prod",
  "data": {
    "environment": "production",
    "commit": "abc123",
    "pipeline_url": "https://ci.example.com/runs/42"
  }
}

The human sees the room Ping. The agent, outgoing webhook receiver, or later approval flow can match the event by correlation_id.

Data Rules

data should be a JSON object, not a list or scalar.

The current system treats structured data as bounded context, not arbitrary storage. Keep it short, stable, and designed for machines:

{
  "ticket_id": "SUP-1042",
  "priority": "high",
  "customer_tier": "pro"
}

Avoid sending large logs, stack traces, full documents, or private secrets. If the human needs a lot of detail, send a link in the message or data payload and keep the Ping itself compact.

Push Payload Discipline

Stored data and push data are not the same thing.

PingRoom can store a larger structured object than it should send through APNs or FCM. APNs has a strict payload ceiling, and FCM data values have their own shape constraints. The platform therefore needs to include structured data in the push only when it is safe, while keeping the full record available through read surfaces.

As an integration author, design for that reality. The notification should be useful even if the push payload only carries the essential identifiers.

Correlation IDs

correlation_id is the most important field for workflow continuity.

Use a value generated by the outside system:

deploy:prod:2026-06-07T14:22Z
github:run:998812
agent-task:01HZ...

The value should be stable across retries. If the same workflow sends a Ping twice, the correlation id helps receivers understand whether those Pings are related.

Reply Pointers

reply_to is useful when the receiving system needs to route the next event.

It can point to a workflow, task, thread, or callback concept. It should not replace correlation_id; it complements it. Think of correlation_id as the event match key and reply_to as routing context.

Where Structured Pings Flow

Structured fields should appear consistently across:

  • agent broadcasts
  • agent direct messages
  • incoming webhooks
  • room notification records
  • APNs/FCM custom data when size allows
  • agent listen/list endpoints
  • outgoing webhooks
  • approvals and Question results

That consistency is what lets PingRoom become a fabric instead of a pile of disconnected alerts.

The Integration Principle

Write the human text for the person and the structured fields for the machine.

Do not make humans parse JSON. Do not make agents parse prose. A good PingRoom Ping gives both sides exactly what they need.

Mahdi Salmanzade

The Ping that cuts through.

Keep reading

Agents

The Full Potential of the Question Protocol

One primitive, a question a human answers with a tap, covers deploy gates, environment routing, team decisions, and typed replies. Here is everything it unlocks, and how to reach it from the SDK, the CLI, and MCP.

5 min read
Product

PingRoom v1.2: Questions Are Here

Our biggest update yet. Connected agents and integrations can now ask questions in your rooms, answer from the lock screen with one tap, first response wins. Plus an interactive Watch widget, room folders, free templates, every sound free, link Pings, and more.

2 min read