# notetaker.meeting_state

Source: https://developer.nylas.com/docs/reference/notifications/notetaker/notetaker-meeting_state/

Sent when the Notetaker bot transitions between meeting lifecycle states. The notification includes both a `state` field (the lifecycle phase) and a `meeting_state` field (the specific reason for the transition).

**Recommended action:** Update your UI or records to reflect the Notetaker's current meeting state.

## data.object fields

- `id` (string) **(required)** - Unique identifier for the Notetaker bot.
- `grant_id` (string) - The grant ID that owns this Notetaker.
- `meeting_settings` (object) - Configuration for what the Notetaker captures.
  - `video_recording` (boolean) - Whether video recording is enabled.
  - `audio_recording` (boolean) - Whether audio recording is enabled.
  - `transcription` (boolean) - Whether transcription is enabled.
  - `summary` (boolean) - Whether AI summary generation is enabled.
  - `summary_settings` (object) - Custom instructions for summary generation.
    - `custom_instructions` (string) - Prompt instructions for the AI summary.
  - `action_items` (boolean) - Whether AI action item extraction is enabled.
  - `action_items_settings` (object) - Custom instructions for action item extraction.
    - `custom_instructions` (string) - Prompt instructions for action item extraction.
  - `leave_after_silence_seconds` (integer) - Seconds of silence before the bot automatically leaves the meeting.
- `meeting_provider` (string) (Google Meet, Zoom, Microsoft Teams) - The video conferencing provider.
- `meeting_link` (string) - URL of the meeting the Notetaker joined.
- `join_time` (integer) - Unix timestamp when the Notetaker joined or was scheduled to join.
- `event` (object) - Calendar event associated with this Notetaker.
  - `ical_uid` (string) - iCalendar UID of the associated event.
  - `event_id` (string) - Nylas event ID of the associated event.
  - `master_event_id` (string) - Master event ID for recurring events.
- `object` (string) **(required)** (notetaker) - Always `notetaker`.
- `status` (string) (connecting, attending, disconnected, failed_entry) - Current status of the Notetaker bot.
- `state` (string) **(required)** (connecting, attending, disconnected, failed_entry) - Current state of the Notetaker bot.
- `meeting_state` (string) **(required)** (waiting_for_entry, recording_active, meeting_ended, kicked, no_activity, no_participants, api_request, network_error, cancelled, unknown, error, internal_error, bad_meeting_code, bad_meeting_link, sign_in_required, entry_denied, no_response, cannot_join, meeting_capacity_reached, admission_timeout) - Specific meeting sub-state within the current state.

## Example payload

```json
{
  "specversion": "1.0",
  "type": "notetaker.meeting_state",
  "source": "/nylas/notetaker",
  "id": "<WEBHOOK_ID>",
  "time": 1737500936,
  "data": {
    "application_id": "<NYLAS_APPLICATION_ID>",
    "object": {
      "id": "<NOTETAKER_ID>",
      "grant_id": "<NYLAS_GRANT_ID>",
      "meeting_settings": {
        "video_recording": true,
        "audio_recording": true,
        "transcription": true,
        "summary": true,
        "summary_settings": {
          "custom_instructions": "Focus on action items related to the product launch."
        },
        "action_items": true,
        "action_items_settings": {
          "custom_instructions": "Group action items by team member."
        },
        "leave_after_silence_seconds": 300
      },
      "meeting_provider": "Google Meet",
      "meeting_link": "https://meet.google.com/abc-defg-hij",
      "join_time": 1737500936,
      "event": {
        "ical_uid": "<ICAL_UID>",
        "event_id": "<EVENT_ID>",
        "master_event_id": "<MASTER_EVENT_ID>"
      },
      "object": "notetaker",
      "status": "connecting",
      "state": "connecting",
      "meeting_state": "waiting_for_entry"
    }
  },
  "webhook_delivery_attempt": 1
}
```
