Skip to main content
Integrations can attach structured external information to a ticket, which is then displayed in the Qminder Service View alongside the visitor’s details. This is useful for showing contextual data from CRMs, EHRs, payment systems, or any other external platform — giving service clerks the information they need without switching between tools.
External data is for server-side integrations that display read-only information from external systems. For visitor-provided input fields that are collected during sign-in, see the extra fields in the Tickets overview.

API Endpoint

Both POST and PUT are accepted with identical behavior.

Parameters

Parameters are sent as form-encoded fields (not a JSON body). The data field contains a JSON string, which must be URL-encoded.

Example Request

Response (200 OK):

Data Structure

The data parameter must be a JSON string containing an object with a fields array:
Three categories of fields are supported: message, textual (text, email, phoneNumber), and list. You can mix and combine them freely within the fields array.

Message Fields

Displays a colored alert banner. Use messages to highlight important information that clerks should see immediately. The importance level controls the visual styling: error — red background, for critical alerts:
Error message banner warning — orange background, for important notices:
Warning message banner info — gray background, for general information:
Info message banner

Textual Fields

Displays a key-value row. Three subtypes are available: text for plain text, email for email addresses, and phoneNumber for phone numbers.
Textual fields displayed as key-value rows

List Fields

Displays a titled section with a collection of items. Each item has a required title and optional metadata. List item properties: A list item with all optional properties:
List item showing all optional properties A complete list field with multiple items demonstrates different combinations:
Complete list field with multiple varied items A minimal list with just a title and one item:
Minimal list field

Key Behaviors

  • Upsert semantics: One record per (ticketId, provider) pair. Calling the endpoint again with the same provider replaces the previous data entirely.
  • Multiple providers: A single ticket can have external data from many providers (e.g., both "salesforce" and "epic"). Each appears as a separate section in the Service View.
  • Schema validation: The data JSON is validated server-side. Invalid structures or unknown properties return a 400 error.
  • Real-time updates: After storing, the Service View updates immediately — no page refresh needed.

Reading External Data

External data attached to a ticket can be read back via the GraphQL API using the external field on the Ticket type. The data field returns a JSON scalar — a parsed JSON object matching the structure you originally sent:

Error Responses