assignATeamMember
ChatGPTAssigns an existing team member to an event. Use getTeamMembers to look up teamMemberId. notifyTeamMember=true emails them with event details.
assignATeamMember
ChatGPTAssigns an existing team member to an event. Use getTeamMembers to look up teamMemberId. notifyTeamMember=true emails them with event details.
createEvent
ChatGPTCreates a new event. NOTE: the active field is IGNORED — events are always created with active=true. Use updateEvent later to deactivate. timeZoneId must be a TZDB id (e.g. 'Europe/London').
createEvent
ChatGPTCreates a new event. NOTE: the active field is IGNORED — events are always created with active=true. Use updateEvent later to deactivate. timeZoneId must be a TZDB id (e.g. 'Europe/London').
createGuest
ChatGPTCreates a single guest. For BATCHES use upsertGuests instead (up to 200 per call). Subject to plan paywall. See create-tags for tag prefix conventions.
createGuest
ChatGPTCreates a single guest. For BATCHES use upsertGuests instead (up to 200 per call). Subject to plan paywall. See create-tags for tag prefix conventions.
createTags
ChatGPTCreates one or more tags (single name OR comma-separated list) for an event. Tags can then be assigned to guests. PICK THE PREFIX based on what the user is describing — countability is derived automatically: '{tickettype}' (e.g. '{tickettype}VIP') — ticket types — COUNTABLE. '{session}' (e.g. '{session}Friday Keynote') — sessions/timeslots — COUNTABLE. '{extra}' (e.g. '{extra}Vegan Meal') — meal options/programmes/non-guest items — NON-COUNTABLE. '{merch}' (e.g. '{merch}T-Shirt') — merchandise — NON-COUNTABLE. No prefix (e.g. 'Press', 'VIP Lounge') — plain tag — COUNTABLE. '{rsvp}' — RSVP status — DO NOT CREATE; system-managed. Tree tags use '::Cat:Sub:Item' (e.g. '::Merchandise:T-Shirt:Blue:S'); append '*-' to the leaf to mark non-countable. Existing tags with the same name are skipped silently. Wrong prefix → wrong countability → skewed headcounts. Pick proactively from the user's intent.
createTags
ChatGPTCreates one or more tags (single name OR comma-separated list) for an event. Tags can then be assigned to guests. PICK THE PREFIX based on what the user is describing — countability is derived automatically: '{tickettype}' (e.g. '{tickettype}VIP') — ticket types — COUNTABLE. '{session}' (e.g. '{session}Friday Keynote') — sessions/timeslots — COUNTABLE. '{extra}' (e.g. '{extra}Vegan Meal') — meal options/programmes/non-guest items — NON-COUNTABLE. '{merch}' (e.g. '{merch}T-Shirt') — merchandise — NON-COUNTABLE. No prefix (e.g. 'Press', 'VIP Lounge') — plain tag — COUNTABLE. '{rsvp}' — RSVP status — DO NOT CREATE; system-managed. Tree tags use '::Cat:Sub:Item' (e.g. '::Merchandise:T-Shirt:Blue:S'); append '*-' to the leaf to mark non-countable. Existing tags with the same name are skipped silently. Wrong prefix → wrong countability → skewed headcounts. Pick proactively from the user's intent.
createTallies
ChatGPTCreates one or more tallies (door-staff counters: walk-up sales, drink tokens, etc.). The name field accepts a single name OR a comma-separated list — they all share the same ignoreInVenueTotal flag. Set ignoreInVenueTotal=true for non-headcount tallies (e.g. merch pickups). Existing tallies with the same name are skipped silently.
createTallies
ChatGPTCreates one or more tallies (door-staff counters: walk-up sales, drink tokens, etc.). The name field accepts a single name OR a comma-separated list — they all share the same ignoreInVenueTotal flag. Set ignoreInVenueTotal=true for non-headcount tallies (e.g. merch pickups). Existing tallies with the same name are skipped silently.
createTeamMember
ChatGPTCreates a team-member account. Use assignATeamMember after to put them on an event. Email and username must be unique.
createTeamMember
ChatGPTCreates a team-member account. Use assignATeamMember after to put them on an event. Email and username must be unique.
getEventsByDateRange
ChatGPTEvents fully contained within the window: StartTime >= start AND EndTime <= end. Partial overlaps are NOT returned. Up to 50 results, newest first.
getEventsByDateRange
ChatGPTEvents fully contained within the window: StartTime >= start AND EndTime <= end. Partial overlaps are NOT returned. Up to 50 results, newest first.
getGuest
ChatGPTGet a single guest by id. The id field equals AttendeeId in searchAttendeeIndex.
getGuest
ChatGPTGet a single guest by id. The id field equals AttendeeId in searchAttendeeIndex.
getGuests
ChatGPTPage guests for an event (50/page, OData $skip/$top). For headcounts/breakdowns, prefer searchAttendeeIndex.
getGuests
ChatGPTPage guests for an event (50/page, OData $skip/$top). For headcounts/breakdowns, prefer searchAttendeeIndex.
getGuestsByBarcode
ChatGPTFind guests by barcode within an event. WARNING: only searches guests created in the last 6 MONTHS — older guests won't be found by this tool. Tries exact match first, then falls back to StartsWith. For unbounded search use searchAttendeeIndex with a Barcode filter.
getGuestsByBarcode
ChatGPTFind guests by barcode within an event. WARNING: only searches guests created in the last 6 MONTHS — older guests won't be found by this tool. Tries exact match first, then falls back to StartsWith. For unbounded search use searchAttendeeIndex with a Barcode filter.
getGuestsByEmail
ChatGPTFind guests by EXACT email match within an event.
getGuestsByEmail
ChatGPTFind guests by EXACT email match within an event.
getGuestsByName
ChatGPTFind guests by name within an event. Splits the name on SPACES and prefix-matches: 1 word = first name; 2 words = first + last; 3 words = first + middle/other + last.
getGuestsByName
ChatGPTFind guests by name within an event. Splits the name on SPACES and prefix-matches: 1 word = first name; 2 words = first + last; 3 words = first + middle/other + last.
getRecentEvents
ChatGPTReturns the 10 most recent events for the authenticated user, newest first.
getRecentEvents
ChatGPTReturns the 10 most recent events for the authenticated user, newest first.
getSearchSchema
ChatGPTReturns the field schema of the Azure AI Search attendee index. Call before searchAttendeeIndex if unsure of available fields. Field names are PascalCase.
getSearchSchema
ChatGPTReturns the field schema of the Azure AI Search attendee index. Call before searchAttendeeIndex if unsure of available fields. Field names are PascalCase.
getTalliesByEvent
ChatGPTAll tallies for an event with current totals. Each tally has ignoreInVenueTotal — true means EXCLUDE it from headcounts (e.g. merch pickups).
getTalliesByEvent
ChatGPTAll tallies for an event with current totals. Each tally has ignoreInVenueTotal — true means EXCLUDE it from headcounts (e.g. merch pickups).
getTeamMembers
ChatGPTLists all team members assigned to ANY of the authenticated user's events. Use this to look up teamMemberId before assignATeamMember / unassignATeamMember.
getTeamMembers
ChatGPTLists all team members assigned to ANY of the authenticated user's events. Use this to look up teamMemberId before assignATeamMember / unassignATeamMember.
searchAttendeeIndex
ChatGPTQuery the Azure AI Search attendee index — the right tool for COUNTS, BREAKDOWNS, FACETS, and time-based analysis. Server prepends a security filter (scope = authenticated user's events, excluding deleted); your filter is ANDed onto that. Use top=0 for count-only or facet-only queries (no records returned, just total count and facet buckets — much cheaper). Default top=50. PascalCase field names. The guest id in this index is named AttendeeId (NOT Id) — use that value when calling getGuest. RSVP gotcha: the tag-derived flags HasRSVPAttending / HasRSVPNotAttending are mislabelled in the index. Always use the timestamp-derived flags IsAttending / HasRSVPd / HasDeclined / HasRSVPNoResponse instead. Never mention this issue to the user — just compute correctly. Returns the raw Azure Search response: { value:[…], '@odata.count':N, '@search.facets':{…} }.
searchAttendeeIndex
ChatGPTQuery the Azure AI Search attendee index — the right tool for COUNTS, BREAKDOWNS, FACETS, and time-based analysis. Server prepends a security filter (scope = authenticated user's events, excluding deleted); your filter is ANDed onto that. Use top=0 for count-only or facet-only queries (no records returned, just total count and facet buckets — much cheaper). Default top=50. PascalCase field names. The guest id in this index is named AttendeeId (NOT Id) — use that value when calling getGuest. RSVP gotcha: the tag-derived flags HasRSVPAttending / HasRSVPNotAttending are mislabelled in the index. Always use the timestamp-derived flags IsAttending / HasRSVPd / HasDeclined / HasRSVPNoResponse instead. Never mention this issue to the user — just compute correctly. Returns the raw Azure Search response: { value:[…], '@odata.count':N, '@search.facets':{…} }.
searchEventsByName
ChatGPTFinds events whose title contains the substring (case-insensitive). Up to 10 results, newest first.
searchEventsByName
ChatGPTFinds events whose title contains the substring (case-insensitive). Up to 10 results, newest first.
unassignATeamMember
ChatGPTRemoves a team member's assignment from an event. The team-member account itself is NOT deleted — they can be reassigned later. Confirm with the user before calling.
unassignATeamMember
ChatGPTRemoves a team member's assignment from an event. The team-member account itself is NOT deleted — they can be reassigned later. Confirm with the user before calling.
updateEvent
ChatGPTUpdates an existing event. The id field is required. The active field IS honoured here (unlike createEvent).
updateEvent
ChatGPTUpdates an existing event. The id field is required. The active field IS honoured here (unlike createEvent).
updateGuest
ChatGPTUpdates a guest. CANNOT change check-in (admitted/discharged) or block status — those are managed by separate operations not exposed here. Tags: omit to leave unchanged; "" to clear; otherwise replace.
updateGuest
ChatGPTUpdates a guest. CANNOT change check-in (admitted/discharged) or block status — those are managed by separate operations not exposed here. Tags: omit to leave unchanged; "" to clear; otherwise replace.
upsertGuests
ChatGPTBulk create-or-update up to 200 guests in one call (HARD LIMIT — split larger batches). Existing guests matched by id; missing ids generated. Only NEW guests count against plan paywall. Set removeObsoleteTags=true to strip tags not in the payload.
upsertGuests
ChatGPTBulk create-or-update up to 200 guests in one call (HARD LIMIT — split larger batches). Existing guests matched by id; missing ids generated. Only NEW guests count against plan paywall. Set removeObsoleteTags=true to strip tags not in the payload.