Skip to main content

Documentation Index

Fetch the complete documentation index at: https://api-docs.tiro.ooo/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Webhook events for Note resources. All note events use resourceType: "Note".

Event Details

note.created

  • When starting a live-voice note recording
  • When creating a note from a recording file

note.deleted

  • When a user permanently deletes a note

note.recording.completed

  • When all audio data processing is complete and text conversion and paragraph generation are finished
  • Important: This event can occur multiple times for real-time meeting notes, as recording/stopping may happen several times during a single meeting session
  • When you receive this event, you can retrieve the complete note information at that point in time

note.user_content.updated

  • When a user manually edits the note content

note.ended

  • Triggered when a note is completely finished (after all processing is complete)
  • Fires only once per note lifecycle, unlike note.recording.completed which can fire multiple times
  • This is the definitive event for note completion
  • Use this event when you need to know that a note has reached its final state

note.participants.updated

  • Triggered when meeting participants are added or removed from a note
  • Does not fire when an existing participant’s name or email is updated
  • The resource field contains the full Note object with the updated participants array

Example Payload

Resource Data

Note events include the complete Note resource data. See the Note API for field descriptions. Important: Note resources contain only metadata. For transcript content, use the List Note Paragraphs API to retrieve the actual text data.

Guide

Real-time Meeting Notes

  • recording.completed can fire multiple times for the same note in real-time meetings
  • Always fetch fresh note data when receiving this event
Using note.ended Event:
  • note.ended fires only once when a note is completely finished, enabling clearer lifecycle management
  • Unlike recording.completed, which can fire multiple times during a meeting, note.ended signals the definitive end
  • Both recording.completed and note.ended events are supported and can be used together depending on your needs
Example Scenario:
  1. Meeting starts → recording begins
  2. Recording pauses → transcript & summary processing → note.recording.completed fired (Event #1)
  3. Recording resumes → continues processing
  4. Recording stops → transcript & summary processing → note.recording.completed fired (Event #2)
Example Handling:
async function handleNoteRecordingCompleted(event) {
  const noteId = event.data.resourceId;
  
  // Use note metadata from event data
  const note = event.data.resource;
  
  // Fetch paragraph content
  const paragraphs = await fetchNoteParagraphs(noteId);
  
  // Process the complete note data
  processNoteUpdate(note, paragraphs);
}