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
- The platform detects a steam trap state change (e.g., a trap transitions from Good to Blowthrough)
- The platform emits a signed webhook event to the PartnerConnection service
- PartnerConnection transforms the Shoplogix trap state into a SAGE condition value and publishes it as an AMQP message to SAGE
- 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 State | SAGE Condition |
|---|---|
| Good | GOOD |
| Blowthrough | BLOW_THRU |
| Intermittent Blowthrough - Light | LEAKING |
| Intermittent Blowthrough - Medium | LEAKING |
| Intermittent Blowthrough - Heavy | BLOW_THRU |
| Leaking By | LEAKING |
| Unexpected Cold Condition | COLD |
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
integrationInfofield
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:
- Open the trap detail page
- Select Edit
- Fill in the Integration Asset ID and Integration Name fields
- 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.
| Status | Meaning |
|---|---|
| Pending | Work order submitted; queued for delivery to SAGE |
| Complete | SAGE confirmed receipt; condition updated in their system |
| Failed | Delivery 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.
Related
- Partner Integrations Overview
- Webhooks — underlying event delivery mechanism
- Webhook Integration Guide — building custom integrations on the same event stream