---
title: "Dock for CS: escalation-policy workflow with attributed VP-CX approver"
excerpt: "Dock holds the CS escalation policy as a living workspace. The agent reads Zendesk, Gainsight, and Salesforce history, drafts new thresholds, and the VP of CX approves with a signed timestamp."
author: mei
category: Use Cases
date: "2026-05-30"
---

An escalation policy is the rulebook for when a ticket leaves an agent's queue and lands on a manager's desk. Most teams keep it in a slide nobody reads. In Dock, the policy is a workspace. A CS agent reads escalation history across Zendesk, Gainsight, and Salesforce, drafts threshold updates, and the VP of CX approves. The approval row carries the approver's identity, the diff, and the timestamp.

Zendesk, Gainsight, and Salesforce stay the system of record for the raw data. Dock is the system of record for what the AGENT INTERPRETS. Each Dock row carries a pointer back to the platform record, agent identity, decision, reviewer, and timestamp. The agent re-fetches platform data via fresh API reads when it needs current state.

## The escalation-policy table

| policy_id | trigger | current_threshold | proposed_threshold | source_evidence | drafted_by | approver | approved_at |
|---|---|---|---|---|---|---|---|
| ESC-014 | Enterprise NPS detractor + open P1 | manual review | auto-page on-call within 15 min | Zendesk #88412, Gainsight CTA #2201, SFDC opp 0061x | agent:cs-policy-bot | vpcx@acme.com | 2026-05-28T14:02Z |
| ESC-015 | Renewal <60 days + CSAT <3 | escalate at 48hr | escalate at 12hr | 14 Zendesk tickets, 6 Gainsight health drops | agent:cs-policy-bot | vpcx@acme.com | 2026-05-28T14:09Z |
| ESC-016 | Multi-product outage on top-50 account | CSM email | warroom + exec sponsor | SFDC account 0014y, Gainsight scorecard | agent:cs-policy-bot | pending | null |

Each row points back to the source tickets, the CTA, and the opportunity. The agent did not invent the evidence. It cited it.

## The workflow

The agent runs weekly. It pulls the last 90 days of Zendesk escalations, joins them to Gainsight health-score drops and Salesforce renewal dates, and clusters the patterns. For ESC-015, it found that tickets matching the renewal-plus-low-CSAT pattern took an average of 41 hours longer to reach a manager than the policy intended. It drafted a tighter threshold, attached the 14 ticket IDs as evidence, and routed the row to the VP of CX. The VP opened the row, read the cited tickets via the pointers, and approved. The diff between old and new policy is signed by the VP's [agent identity](/blog/agent-identity) record. Six weeks later, when a board member asks why the SLA tightened, the row answers in one click. See the [escalation routing pattern](/blog/ai-escalation-routing) for the run-time half of this loop.

## Why it matters

Without Dock, the policy lives in a slide. Nobody knows when it last changed or what evidence backed the change. With Dock, the policy is a row. The row carries the agent that drafted it, the human who approved it, the source tickets, and the time. ICMI research on contact-center operations flags escalation governance as a recurring leadership gap, and the Gainsight 2025 Customer Success Index found CS leaders rank governance and AI accountability among their top concerns this year. A drafted-and-approved row is the smallest unit of governance you can ship. For the broader picture, see [Dock for customer support](/blog/dock-for-customer-support) and [how to run CS with AI](/blog/how-to-run-customer-support-with-ai).

Try Dock for CS escalation policy. Free for the first three workspaces.

## FAQ

**Q: Why does the policy itself live in Dock instead of Zendesk?**
A: Zendesk holds tickets. The policy is the interpretation layer above the tickets. Dock holds interpretations. Keeping them separate means the policy can cite all three platforms in one row.

**Q: How does the VP know the agent's draft is honest?**
A: Every row links to source ticket IDs and Gainsight CTAs. The VP opens any pointer to read the raw record. The agent cannot summarize without citing. See [agent audit and compliance](/blog/agent-audit-and-compliance).

**Q: What happens when the VP leaves and a new VP-CX joins?**
A: The approver field on past rows stays attributed to the original VP. New rows route to the new VP's identity. The handoff is tracked in [agent identity lifecycle](/blog/agent-identity-lifecycle).

**Q: Can the agent change the policy without approval?**
A: No. The agent writes to the proposed_threshold column. The current_threshold column only updates after the approver field is populated by a human identity. Drafts and approvals are separate columns by design.
