Contained, not resolved.
Voice AI

Contained Isn't Done: Why Voice AI Needs a Unit of Work

5 Minutes

Every voice AI pitch in self storage leads with a containment rate: the share of calls the AI handled without a person. The higher the number, the better the product looks.

‍

On its own, that number is not honest. It counts a call as a win the moment it ends without staff. It does not check whether the tenant got through the gate, paid the balance or had the move-out processed. A high containment rate can sit on top of calls that left every one of those problems open.

‍

Key Terms

  • Containment: The share of calls that ended without reaching a person. It measures where the call ended, not whether the problem got solved.‍
  • Resolution: The thing the tenant called about is done. The gate opened, the payment posted, the account closed. You confirm it outside the phone system.‍
  • Unit of work: One tenant request, with an owner, a defined done state, and proof it's done. This is what you should be counting.

swivl's own Q1 2026 report led with containment. In State of Voice AI in Self Storage, Issue 02, CEO Mason Levy named the problem:

"'Containment,' the share of calls handled without a person, is the number this industry quotes, us included. It tells you a call was picked up. It does not tell you whether the tenant's problem got solved."
"Treating those as the same thing is how an industry over-reports progress it has not made."

‍

A High Containment Rate Is Easy to Earn

‍

Containment counts one event: the call ended without reaching a person. It does not care how. The tenant who got the answer counts. The tenant who gave up counts. The tenant who hung up and called back counts twice.

‍

So the number rises for reasons that have nothing to do with service. Make the transfer harder to reach and containment goes up. Let the AI end calls it could not finish and containment goes up.

‍

Resolution asks a different question: is the thing the tenant called about now done? That answer does not live in the phone system. It lives in the gate log, the payment ledger and the FMS.

‍

Operators see the gap too. One multi-site operator told us they don't count a call handed to a person as contained, and that the definitions vendors used didn't match their own. When the buyer and the vendor define the same word differently, the number stops meaning anything.

‍

Three Calls, Counted Two Ways

Five calls counted as contained across gate code, past due and move-out; zero problems confirmed resolved.

‍

The Gate Code Call

A tenant stands at the keypad after hours and calls. The AI verifies the tenant, gives the code, and the call ends in under a minute. Contained.

‍

Now say the account is past due and gate access is locked. A code alone won't open the gate. swivl checks for lockout and delinquency before it gives out a code. It tells the tenant why the code won't work and offers to take the payment right there. Once the balance posts, the tenant gets the code and goes in.

‍

Same call, two possible endings. The tenant pays and gets through the gate: resolved. The tenant hangs up before paying: contained, not resolved. What decides it is whether the tenant finished the action, not whether the AI answered.

‍

The Past-Due Call

The AI reaches a tenant with an overdue balance and sends a payment link by text. No person involved. Contained.

‍

The payment is a separate event. Issue 02 split its collections results into two lists for this reason: "What got offered" and "What got completed." In the report's words: "An offer sent is not a job finished." A link sent is activity. A payment posted or a payment plan set up is the outcome.

‍

The Move-Out Request

A tenant calls to say they are moving out at the end of the month. The AI takes the details, confirms the date, and the call ends. Contained.

‍

The move-out is not done until someone checks the unit and closes the account in the FMS. If the request sits in an inbox nobody owns, next month's rent posts anyway. The tenant calls back to ask why. That call can count as contained too.

‍

Add it up. Every one of these calls counts as contained. The only ones that count as outcomes are the ones where the work actually got finished.

‍

What a Finished Piece of Work Looks Like

‍

Self storage doesn't have a standard for finished work. Every operator and every vendor counts it differently. It should be counted the same way everywhere, starting with a unit of work.

‍

A unit of work has four parts:

  • The request. What the tenant needed: get through the gate, pay the balance, move out.
  • The owner. Who's responsible for finishing it: the AI, or a named person on your team.
  • The done state. What finished looks like for that request, decided ahead of time.
  • The proof. Where you can see it's done: the gate log, the payment ledger, the FMS, a closed ticket.

If any of the four is missing, nobody measured the work. They assumed it got done.

‍

The call is just how the work arrives. The unit of work is what you measure.

‍

Ticketing Separates Handled From Finished

‍

Mason's section names the first fix:

"Ticketing was the first real step toward fixing that, because it separates handled from finished."

A ticket turns "this needs a person" into work with an owner, a location and a due date, with the conversation that created it still attached. The move-out request gets somewhere to live after the call ends. It also gets a second clock. The call ends in a minute. The ticket stays open until someone closes it.

‍

Some vendors count a ticket created as a resolution. That's activity. A ticket nobody owns is the same unowned inbox with a new name. In swivl, every ticket is automatically assigned to an owner, with a resolution timeframe and notifications to keep it moving. Every time someone on your team logs in, they see the work waiting on them. The ticket stays in front of them until someone closes it.

‍

In swivl, these pieces are live today:

  • Tickets assigned to an owner automatically, with a location, a resolution timeframe and the originating conversation attached.
  • Pending work at every login. Each team member sees the tickets waiting on them as soon as they sign in.
  • Ticket emails by group. In Escalation & Ticketing, each group (Sales, Service, Retention and so on) sends ticket emails to the location's email address, a district manager, custom addresses, or any mix. Each email has a "View ticket" button that opens the ticket with no login.
  • A summary note in the FMS. When a conversation ends, swivl writes a note to the tenant's FMS account with the channel, what they needed and the outcome. Anyone who opens the account sees how the last conversation ended.
  • Escalation that earns the handoff. Many tenants ask for a person out of habit, not because the AI can't help. swivl restates what it can do and asks for a shot. More often than not, that's enough to get the question answered. If the tenant still wants a person, or the situation calls for it, they go straight to your team. No loops. Operators adjust this per group.

For the handoff itself, see designing an escalation path that does not lose the caller and what agents need on screen before they say hello.

‍

What to Measure Instead

Stages of a tenant request: entered, contained, then completed by AI or ticketed to your team, ending completed by your team or still open.

Every request ends up in one of these. A containment rate only tells you about one of them.

‍

Track containment. Do not report it alone. Put these next to it:

  • Name the resolved state for your top call types. Gate code: tenant through the gate. Past due: payment posted or plan set up. Move-out: account closed in the FMS. If it has no name, it cannot be counted.
  • Count repeat contacts. The same tenant on the same issue within a few days means the first call was contained, not resolved.
  • Split offered from completed. Payment links sent and payments posted are two numbers. Report both.
  • Read escalation rate next to ticket volume and time to close. Issue 02's advice: "Stop reading escalation rate alone. Pair it with ticket volume and time to close."
  • Watch tickets past their due date. An open ticket past due is a call that was handled and not finished.
  • Sort escalations by reason. Deliberate escalations are a service level. Accidental ones are a backlog. Intent shapes this too.
  • Spot-check the outcome line. Pull ten FMS summary notes a week and check whether the outcome says done or still pending.

‍

The Standard to Hold Every Vendor To

‍

Mason's section closes with where swivl's reporting goes next:

"What we are building toward is a sharper standard: not just what percent we contained, but what percent we completed, and what percent still needed a person to close out. That is the next issue. We will show our work."

Until that issue ships, one question cuts through any containment rate, swivl's included: of the calls the AI handled, how many ended with the work done?

‍

Read the full report: State of Voice AI in Self Storage, Issue 02

See how swivl turns conversations into work somebody owns: Book a demo

Similar posts

Get started today

See how we can help automate your business today.
Book a demo!