Skip to main content

Armstrong SAGE Integration

The Armstrong SAGE integration automatically pushes steam trap condition changes from Shoplogix into the SAGE (Steam Asset Global Exchange) predictive maintenance platform. When a trap state changes, Shoplogix translates it into a SAGE condition update and delivers it over AMQP — no manual hand-off required.

How It Works

  1. The platform detects a steam trap state change (e.g., a trap transitions from Good to Blowthrough)
  2. The platform emits a signed webhook event to the PartnerConnection service
  3. PartnerConnection transforms the Shoplogix trap state into a SAGE condition value and publishes it as an AMQP message to SAGE
  4. SAGE updates the trap record with the new condition

The underlying webhook delivery uses HMAC-SHA256 signing per draft-cavage-http-signatures-12. See Webhooks for details on the delivery mechanism.

SAGE Condition Mapping

IMS trap states are translated to SAGE condition values before delivery.

Shoplogix Trap StateSAGE Condition
GoodGOOD
BlowthroughBLOW_THRU
Intermittent Blowthrough - LightLEAKING
Intermittent Blowthrough - MediumLEAKING
Intermittent Blowthrough - HeavyBLOW_THRU
Leaking ByLEAKING
Unexpected Cold ConditionCOLD
note

If a trap state change is received that does not match a known condition, the order is marked failed and is available for review. Contact your account team if you observe unexpected failures.

Prerequisites

  • An active Armstrong SAGE account with API access
  • SAGE integration credentials (AMQP connection details and API credentials) configured by your Shoplogix account team — this is handled at the platform level and is not self-service
  • Steam traps in Shoplogix IMS linked to their corresponding SAGE asset identifiers via the integrationInfo field

Linking a Trap to a SAGE Asset

Each trap must be associated with its SAGE asset ID before state changes will be forwarded.

In Shoplogix IMS:

  1. Open the trap detail page
  2. Select Edit
  3. Fill in the Integration Asset ID and Integration Name fields
  4. Save

Via the REST API:

Include the integrationInfo object in the body of a PUT /v2020-07/steamtraps/{id} request:

{
"integrationInfo": {
"assetId": "5d30ca383794b500144a2576",
"name": "Trap 142 - Building C"
}
}

Traps without a populated integrationInfo.assetId are silently skipped — no SAGE update is attempted.

Verifying Delivery

The PartnerConnection service tracks each work order through its lifecycle.

StatusMeaning
PendingWork order submitted; queued for delivery to SAGE
CompleteSAGE confirmed receipt; condition updated in their system
FailedDelivery to SAGE failed; captured for review

Failed orders can be retrieved via the PartnerConnection API. Contact your Shoplogix account team if you suspect missed updates or observe a pattern of failures.