Available subscriptions and their triggers
This page documents all available GraphQL subscriptions, the events that trigger each one, and the variables required to register them as webhooks.
Subscription triggers reference
Quote Request
| Subscription | Triggers on | Does NOT trigger on |
|---|---|---|
rfqCreated | A new RFQ is created | — |
rfqUpdated | Fields of an existing RFQ are edited: route, aircraft, buyer data, PAX count per flight | Creating a new RFQ; changing RFQ status; adding a message |
rfqStatusChanged | RFQ status changes (e.g. accepted, rejected, cancelled) | — |
rfqExternalStatusUpdated | An external provider (e.g. Avinode) sends a status update | — |
messageReceivedForAny | An inbound email is received via the Leon mailbox integration | Adding a message manually through the Leon UI |
messageReceivedForSingle | Same as messageReceivedForAny, filtered to a single RFQ (quoteRequestNid) | Same exclusion as above |
subcharterMessageReceivedForAny | An inbound subcharter message is received | — |
subcharterMessageReceivedForSingle | Same as above, filtered to a single RFQ | — |
quoteCreated | A quote (realization) is created for a given RFQ | — |
quoteUpdated | An existing quote is updated | — |
quoteExternalAircraftStatusUpdated | An external provider updates the status of an aircraft on a quote | — |
Trip
| Subscription | Triggers on | Does NOT trigger on |
|---|---|---|
trip.tripStatusChanged | Commercial trip status changes: Option, Confirmed, Opportunity | Other trip field edits; internal status changes |
trip.tripDoneWithCarbonOffsetItem | A trip is marked as Done and a carbon offset line item is calculated | — |
Flight
| Subscription | Triggers on |
|---|---|
flightCreate | A new flight is created |
flightScheduleChange | Flight schedule changes (departure/arrival time or airport) |
flightCancellation | A flight is cancelled |
flightCrewChanges | Crew assignments on a flight change |
flightChecklistChanged | Any checklist item on a flight is modified (fires for all checklist groups; payload includes the checklist definition ID) |
flightOpsChecklistItemChanged | An Ops group checklist item changes (fires in addition to flightChecklistChanged) |
flightSalesChecklistItemChanged | A Sales group checklist item changes (fires in addition to flightChecklistChanged) |
flightPassengerListChanged | The passenger list on a flight is updated |
flightWatchCreated | A new flight watch entry is created |
flightWatchChanged | An existing flight watch entry is updated |
Duty
| Subscription | Triggers on |
|---|---|
duty.create | One or more duty records are created |
duty.update | One or more duty records are updated |
duty.delete | One or more duty records are deleted |
Integration — Empty Leg
| Subscription | Triggers on |
|---|---|
integration.emptyLeg.integrationEmptyLegNew | A new empty leg offer becomes available |
integration.emptyLeg.integrationEmptyLegChanged | An existing empty leg offer is updated |
Integration — Flight Support
| Subscription | Triggers on |
|---|---|
integration.flightSupport.flightSupportNewMessage | A new message is sent in a Flight Support request |
integration.flightSupport.flightSupportFlightScheduleChanged | A flight's schedule or aircraft type changes (notifies the Flight Support provider) |
integration.flightSupport.flightSupportFlightCrewChanged | A flight's crew assignment changes (notifies the Flight Support provider) |
integration.flightSupport.flightSupportFlightPassengerListChanged | A flight's passenger list changes (notifies the Flight Support provider) |
integration.flightSupport.flightSupportServicesChanged | Services are added, modified, or removed in a Flight Support request — including request creation (first service added) and cancellation (last service removed) |
Multi-Leg
| Subscription | Triggers on |
|---|---|
multiLeg.getUnreadMessagesCount | The count of unread MultiLeg messages on upcoming flights changes |
Sales
| Subscription | Triggers on |
|---|---|
sales.findAircraft | Aircraft search results are ready (scoped to a search token) |
sales.mySkyQuotesCalculation | A MySkyQuotes price calculation completes |
sales.mySkyQuotesIntegration | The MySkyQuotes integration is connected or disconnected |
sales.docusignConnected | A DocuSign account is successfully connected (scoped to loginNid) |
Travel Documents
| Subscription | Triggers on |
|---|---|
travelDocuments.travelDocumentsRecognition | Travel document OCR recognition completes (scoped to a recognition token) |
Crew Panel
These subscriptions are primarily used for real-time UI feedback during long-running background calculations.
| Subscription | Triggers on |
|---|---|
crewPanel.publishProgress | Crew Panel publish in progress — fires approximately every 5% of completion |
crewPanel.safteFastCalculationResult | A SAFTE-FAST fatigue analysis calculation completes |
crewPanel.safteFastPublishProgress | Progress update during a SAFTE-FAST calculation |
crewPanel.planner.pairingCalculation | A crew pairing generation calculation updates or completes |
Fleet
| Subscription | Triggers on |
|---|---|
fleet.planner.calculation | A Fleet Auto Planner calculation step occurs (initiated by FleetAutoPlannerInitCalculation or SchedFleetAutoPlannerModifyFlights mutations) |
WingmanChat
| Subscription | Triggers on |
|---|---|
wingmanChat.streamResponse | Each streaming chunk of a WingmanChat AI response (scoped to operatorId and threadId) |