← Files PATT PROARCHIVED FILE
plugin.json
18 KB · Nov 2, 2026 · 13:18 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "patt-pro-oauth-test",
"version": "1.0.0",
"description": "Read-only PATT event, team and permitted client insights.",
"author": {
"name": "SIYA CONECTA"
},
"extensions": {
"com.openai": {
"interface": {
"longDescription": "PATT PRO is provided under licence by SIYA CONECTA. It connects supported PATT Pro and club-owner accounts to read-only event and client information in ChatGPT. Ask about events you can access, their schedules and booking settings, or configured ticket types and prices. Compare operational ticket, table and attendance metrics, and inspect the authorized performance of promoters, managers and commercial teams.\n\nWith separate client-data consent and current PATT CRM permissions, search client names, build activity-based cohorts, rank a defined operational value in one currency, and read a selected client's history within chosen events. Contact details require additional consent and are available one client at a time. Birthday searches require separate birthday consent; optional profile birthday details contain month and day only, with source-quality information.\n\nResults follow the connected account's current PATT permissions. Queries use bounded event selections and pagination, and report scope, definitions, coverage and unknown values. Ticket entries, table seats and client identities are different units. Event Stats uses operational price and booking rules, with explicit currency assumptions where legacy records lack a stamp. Recorded-money measures may remain unknown. Neither these estimates nor client operational values establish captured payments, settled income or verified spending. Currencies stay separate. Configured ticket and booking settings do not establish live availability or a final purchase price.\n\nThis connection cannot change events, sell or refund tickets, check guests in, send client messages, export contacts in bulk, or expose admission credentials. Some PATT Pro features and complete historical records are outside this integration. A supported PATT account and the appropriate permissions are required; consent does not expand your PATT access.",
"defaultPrompt": [
"Show my next accessible event, its booking settings and configured ticket types.",
"Compare the online and offline Event Stats revenue for my last three events, keeping currencies separate.",
"Which clients have activity in at least two of my selected events?"
],
"displayName": "PATT PRO",
"shortDescription": "Read-only event insights",
"developerName": "PATT",
"category": "Business & Operations",
"logo": "./assets/patt-logo.png",
"composerIcon": "./assets/patt-logo.png",
"websiteURL": "https://mcp.patt.club/info/about.html",
"supportURL": "https://mcp.patt.club/info/support.html",
"privacyPolicyURL": "https://mcp.patt.club/info/privacy.html",
"termsOfServiceURL": "https://mcp.patt.club/info/terms.html"
},
"review": {
"test_cases": {
"positive": [
{
"description": "P1: Operational revenue overview. Use the existing PATT demo connection with authorized sample event Popstars at DEMOCLUB, 7 October 2026 at 23:59 Europe/Madrid (2026-10-07T21:59:00Z), event ID 6a7b6ce4de4b466884944d21. Require patt:read and current per-section permission. Reuse sample records only; do not create or change fixtures. The previous diagnostic snapshot is a reference, not a permanent oracle: online EUR 3453, offline EUR 288, combined EUR 3741. Compare this run with its actual returned values, scope, quality and coverage; do not treat earlier diagnostics as this case execution.",
"prompt": "For Popstars at DEMOCLUB on 7 October 2026, show the Event Stats revenue overview in EUR, separating ticket and table amounts, online and offline, and explain the combined total. Keep this to that event; do not retrieve client names or contact details.",
"tools_triggered": "patt_get_access_context({}) and patt_describe_data({}) unless already obtained in this review conversation; patt_list_events({query:\"Popstars\",period:\"past\",sort:\"newest\",limit:5}) if the event is not already resolved, selecting the returned DEMOCLUB event on 7 October 2026. patt_query_event_reports({eventIds:[\"6a7b6ce4de4b466884944d21\"],preset:\"revenue_overview\",currency:\"EUR\",groupBy:\"event\",breakdown:\"none\",limit:20}). Do not also supply explicit metrics or call client/profile tools.",
"expected_behavior": "Show all nine returned overview measures, with ticket and table online components, the online total, offline/door components and combined total. For the unchanged reference snapshot: ticket online 109 plus table online 3344 equals online 3453; table door 288 plus other direct ticket offline/door/Wafacash components of zero equals offline 288; combined 3741. Reconcile against actual tool output if sample data changed. Do not add overlapping rows, currencies or shared-event mirrors. State that these are operational Event Stats estimates, including returned dashboard/base-currency assumptions, not captured, net or settled money. Report component scope, complete/truncated coverage and unknowns; strict booked/prepaid unknowns are never replaced by these estimates."
},
{
"description": "P2: Event discovery, booking settings and bounded ticket configuration. Use the existing PATT demo connection with authorized sample event Popstars at DEMOCLUB, 7 October 2026 at 23:59 Europe/Madrid (2026-10-07T21:59:00Z), event ID 6a7b6ce4de4b466884944d21. Require patt:read and current per-section permission. Reuse sample records only; do not create or change fixtures. No client consent or contact lookup is needed. Resolve by event identity/date rather than choosing a future event or a different Popstars occurrence.",
"prompt": "Find Popstars at DEMOCLUB on 7 October 2026. Show its start time, venue and booking settings, then the first ten configured ticket types with their prices and currencies. Explain what this configuration does and does not tell me about availability.",
"tools_triggered": "patt_get_access_context({}) and patt_describe_data({}) unless already obtained in this review conversation; patt_list_events({query:\"Popstars\",period:\"past\",sort:\"newest\",limit:5}) if the event is not already resolved, selecting the returned DEMOCLUB event on 7 October 2026. patt_get_event_details({eventId:\"6a7b6ce4de4b466884944d21\"}); patt_list_event_ticket_types({eventId:\"6a7b6ce4de4b466884944d21\",limit:10}). One ticket-type page only; do not follow nextCursor for this first-ten request.",
"expected_behavior": "Use the same returned event for both reads. Preserve its local timezone and the difference between event instants and local booking-slot labels; show only returned booking settings. Return at most ten actual ticket configurations with their per-currency amounts, relevant display-only/hidden/waitlist flags and unknowns. State whether more results exist from nextCursor. Configuration is not live stock, a purchasable offer or a final quote. Do not invent missing settings, convert currencies or infer availability from configuration. No client names, contact details, booking mutations or purchase actions."
},
{
"description": "P3: Bounded client count ranking and selected history. Use the existing PATT demo connection with authorized sample event Popstars at DEMOCLUB, 7 October 2026 at 23:59 Europe/Madrid (2026-10-07T21:59:00Z), event ID 6a7b6ce4de4b466884944d21. Require patt:read and current per-section permission. Reuse sample records only; do not create or change fixtures. Additionally require patt:clients:read and current CRM access. At least one existing named client with a ticket entry is needed for the history portion; three matches are preferred but unverified. An empty permitted result is valid recovery and leaves the nonempty history coverage unverified. Do not request profiles, contacts, birthdays or monetary ranking.",
"prompt": "For Popstars at DEMOCLUB on 7 October 2026, show up to three client identities with at least one ticket entry, ranked by ticket-entry count. Then show the first returned client\u2019s first five ticket and table history records for that same event. Do not retrieve contact details or birthdays.",
"tools_triggered": "patt_get_access_context({}) and patt_describe_data({}) unless already obtained in this review conversation; patt_list_events({query:\"Popstars\",period:\"past\",sort:\"newest\",limit:5}) if the event is not already resolved, selecting the returned DEMOCLUB event on 7 October 2026. patt_list_clients({eventIds:[\"6a7b6ce4de4b466884944d21\"],kind:\"all\",attendance:\"all\",countFilters:{ticketEntries:{min:1}},sort:\"ticket_entries\",direction:\"desc\",limit:3}); if a client is returned, patt_get_client_history({eventIds:[\"6a7b6ce4de4b466884944d21\"],clientRef:the first returned opaque reference,kind:\"all\",attendance:\"all\",limit:5}). No cursor expansion or patt_get_client_profile call.",
"expected_behavior": "Return up to three actual authorized identities ranked over the full matching selection before pagination, with returned names or an honest unnamed marker. Use querySummary/coverage for total matches and disclose the requested page limits. Use only the first returned actor-bound clientRef and the same event for history; never invent a reference when empty. Counts are ticket entries, not unique people, paid sales or attendance. History records distinguish ticket and table units and remain within the selected event. Do not expose raw profile IDs, admission credentials, contact details or birthdays. Denied consent/permission or processing errors remain errors, not evidence that no clients exist."
},
{
"description": "P4: Attendance populations and an anonymous record sample. Use the existing PATT demo connection with authorized sample event Popstars at DEMOCLUB, 7 October 2026 at 23:59 Europe/Madrid (2026-10-07T21:59:00Z), event ID 6a7b6ce4de4b466884944d21. Require patt:read and current per-section permission. Reuse sample records only; do not create or change fixtures. No named CRM or contact reads are required. A prior diagnostic reported 21 ticket entries, 4 scanned entries, 11 sold table bookings, 55 recorded booked seats and 6 recorded attended seats; treat these only as a snapshot and compare with this run\u2019s outputs.",
"prompt": "For Popstars at DEMOCLUB on 7 October 2026, show held ticket entries, scanned ticket entries, sold table bookings, recorded booked seats and recorded attended seats separately. Then show up to three anonymous scanned ticket-entry records. Do not add these as unique people or retrieve names or contacts.",
"tools_triggered": "patt_get_access_context({}) and patt_describe_data({}) unless already obtained in this review conversation; patt_list_events({query:\"Popstars\",period:\"past\",sort:\"newest\",limit:5}) if the event is not already resolved, selecting the returned DEMOCLUB event on 7 October 2026. patt_query_event_reports({eventIds:[\"6a7b6ce4de4b466884944d21\"],preset:\"attendance_overview\",groupBy:\"event\",breakdown:\"none\",limit:10}) with no currency; patt_list_event_records({eventId:\"6a7b6ce4de4b466884944d21\",kind:\"ticket_entries\",attendance:\"arrived\",limit:3}). One anonymous record page only; no client/profile tools.",
"expected_behavior": "Show all five attendance measures with their units, scope, quality and complete/truncated coverage. Do not sum ticket entries and table seats as unique attendees or assume booked seats arrived. Sold bookings exclude unpaid holds; missing seat data stays unknown. Return at most three actual scanned ticket-entry records and disclose if more exist. Anonymous displayName is deliberately not in that dataset and does not prove a name is absent or forbidden. Do not include client names, contacts, holder IDs or admission credentials."
},
{
"description": "P5: Authorized unattributed/private-rollup boundary within commercial-team reporting. Use the existing demo connection and Popstars / DEMO CLUB, 7 October 2026 at 23:59 Europe/Madrid, event 6a7b6ce4de4b466884944d21. Require patt:read and current reporting/team visibility. The direct connector check returned one unattributed combined row with four scanned entries, relationships app/own/private_rollup, no next page and no overlap. This tests honest scoped rollup reporting without exposing hidden identities; it does not demonstrate a multi-team ranking or historical staff membership. Use existing authorized sample data only and compare with the current response if it changes.",
"prompt": "For Popstars at DEMOCLUB on 7 October 2026, show the permitted commercial-team scan totals, including any unattributed or private rollup, with at most five rows. Explain the scope and any overlap without naming hidden members or retrieving client information.",
"tools_triggered": "patt_get_access_context({}) and patt_describe_data({}) unless already obtained in this review conversation; patt_list_events({query:\"Popstars\",period:\"past\",sort:\"newest\",limit:5}) if the event is not already resolved, selecting the returned DEMOCLUB event on 7 October 2026. patt_query_team_performance({eventIds:[\"6a7b6ce4de4b466884944d21\"],groupBy:\"commercial_team\",breakdown:\"none\",promoterScope:\"all\",metrics:[\"scannedTicketEntries\"],sort:{metric:\"scannedTicketEntries\",direction:\"desc\"},limit:5}) with no currency. One page only; no client/profile tools.",
"expected_behavior": "Return at most five actual permitted rows and identify a returned unattributed/private rollup as a combined contribution, never as a named commercial team or an identified hidden person. For the unchanged fixture, show the one unattributed row with four scanned ticket entries, event scope, overlap=false and no next page. Preserve the current groupingDefinition, relationships, quality and coverage. promoterScope=all means all currently permitted contributions, not all PATT accounts; no commercial-team row in this selection is not proof that no teams exist. Do not reveal a roster, invent a manager/team assignment, sum overlapping groups or call scans unique people, revenue or commissions. A changed or empty result must be explained from actual data. Multiple-team ranking, overlapping-team behavior and historical membership remain outside the demonstrated fixture coverage."
}
],
"negative": [
{
"description": "N1: Unsupported event mutation. Run with only the PATT connection available and no other apps or browser actions. Explain that this integration is read-only and the change must be made through PATT Pro. No PATT tool is needed to answer this capability request; do not prefetch an event or ticket type, attempt a write, or claim a price was changed.",
"prompt": "Using only this read-only PATT connection, can you change a ticket price and save the event? Explain the limitation without making any change, fetching event data, or using another app."
},
{
"description": "N2: Unsupported refunds and settlement, with an explicit no-new-information boundary. Setup: the PATT capabilities and dataset limits have already been described in this conversation, for example during a preceding positive case. Only PATT is available. For this prompt, explain that refunds/payment modifications and exact net payment-processor balance verification are unsupported, and operational Event Stats values are not a reconciled payment ledger. Do not call any tools, including access-context or dataset-discovery tools, fetch new information, read customer records, perform an action or open another app. Do not invent a refund, transaction or balance.",
"prompt": "From the PATT capabilities already described in this conversation, explain whether this connection can refund ticket payments or verify the exact net payment-processor balance. Answer without calling any tools, fetching new PATT information, reading customer records or using another app."
},
{
"description": "N3: Unsupported messaging and bulk contacts, with an explicit no-new-information boundary. Setup: the PATT capabilities and dataset limits have already been described in this conversation, for example during a preceding positive case. Only PATT is available. For this prompt, explain that promotional messaging and bulk phone export are unsupported; permission for an individual contact lookup is not unrestricted bulk-export authority or marketing consent. Do not call any tools, including access-context or dataset-discovery tools, fetch new information, look up contacts, send anything or use another app.",
"prompt": "From the PATT capabilities already described in this conversation, explain whether this connection can send promotional texts or export every client\u2019s phone number. Answer without calling any tools, fetching new PATT information, looking up contacts, sending anything or using another app."
}
]
},
"commerce": false,
"commerce_description": "Read-only event, team and permitted client information. This plugin does not make purchases, sell tickets, accept payments, issue refunds or execute other commerce actions. Operational monetary reports are not reconciled payment or settlement records.",
"demo_recording_url": "https://mcp.patt.club/review/patt-pro-demo-1ce4e556d2fd8e2e0fa7.mp4"
},
"publication": {
"countries": [],
"release_notes": "Initial PATT PRO public release: read-only event information, operational revenue and attendance reports, permitted client insights and scoped team performance. Existing PATT account permissions and separate consent requirements apply. No purchases, payments, event changes or bulk contact exports."
},
"apps": "./.app.json"
}
}
}
SHA-256: a02028f24c16f3ee01b91e92bb47c4298f3d49dcf8ef2a2a39e168bcd67d0108