MCP tools reference

Whova MCP tools

11 tools for Whova on the Cotlet MCP server. Your agent picks them from tools/list.

MCP server
https://cotlet.dev/mcp/v1
Connects with
Your own Whova organizer account for the event
Integration page
Whova
Whova Endpoints
Endpoint Access Description
whova_list_events read Events you can manage as an organizer, with dates and status.
whova_list_attendees read Attendees of an event with email, company, ticket type, audience type and check-in status.
whova_list_registrations read Registration orders with registrant, ticket type and order date, newest first.
whova_list_sessions read Agenda sessions with time, tracks, speakers and description, in agenda order.
whova_list_speakers read Speakers of an event from the Speaker Center, with their sessions.
whova_get_post_event_report read The post-event report of an event as text sections, available after the event ends.
whova_add_session write Add a session to the agenda in Session Manager.
whova_update_session write Change the time, tracks, speakers or description of an existing session.
whova_add_attendee write Create or update one attendee by name and email.
whova_send_announcement write Post an announcement for the attendees of an event.
whova_message_speakers write Email all speakers of an event, or the ones you list, through Whova.

MCP tool whova_list_events

Returns every event of your organizer account, newest first. Use event_id from each item in the other tools. Dates are in the time zone of the event.

Parameters

Parameters: list_events
NameTypeDescription
status enum upcoming, past or all. Default: upcoming.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "whova_list_events",
    "arguments": {}
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "events": [
      {
        "event_id": "284611",
        "name": "Northwind Summit 2026",
        "start": "2026-10-21",
        "end": "2026-10-23",
        "status": "upcoming"
      },
      {
        "event_id": "271905",
        "name": "Northwind Summit 2025",
        "start": "2025-10-14",
        "end": "2025-10-16",
        "status": "past"
      }
    ]
  },
  "isError": false
}

MCP tool whova_list_attendees

Lists attendees of one event. Filter by ticket type or audience type, or by check-in status to see who has not arrived. Pages hold up to 500 attendees; pass next_cursor back as cursor for the next page.

Parameters

Parameters: list_attendees
NameTypeDescription
event_id required string Event ID from list_events.
ticket_type string Only holders of this ticket type, as named in your event.
audience_type string Only attendees with this audience type, as named in your event.
checked_in boolean true for checked-in attendees, false for those not checked in.
limit integer 1 to 500. Default: 100.
cursor string Next page cursor from the previous call.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "whova_list_attendees",
    "arguments": {
      "event_id": "event_8c41d2"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "attendees": [
      {
        "attendee_id": "at_5521",
        "first_name": "Maya",
        "last_name": "Ortiz",
        "email": "maya@example.com",
        "company": "Northwind Labs",
        "ticket_type": "Full Pass",
        "audience_type": "Attendee",
        "checked_in": false
      }
    ],
    "next_cursor": null
  },
  "isError": false
}

MCP tool whova_list_registrations

Lists registration orders of one event, newest first. Filter by date or ticket type to get only what is new since your last check. Pages hold up to 500 orders; pass next_cursor back as cursor.

Parameters

Parameters: list_registrations
NameTypeDescription
event_id required string Event ID from list_events.
since date Only orders placed on or after this date.
ticket_type string Only orders with this ticket type.
limit integer 1 to 500. Default: 100.
cursor string Next page cursor from the previous call.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "whova_list_registrations",
    "arguments": {
      "event_id": "event_8c41d2"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "orders": [
      {
        "order_id": "ord_80231",
        "registrant": "Maya Ortiz",
        "email": "maya@example.com",
        "ticket_type": "Full Pass",
        "ordered_at": "2026-10-10T14:12:00Z"
      },
      {
        "order_id": "ord_80229",
        "registrant": "Leo Brandt",
        "email": "leo@example.com",
        "ticket_type": "Student",
        "ordered_at": "2026-10-10T09:40:00Z"
      }
    ],
    "next_cursor": null
  },
  "isError": false
}

MCP tool whova_list_sessions

Lists the sessions of one event in agenda order. Filter by day or track. Use session_id with update_session. Times carry the time zone of the event.

Parameters

Parameters: list_sessions
NameTypeDescription
event_id required string Event ID from list_events.
date date Only sessions on this day.
track string Only sessions in this track.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "whova_list_sessions",
    "arguments": {
      "event_id": "event_8c41d2"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "sessions": [
      {
        "session_id": "s_30871",
        "title": "Breakout: Pricing workshop",
        "start": "2026-10-22T14:00:00-07:00",
        "end": "2026-10-22T15:00:00-07:00",
        "tracks": [
          "Workshops"
        ],
        "speakers": [
          "Jon Pike"
        ]
      }
    ]
  },
  "isError": false
}

MCP tool whova_list_speakers

Lists the speakers of one event with the sessions each one speaks in. Speakers added to a session appear here automatically. Use it to build the recipient list for message_speakers.

Parameters

Parameters: list_speakers
NameTypeDescription
event_id required string Event ID from list_events.
session_id string Only speakers of this session.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "whova_list_speakers",
    "arguments": {
      "event_id": "event_8c41d2"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "speakers": [
      {
        "speaker_id": "sp_204",
        "name": "Dana Reyes",
        "email": "dana@example.com",
        "sessions": [
          "Opening keynote"
        ]
      }
    ]
  },
  "isError": false
}

