Qminder
Manage queues and appointments
- Category
- Customer Support
- Primary Subcategory
- Field Service Management Software
Integration details
Description
Bring your Qminder queue management into ChatGPT. Check scheduled appointments, see which customers are waiting, and call the next person in line—all by asking naturally. You can also view all your locations at a glance, and monitor iPad and TV status. A simple way to stay on top of customer flow without leaving the conversation.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Field Service Management Software
- Secondary Subcategories
- None listed
- Brand
- Qminder
- Access
- Account required
- First tracked
- 2026-05-26
- Tool count
- 18
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Get alerts for Qminder
Get updates when Qminder’s Discoverability Score or category rank changes.
ChatGPT Plugin Discovery Score
ChatGPT Plugin discovery is coming soon
ChatGPT can surface a Plugin when it matches a user's request.Your Plugin Discovery Score measures how often yours appears.
No spam. Unsubscribe any time.
What discovery looks like

Competing in ChatGPT Field Service Management Software
View Category18 tools agents can invoke
Archives one or more services in a location. Services are the queues visitors join. Archived services stop accepting visitors and drop out of the location's active list, but their history is kept and they can be restored later. Identify the services to archive by id, by name, or both — provide at least one list. REQUIRED: - locationId: The location the services belong to. - serviceIds and/or serviceNames (at least one): - serviceIds: The ids of the services to archive. - serviceNames: The names of the services to archive. Each name must match exactly one service of the location (case-insensitive). Use serviceIds when a name is not unique. IMPORTANT: A location must keep at least one active service — archiving the last active service fails. RETURN VALUE: JSON with the archived service ids, e.g. { "archivedServiceIds": [1, 2] }.
Call next ticket for the authenticated user's account
Creates a single input field for a location. Input fields are the data points collected from visitors. REQUIRED: - locationId: The location to add the input field to. - type: One of PHONE_NUMBER, URL, SELECT, TEXT, EMAIL, DATE, FIRST_NAME, LAST_NAME, NUMERIC, ATTACHMENT. - title: Required for TEXT, SELECT, URL, DATE, NUMERIC and ATTACHMENT fields. SELECT FIELDS: - multiSelect: Whether more than one option can be chosen. - options: The selectable options (each with a title and an optional hex color). VISIBILITY (all optional, default false): - isMandatoryBeforeAdded, isMandatoryBeforeServed, isMandatoryInRemoteSignIn, isVisibleInWaitingDrawer, isVisibleInServingDrawer, showInRemoteSignIn. LINES: - lineIds: The lines the field is visible for. When omitted, the field is made visible for all lines in the location. SINGLETON TYPES: FIRST_NAME, LAST_NAME, EMAIL and PHONE_NUMBER can exist only once per location; creating a duplicate returns a conflict error. RETURN VALUE: JSON with the id of the created input field, e.g. { "id": "..." }.
Creates a single location for the authenticated user's account, optionally copying settings from a template location. To also create a visitor website for it, call create_visitor_website afterwards with the returned location id. REQUIRED FIELDS: - name: Location name (max 30 characters) - address: Street address (max 300 characters) - country: ISO 3166-1 alpha-2 country code, uppercase (e.g. "US", "GB", "EE") - latitude: -90 to 90 - longitude: -180 to 180 COPYING FROM A TEMPLATE (optional): Provide copyFromLocationId to copy settings from an existing template location, and toggle which aspects to copy. Copying from a template also brings over the template's languages, service settings, and opening hours. When copyFromLocationId is omitted, the location is created with system defaults (2 lines, 3 desks, default input fields, 24/7 hours, English). RETURN VALUE: JSON object with the created location id, e.g. { "id": "123" }.
Creates a service for a location. Services are the queues visitors join. REQUIRED: - locationId: The location to add the service to. - name: The service name. - color: One of VIOLET, LAVENDER, MARSHMALLOW, TEAL, MINT, CORAL, YELLOW, ROSE, INDIGO, BLUE. OPTIONAL: - disabled: Whether the service starts disabled. Defaults to false. - translations: Per-language names, each with a languageCode and name. - appointmentSettings: Appointment booking settings — enabled, plus a duration in minutes (one of 15, 30, 45, 60, 90, 120, 180). RETURN VALUE: JSON with the id of the created service, e.g. { "id": 123 }.
Creates the visitor website for a location, copying the settings of a template location's website. Use this after create_location: pass the new location id, the desired url, and the template location id. REQUIRED: - locationId: id of the location to attach the website to (e.g. from create_location) - url: public subdomain slug -> https://{url}.qminder.site. Lowercase letters, digits and hyphens only, 2-100 characters, GLOBALLY UNIQUE across all accounts. The call fails if the url is already taken; retry with a different slug. - name: display name of the website - templateLocationId: id of a location whose existing visitor website holds the settings to copy: description, notes, contact details, branding (accent color), visibility flags, geofencing, appointment windows, and translations (per-language name/description/notes, plus remote sign-in success message translations when enableRemoteSignIn is set). NOTE: the template's remote sign-in line selection and logo are NOT copied. OPTIONAL: - enableRemoteSignIn (default false): when true, turns on remote sign-in (join waitlist) for the website, enabled for ALL of the location's active lines. RETURN VALUE: JSON like { "locationId": "123", "url": "aa-tartu", "status": "created" }.
Updates an existing input field. Only the properties you provide are changed; everything you omit is left as-is. REQUIRED: - inputFieldId: The id of the input field to update (a UUID, as returned by get_input_fields). UPDATABLE PROPERTIES (all optional): - title, visitorFacingTitle - visibleForLineIds: replaces the set of lines the field is visible for - isVisibleInWaitingDrawer, isVisibleInServingDrawer, isMandatoryInRemoteSignIn, showInRemoteSignIn, isMandatoryBeforeAdded, isMandatoryBeforeServed - multiSelect, options (SELECT fields; options fully replace the existing ones) - translations (fully replace the existing translations) - constraints (NUMERIC fields: min, max, scale) RETURN VALUE: JSON with the id of the updated input field, e.g. { "id": "..." }.
Updates a service in a location. Services are the queues visitors join. This is a full update: name and color are required, and any optional property you omit is reset to its default (translations cleared, appointment booking removed, enabled). To change one property without losing the others, read the current values with get_services first and pass them all back. REQUIRED: - locationId: The location the service belongs to. - serviceId: The id of the service to update. - name: The service name. - color: One of VIOLET, LAVENDER, MARSHMALLOW, TEAL, MINT, CORAL, YELLOW, ROSE, INDIGO, BLUE. OPTIONAL: - disabled: Whether the service is disabled. Defaults to false. - translations: Per-language names, each with a languageCode and name. - appointmentSettings: Appointment booking settings — enabled, plus a duration in minutes (one of 15, 30, 45, 60, 90, 120, 180). RETURN VALUE: JSON with the id of the updated service, e.g. { "id": 123 }.
Retrieves all locations for the authenticated user's account. DEFAULT FIELDS (always included): - id, name: Always returned for each location OPTIONAL RESOURCES (included only when you specify their fields): - ipads: Include by specifying ipadFields - tvs: Include by specifying tvFields - desks: Include by specifying deskFields - lines: Include by specifying lineFields - users: Include by specifying userFields - languages: Include by specifying languageFields VALID FIELD VALUES: - basicFields: address, countryCode, country, timezone, created, latitude, longitude, smsEnabled, isDemo, locationLabels (locationLabels: customer-assigned tags categorizing the location, e.g. "hub", "branch", "testing-only" — use them to group, filter or compare locations by type when the user refers to categories rather than specific locations) - ipadFields: id, name, online, charging, batteryLevel - tvFields: id, name, theme, layout, online - deskFields: id, name, user (user returns nested object with id, email) - lineFields: id, name, color, disabled, archived - userFields: id, email, firstName, lastName - languageFields: code, name, nativeName, primary RETURN VALUE: JSON array of location objects with requested fields and nested resources. EXAMPLES: Example 1 - Minimal (just id and name): {} Example 2 - Locations with address info: { "basicFields": ["address", "country", "timezone"] } Example 3 - Locations with lines and users: { "lineFields": ["id", "name", "color"], "userFields": ["id", "email", "firstName"] } Example 4 - Full location details: { "basicFields": ["address", "timezone", "country", "smsEnabled"], "lineFields": ["id", "name", "color", "disabled"], "deskFields": ["id", "name", "user"], "userFields": ["id", "email", "firstName", "lastName"], "ipadFields": ["id", "name", "online"] }
Get scheduled appointments for a location within a date range. Returns appointment times, assigned staff, and optional customer/ticket details. CRITICAL TIMEZONE REQUIREMENT: ALL RETURNED TIMES (startTime, endTime) ARE IN UTC TIMEZONE. YOU MUST CONVERT TO THE LOCATION'S TIMEZONE BEFORE DISPLAYING TO USERS. The location's timezone is provided in the location data - use it for all time conversions. DEFAULT FIELDS (always included): - id: Ticket ID - appointment { startTime, endTime, assignee { id, firstName, lastName, email } } OPTIONAL RESOURCES (included only when you specify their fields): - line: Include by specifying lineFields - fields: Include by specifying fieldsFields (custom fields) - labels: Include by specifying labelsFields - language: Include by specifying languageFields Common use cases: 1. View today's appointments with customer details: - Set startDate/endDate to today's date range - Add basicFields: ["status", "firstName", "lastName", "phoneNumber"] 2. Check specific staff member's schedule: - Use assigneeIds: [456, 789] - Appointments assigned to these users only 3. Filter by appointment status: - statuses: ["SCHEDULED"] for upcoming appointments - statuses: ["SCHEDULING_NOSHOW", "SCHEDULING_CANCELLED", "SCHEDULING_CANCELLED_BY_VISITOR"] for no-shows and cancellations 4. Export with full context: - Add lineFields: ["id", "name", "color"] - Add labelsFields: ["value", "color"] - Add fieldsFields: ["id", "value", "options", "inputField"] FILTERS: - assigneeIds: Filter by staff member IDs - lineIds: Filter by service line IDs - statuses: SCHEDULED, CALLED, SERVED, SCHEDULING_CANCELLED, SCHEDULING_CANCELLED_BY_VISITOR, SCHEDULING_NOSHOW - limit: Max results (default 100, max 1000) VALID FIELD VALUES: - basicFields: status, firstName, lastName, phoneNumber, email - lineFields: id, name, color - fieldsFields: id, value, options, inputField - labelsFields: value, color - languageFields: code, name Date format: ISO 8601 with timezone, e.g., "2025-01-15T14:30:00.000Z"
Retrieves information about the currently authenticated user. DEFAULT FIELDS (always included): - id, email: Always returned - selectedLocation: Always returned with default fields [id, name, timezone] You can customize selectedLocation fields using selectedLocationFields parameter. OPTIONAL RESOURCES (included only when you specify their fields): - profilePicture: Include by specifying profilePictureFields - selectedDesk: Include by specifying selectedDeskFields - selectedLines: Include by specifying selectedLinesFields - roles: Include by specifying roleFields VALID FIELD VALUES: - basicFields: firstName, lastName, created, lastLoggedIn, lastInvited, deleted, deletedAt - selectedLocationFields: id, name, timezone, address, country (default: [id, name, timezone]) - selectedDeskFields: id, name - selectedLinesFields: id, name, color, disabled, archived - profilePictureFields: medium, large - roleFields: type, location (location returns nested object with id and name) RETURN VALUE: JSON object containing user data with requested fields and nested resources. EXAMPLES: Example 1 - Minimal (id, email, selectedLocation with defaults): {} Example 2 - Basic user info with custom location fields: { "basicFields": ["firstName", "lastName"], "selectedLocationFields": ["id", "name", "timezone", "address"] } Example 3 - User with profile picture: { "profilePictureFields": ["medium"] } Example 4 - Full profile with all resources: { "basicFields": ["firstName", "lastName", "created"], "selectedLocationFields": ["id", "name", "timezone", "address"], "selectedDeskFields": ["id", "name"], "selectedLinesFields": ["id", "name", "color"], "profilePictureFields": ["medium", "large"], "roleFields": ["type", "location"] }
Retrieves the input fields configured for a location. Input fields are the data points collected from visitors (e.g. name, phone number, a custom SELECT or TEXT field). REQUIRED: - locationId: The location to read input fields from. RETURN VALUE: JSON with the full data for each input field: id, type, title, visitorFacingTitle, mandatory/visibility flags, multiSelect, options (with colors and translations), visibleForLines, numeric constraints, and translations.
Retrieves location by id for the authenticated user's account. DEFAULT FIELDS (always included): - id, name: Always returned OPTIONAL RESOURCES (included only when you specify their fields): - ipads: Include by specifying ipadFields - tvs: Include by specifying tvFields - desks: Include by specifying deskFields - lines: Include by specifying lineFields - users: Include by specifying userFields - languages: Include by specifying languageFields VALID FIELD VALUES: - basicFields: address, countryCode, country, timezone, created, latitude, longitude, smsEnabled, isDemo, locationLabels (locationLabels: customer-assigned tags categorizing the location, e.g. "hub", "branch", "testing-only" — use them to group, filter or compare locations by type when the user refers to categories rather than specific locations) - ipadFields: id, name, online, charging, batteryLevel - tvFields: id, name, theme, layout, online - deskFields: id, name, user (user returns nested object with id, email) - lineFields: id, name, color, disabled, archived - userFields: id, email, firstName, lastName - languageFields: code, name, nativeName, primary RETURN VALUE: JSON object of location with requested fields and nested resources. EXAMPLES: Example 1 - Minimal (just id and name): { "id": 123 } Example 2 - Location with address info: { "id": 123, "basicFields": ["address", "country", "timezone"] } Example 3 - Location with lines and users: { "id": 123, "lineFields": ["id", "name", "color"], "userFields": ["id", "email", "firstName"] } Example 4 - Full location details: { "id": 123, "basicFields": ["address", "timezone", "country", "smsEnabled"], "lineFields": ["id", "name", "color", "disabled"], "deskFields": ["id", "name", "user"], "userFields": ["id", "email", "firstName", "lastName"] }
Retrieves the services configured for a location. Services are the queues visitors join (e.g. "Returns", "Customer support", "Prescriptions"). REQUIRED: - locationId: The location to read services from. OPTIONAL: - includeArchived: Whether to also return archived services. Defaults to false (only active and disabled services are returned). RETURN VALUE: JSON with the full data for each service: id, name, color, disabled, archived, translations and appointment settings.
Retrieves the SMS rules configured for a location. SMS rules send text notifications to visitors on appointment or ticket events (the rules shown on the location's SMS page). REQUIRED: - locationId: The location to read SMS rules from. RETURN VALUE: JSON with the full data for each rule: name, trigger, message, the lines it applies to, delay/leadTime, translations, plus the read-only updated timestamp and count of messages sent. Rules have no id and are managed as a single list for the location.
Sets the order in which a location's reorderable input fields are shown. REQUIRED: - locationId: The location whose input fields are being reordered. - inputFieldIds: The COMPLETE ordered list of the location's reorderable (custom) input-field ids (UUIDs), first to last. IMPORTANT — which fields to include: The base identity fields (first name, last name, email, phone number) always come first in a fixed order and CANNOT be reordered — do not include them. Include every other (custom) field of the location: any reorderable field you leave out is pushed to the end with undefined ordering. Call get_input_fields first, take all fields except the base ones, and send them back in the order you want. The list must contain exactly the location's reorderable fields — no duplicates, no base fields, no ids from other locations. RETURN VALUE: JSON with the applied order, e.g. { "orderedInputFieldIds": ["...", "..."] }.
Sets the order in which a location's services are shown. REQUIRED: - locationId: The location whose services are being reordered. - serviceIds: The COMPLETE ordered list of the location's service ids, first to last. IMPORTANT — which services to include: The list must contain every service of the location, including archived ones — no duplicates, no unknown ids, none left out. Call get_services with includeArchived: true first to get the full list, then send the ids back in the order you want. RETURN VALUE: JSON with the applied order, e.g. { "orderedServiceIds": [3, 1, 2] }.
Saves the SMS rules for a location. SMS rules send text notifications to visitors on appointment or ticket events (the rules on the location's SMS page). This REPLACES the location's entire set of SMS rules with the list you provide. Any existing rule you do NOT include is DELETED. Always call get_sms_rules first, then send back the full list with your additions/edits applied. Passing an empty list removes all rules. REQUIRED: - locationId: The location whose SMS rules are saved. - rules: The COMPLETE list of rules the location should have. Each rule has: - name (required) - trigger (required): one of APPOINTMENT_CANCELLED_BY_CLERK, APPOINTMENT_CREATED, APPOINTMENT_NOSHOW, APPOINTMENT_REMINDER, APPOINTMENT_RESCHEDULED, TICKET_CREATED, TICKET_CALLED, TICKET_CALLED_DESK, TICKET_SERVED, TICKET_CALLED_SOON - message (required): the SMS body, 1 to 1000 characters - lines (optional): line ids the rule applies to; omit for all lines - leadTime (optional): for APPOINTMENT_REMINDER — how long before the appointment to send. One of THREE_DAYS_BEFORE, TWO_DAYS_BEFORE, ONE_DAY_BEFORE, TWO_HOURS_BEFORE, ONE_HOUR_BEFORE - delay (optional): for TICKET_SERVED — how long after the event to send. One of NONE, ONE_HOUR, DAY - translations (optional): per-language messages, each with a languageCode and message RETURN VALUE: JSON confirming the save, e.g. { "status": "saved", "ruleCount": 3 }.
How do I improve a ChatGPT Plugin's discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are Qminder alternatives on ChatGPT?
As of 2026-09-28, Qminder competes with A4B CMMS, AI Dispatcher by FieldCamp, BlueSuite, Crisphive, D-Tools Cloud, DroneBundle, EquipDash, EZFlow Pro, Field Control, FieldCamp, Fielmo, Fluix, Front Desk, Itcons.app Work Reports, Jobber, Knowify, magicplan, Meistron, Obratec, OpsBack, PracticPro, Presuo, ProjectBase Beta, QuoteCraft AI, Relay Tow, ServiceM8, Sitemate, STACK, Sunwise, Trussi AI in ChatGPT Field Service Management Software, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.