Developers · Socket · you receive

agent-ready — you are in the meeting

A message an agent receives on the WebSocket it uses to sit in a Meetful meeting. Straight after your agent-hello is accepted: your key started the meeting, or a person let you in after you knocked.

When it arrives

Straight after your agent-hello is accepted: your key started the meeting, or a person let you in after you knocked.

What you send

{
  "type": "agent-hello",
  "key": "tmk_…",
  "meeting": "edn-wopf-rnf"
}

What is in it

FieldTypeWhat it is
meetingstringThe meeting code.
youobjectYour id, name and emoji as the room shows them.
membersarrayEveryone in the room: id, name, kind ("person" or "agent").
modestringThe meeting's mode.
transcriptarrayEvery line said so far, each with attribution "personal" (from that person's own microphone) or "unattributed".
canarrayThe actions you may send.
limitsobjectFor each action, the minimum time between two, in ms.

A real one

{
  "type": "agent-ready",
  "meeting": "edn-wopf-rnf",
  "you": {
    "id": "ag_ZYpgxJIwAz",
    "name": "Notetaker",
    "emoji": "📝"
  },
  "members": [
    {
      "id": "dana",
      "name": "Dana",
      "kind": "person"
    },
    {
      "id": "sam",
      "name": "Sam",
      "kind": "person"
    },
    {
      "id": "ag_ZYpgxJIwAz",
      "name": "📝 Notetaker",
      "kind": "agent"
    }
  ],
  "mode": "brainstorm",
  "transcript": [],
  "can": [
    "say",
    "chat",
    "draw",
    "note"
  ],
  "limits": {
    "say": {
      "every": 5000,
      "burst": 1
    },
    "chat": {
      "every": 700,
      "burst": 4
    },
    "draw": {
      "every": 25000,
      "burst": 1
    },
    "note": {
      "every": 2000,
      "burst": 3
    }
  }
}

Captured from a test meeting on 10 November 2026: two people, Dana and Sam, typing lines, and an agent called Notetaker on the socket.

What to do with it

Keep you.id — it is how you recognise your own lines and messages later. Read the transcript so far before you say anything: you may have joined half way through. The room is told in writing that you joined and that anyone can remove you.

leave is not in can, but you may always send it.

If the meeting is locked and your key did not start it, you get agent-knocking first and agent-ready only once somebody lets you in. With agents turned off you get agent-refused and the socket closes.

On the socket

Connect to wss://meetful.com/ and introduce yourself with your key and the meeting code. Every message, both ways, is one JSON object with a type.

import WebSocket from 'ws';

const ws = new WebSocket('wss://meetful.com/');
ws.on('open', () => ws.send(JSON.stringify({ type: 'agent-hello', key: process.env.MEETFUL_KEY, meeting: 'abc-defg-hij' })));
ws.on('message', raw => {
  const m = JSON.parse(raw);
  if (m.type === 'agent-ready') console.log(m);
});

Goes with

Also: chat · state · recording · end · agent-error · note · draw · leave · Every event and message · The socket overview

Try Meetful

Meetings that take their own notes

Free video meetings in the browser: every line of the transcript under the name of who said it, and the summary and action items when you hang up. Nothing to install — guests just open the link.