# Playbook: Service recovery in 60 seconds
## For your operation — Juan Pablo Zuluaga

> This is the 1-page companion to the Lab demo at [juanzuluaga.com/#lab](https://juanzuluaga.com/#lab). The playbook describes the flow, the decision rules and how to port it to your real reporting channel.

### 1. The pipeline

```
intake → classify → priority → route → {auto-ack | escalate} → ticket → notify → done
```

Every step has an owner of the data:
- **intake**: webhook (not manual email).
- **classify**: keyword rules (no LLM in v1).
- **priority**: incident type + severity (not gut feel).
- **route**: escalation rules to a human (not a committee).
- **ticket**: traceable folio (`JPZ-2026-####`).
- **notify**: customer's preferred channel.
- **done**: closed state, not open.

### 2. Decision rules (what you don't automate escalates to a human)

1. If the failure is **format or unknown SKU** → escalate to a human with the ticket draft already prepared.
2. If the failure is **address or lead time** → block the ERP and notify the customer with the exact detail.
3. If severity is **critical** → alert the owner personally on WhatsApp — always.
4. If everything validates → the customer gets an immediate ack with a folio.

### 3. The metric that matters

You don't measure "ticket closed". You measure:
- **Ack time** (intake → notify). The customer's emotional window.
- **Exception rate** (when it escalates with context). If above 15%, the rules are off — review them before moving forward.
- **Repeat purchase after incident** (the business signal).

### 4. How to port it into your operation in a week

1. Pick the highest-volume channel (email or WhatsApp, not both).
2. Stand up the intake webhook in n8n (1 day).
3. Build the keyword classifier (2 days).
4. Connect your real ticket system (NocoDB/Zendesk/Helpscout, 2 days).
5. Start with a single incident type (delayed order is most revealing), add others after two weeks.

### 5. Anti-abuse

- Honeypot on the intake form.
- Rate limit per IP (3/min on this site).
- OTP if the channel notifies an external contact (verify email/WhatsApp ownership).
- Explicit consent on the form node.

### 6. What this flow ISN'T

- It doesn't replace the final human decision. It makes it faster and with context.
- It isn't a chatbot. It's an ops workflow with a folio.
- It doesn't solve 100%. The 5% that breaks the rule is handed to a human with the ticket already prepared.

---

Want it in your operation with your real reporting channel? Write me at [juanzuluaga91@gmail.com](mailto:juanzuluaga91@gmail.com) and I respond within 1 business day with a scoping brief.