MCP tool whova_get_post_event_report

Returns the post-event report of one finished event as titled sections with their figures. Pass section to read one part, for example Sponsors and exhibitors. Whova releases the report only after the organizer requests it under Tools > Report; until then the call fails with a not-ready error.

Parameters

Parameters: get_post_event_report
NameTypeDescription
event_id required string Event ID from list_events.
section string Section title as shown in the report. Default: all sections.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "whova_get_post_event_report",
    "arguments": {
      "event_id": "271905",
      "section": "Sponsors and exhibitors"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "event_id": "271905",
    "sections": [
      {
        "title": "Sponsors and exhibitors",
        "text": "Total sponsor impressions, exhibitor leads and attendee profile views, then impressions per sponsor."
      }
    ]
  },
  "isError": false
}

Add session

write

MCP tool whova_add_session

Creates one session in the agenda of one event. Speakers you name also appear in the Speaker Center. The session shows in the event app agenda at once. It reaches no one directly and one update_session or a delete in Whova undoes it, so it runs without asking.

Parameters

Parameters: add_session
NameTypeDescription
event_id required string Event ID from list_events.
title required string Session title.
start required datetime Start, ISO 8601 with time zone.
end required datetime End, ISO 8601 with time zone.
tracks string[] Tracks the session belongs to, as named in your event.
speakers string[] Speaker names.
description string Session description.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "whova_add_session",
    "arguments": {
      "event_id": "event_8c41d2",
      "title": "title",
      "start": "2026-10-01T09:00:00Z",
      "end": "2026-10-01T09:00:00Z"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "session_id": "s_30902",
    "event_id": "284611",
    "title": "Opening keynote",
    "start": "2026-10-21T09:00:00-07:00",
    "end": "2026-10-21T09:45:00-07:00",
    "tracks": [
      "Main stage"
    ],
    "speakers": [
      "Dana Reyes"
    ],
    "status": "created"
  },
  "isError": false
}

MCP tool whova_update_session

Changes the fields you send and leaves the others as they are. Moving a block of sessions means one call per session. It reaches no one directly and one more call restores the old values, so it runs without asking.

Parameters

Parameters: update_session
NameTypeDescription
event_id required string Event ID from list_events.
session_id required string Session ID from list_sessions.
title string New title.
start datetime New start, ISO 8601 with time zone.
end datetime New end, ISO 8601 with time zone.
tracks string[] Replaces the tracks.
speakers string[] Replaces the speakers.
description string New description.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "whova_update_session",
    "arguments": {
      "event_id": "284611",
      "session_id": "s_30871",
      "start": "2026-10-22T15:00:00-07:00",
      "end": "2026-10-22T16:00:00-07:00"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "session_id": "s_30871",
    "event_id": "284611",
    "title": "Breakout: Pricing workshop",
    "start": "2026-10-22T15:00:00-07:00",
    "end": "2026-10-22T16:00:00-07:00",
    "status": "updated"
  },
  "isError": false
}

Add attendee

write Confirm

MCP tool whova_add_attendee

Creates the attendee, or updates the one with the same email. The attendee appears in the event's attendee list. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: add_attendee
NameTypeDescription
event_id required string Event ID from list_events.
first_name required string First name.
last_name required string Last name.
email required string Attendee email.
company string Company or organization.
title string Job title.
ticket_type string Ticket type, as named in your event.
audience_type string Audience type, as named in your event.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "whova_add_attendee",
    "arguments": {
      "event_id": "event_8c41d2",
      "first_name": "first name",
      "last_name": "last name",
      "email": "jane@example.com"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "attendee_id": "at_5530",
    "event_id": "284611",
    "email": "sam@example.com",
    "status": "created"
  },
  "isError": false
}

Send announcement

write Confirm

MCP tool whova_send_announcement

Posts an announcement to the attendees of one event. App users get it as a push notification, and Whova also connects announcements to attendees' email, so people without the app are notified. It reaches every attendee at once. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: send_announcement
NameTypeDescription
event_id required string Event ID from list_events.
message required string Announcement text.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "whova_send_announcement",
    "arguments": {
      "event_id": "284611",
      "message": "The opening keynote has moved to Hall B. Doors open at 8:45."
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "announcement_id": "ann_90314",
    "event_id": "284611",
    "status": "sent"
  },
  "isError": false
}

Message speakers

write Confirm

MCP tool whova_message_speakers

Sends an email to speakers through Whova's speaker messaging. Leave speaker_ids out to email all speakers of the event. Speakers receive it from Whova, not from your own address. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: message_speakers
NameTypeDescription
event_id required string Event ID from list_events.
subject required string Email subject.
body required string Email body.
speaker_ids string[] Speaker IDs from list_speakers. Default: all speakers.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "whova_message_speakers",
    "arguments": {
      "event_id": "284611",
      "subject": "Your session at Northwind Summit: 21 Oct, 9:00 AM",
      "body": "Hi Dana, you open the summit with the keynote on 21 Oct, 9:00 to 9:45 AM on the Main stage. Please keep the talk to 40 minutes plus 5 for questions.",
      "speaker_ids": [
        "sp_204"
      ]
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "message_id": "msg_4107",
    "event_id": "284611",
    "recipients": 18,
    "status": "sent"
  },
  "isError": false
}