Meetings

Read meetings together with their summaries and transcripts, plus two webhook

events — so the outcome of a call lands wherever you actually read it: a CRM, a tracker, a digest.

Requires the conferences:read scope.

The life of a meeting

StatusMeaning
proposed, accepted, declined, expiredthe meeting was offered and answered
livethe call is in progress
processingthe call ended; transcription and the summary are running
readydone: summary, decisions and transcript are available
endedthe call ended with nothing recorded — there will never be a transcript
failedpost-processing did not finish

Two events

EventWhen
conference.endedthe call finished. Always fires, recorded or not
conference.transcript_readythe transcript and the summary are ready. Only where there was a recording

If what you want is the outcome of the meeting, subscribe to the second one. The first tells you the call happened, and its content may not exist yet.

The event body is the same object GET /v1/meetings/{id} returns. That is not a promise but a construction: one select and one mapper serve both.

What is inside

curl -H "Authorization: Bearer $TGDESK_API_KEY" \
  https://api.tg-desk.com/v1/meetings/mt_123
  • summary — what was discussed, as Markdown;
  • decisions — what was agreed;
  • transcript — the whole text, and segments with start and end times;
  • participants — who was there, when they joined and left;
  • contact and organization — who the meeting is attached to;
  • conversation_id — the dialog it grew out of, if it did.

Before ready, the summary and the transcript are null. That is not emptiness but «not yet» — and for a meeting that ended without a recording it stays that way for good.

Listing

curl -H "Authorization: Bearer $TGDESK_API_KEY" \
  "https://api.tg-desk.com/v1/meetings?limit=20"

Newest first, with the same cursor pagination as conversations and contacts.

Permissions

A key reads the whole project's meetings, so only someone who themselves sees every meeting can create one. Meetings carry their own visibility setting, separate from conversations, and it is checked separately.

The transcript is the most sensitive thing a call leaves behind, so the scope asks for both the meetings permission and the transcript permission. Someone who holds only the first cannot create such a key.