MCP App Store
Productivity
Qflow icon

Qflow

by Wiretouch Ltd

Overview

Qflow is an event management platform that lets you create events, manage guest lists, track check-ins, and monitor attendance in real time. With over 60 million attendee records processed across large-scale events worldwide, Qflow handles everything from guest registration and bulk imports to team assignments and live event statistics. Search guests by name, email, or barcode, filter by tags or ticket types, and get real-time attendance breakdowns — all through natural conversation. A Qflow account is required to connect.

Tools

assignATeamMember

ChatGPT
Assigns an existing team member to an event. Use getTeamMembers to look up teamMemberId. notifyTeamMember=true emails them with event details.

assignATeamMember

ChatGPT
Assigns an existing team member to an event. Use getTeamMembers to look up teamMemberId. notifyTeamMember=true emails them with event details.

createEvent

ChatGPT
Creates 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

ChatGPT
Creates 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

ChatGPT
Creates 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

ChatGPT
Creates 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

ChatGPT
Creates 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

ChatGPT
Creates 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

ChatGPT
Creates 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

ChatGPT
Creates 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

ChatGPT
Creates a team-member account. Use assignATeamMember after to put them on an event. Email and username must be unique.

createTeamMember

ChatGPT
Creates a team-member account. Use assignATeamMember after to put them on an event. Email and username must be unique.

getEventsByDateRange

ChatGPT
Events fully contained within the window: StartTime >= start AND EndTime <= end. Partial overlaps are NOT returned. Up to 50 results, newest first.

getEventsByDateRange

ChatGPT
Events fully contained within the window: StartTime >= start AND EndTime <= end. Partial overlaps are NOT returned. Up to 50 results, newest first.

getGuest

ChatGPT
Get a single guest by id. The id field equals AttendeeId in searchAttendeeIndex.

getGuest

ChatGPT
Get a single guest by id. The id field equals AttendeeId in searchAttendeeIndex.

getGuests

ChatGPT
Page guests for an event (50/page, OData $skip/$top). For headcounts/breakdowns, prefer searchAttendeeIndex.

getGuests

ChatGPT
Page guests for an event (50/page, OData $skip/$top). For headcounts/breakdowns, prefer searchAttendeeIndex.

getGuestsByBarcode

ChatGPT
Find 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

ChatGPT
Find 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

ChatGPT
Find guests by EXACT email match within an event.

getGuestsByEmail

ChatGPT
Find guests by EXACT email match within an event.

getGuestsByName

ChatGPT
Find 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

ChatGPT
Find 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

ChatGPT
Returns the 10 most recent events for the authenticated user, newest first.

getRecentEvents

ChatGPT
Returns the 10 most recent events for the authenticated user, newest first.

getSearchSchema

ChatGPT
Returns the field schema of the Azure AI Search attendee index. Call before searchAttendeeIndex if unsure of available fields. Field names are PascalCase.

getSearchSchema

ChatGPT
Returns the field schema of the Azure AI Search attendee index. Call before searchAttendeeIndex if unsure of available fields. Field names are PascalCase.

getTalliesByEvent

ChatGPT
All tallies for an event with current totals. Each tally has ignoreInVenueTotal — true means EXCLUDE it from headcounts (e.g. merch pickups).

getTalliesByEvent

ChatGPT
All tallies for an event with current totals. Each tally has ignoreInVenueTotal — true means EXCLUDE it from headcounts (e.g. merch pickups).

getTeamMembers

ChatGPT
Lists all team members assigned to ANY of the authenticated user's events. Use this to look up teamMemberId before assignATeamMember / unassignATeamMember.

getTeamMembers

ChatGPT
Lists all team members assigned to ANY of the authenticated user's events. Use this to look up teamMemberId before assignATeamMember / unassignATeamMember.

searchAttendeeIndex

ChatGPT
Query 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

ChatGPT
Query 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

ChatGPT
Finds events whose title contains the substring (case-insensitive). Up to 10 results, newest first.

searchEventsByName

ChatGPT
Finds events whose title contains the substring (case-insensitive). Up to 10 results, newest first.

unassignATeamMember

ChatGPT
Removes 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

ChatGPT
Removes 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

ChatGPT
Updates an existing event. The id field is required. The active field IS honoured here (unlike createEvent).

updateEvent

ChatGPT
Updates an existing event. The id field is required. The active field IS honoured here (unlike createEvent).

updateGuest

ChatGPT
Updates 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

ChatGPT
Updates 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

ChatGPT
Bulk 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

ChatGPT
Bulk 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.

Capabilities

Writes

App Stats

44

Tools

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily