> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getthread.com/llms.txt
> Use this file to discover all available pages before exploring further.

# UPS Replacement Likelihood

> Bundle a UPS's alert history into one ticket and score how likely the battery or unit needs replacing from 1 to 10, so the title shows which UPS to quote first.

Runs asAgent Build it with Agent Builder: add the action to a Flow, choose Prompt the Agent, and paste this in. It runs unattended on a matching ticket event. You can also run it yourself in Super Magic while you prove it out.Works withThreadRole[Technician](https://docs.getthread.com/start-here/roles/technician), [CSM / Account Manager](https://docs.getthread.com/start-here/roles/csm-account-manager)OutcomeFewer Escalations & Less Noise, Retention & Growth (CSAT/Expansion)Category[Devices & Infrastructure](https://docs.getthread.com/skill-library/devices-and-infrastructure/overview) · [View source ↗](https://github.com/Thread-Magic/super-magic-skills/blob/main/skills/devices-and-infrastructure/ups-replacement-likelihood/SKILL.md)

**When to use:** UPS alerts (low battery, on battery, possible power outage, offline, replace battery) arrive one at a time and get closed one at a time, so nobody notices the unit that has warned you every week for a month. You want the history in one place and a score that separates a dying battery from a storm.

**Run it:** on one ticket · or as a Flow (when a UPS alert ticket is created). It re-scores each time a new alert arrives for the same unit. For working a single alert, see APC UPS Alerts (`vendor-runbooks/apc-ups-alerts`).

## Prompt

```
Bundle this UPS's alerts and score how likely it needs replacing.

1. KEY. Extract the UPS device ID from the title. No ID: use the client plus the UPS model or description as the key.

2. HISTORY. Search open and closed tickets for the same client in the last 30 days that carry the key. Include this ticket.

3. BUNDLE. Two or more: pick the oldest (or most descriptive) as parent and merge the others into it. Do not close anything else. Add an internal note listing every ticket: "#<number> | <title> -> <status> | <created>".

4. SCORE 1 to 10 from all signals across the history:
9 to 10, replace now: a replace-battery alert; repeated low-battery alerts over days or weeks; repeated offline plus low battery; a request to replace already on file.
6 to 8, likely soon: two or more low-battery alerts; low battery plus a power event; offline with no outage context; a hardware error code.
3 to 5, monitor: one low-battery event; a power event only; offline once and recovered.
1 to 2, power event, unit fine: only outage alerts, no battery signals, no recurrence.
When signals conflict, take the higher band and say why.

5. NOTE on the parent: "UPS replacement likelihood: <score>/10. <One sentence naming the signals that drove it>."

6. TITLE. Prefix the parent title with "RL<score> - ". If it already starts with an "RL<n> - " prefix, replace it; never stack prefixes.

Only one ticket: skip bundling, still score and prefix. Never close tickets, order hardware or contact the client. Never invent alerts or dates. Notes are plain text, no markdown or emojis.

As a Flow: your entire reply is the score note.
```


## Related topics

- [Voice AI Pronunciation Guide](https://docs.getthread.com/ai-agents/voice-ai-pronunciation-guide.md)
- [Flows: Automate Thread Routing and Actions in Inbox](https://docs.getthread.com/inbox/flows.md)
- [Set Up a SmileBack CSAT Survey with Snippets](https://docs.getthread.com/inbox/how-to-setup-a-csat-survey.md)
