Care Workspace
One queue for every channel. Tickets raised from app chat, USSD, SMS, phone, social or
email are all visible and actionable here, alongside the live chat console and the knowledge base.
Available
Open tickets
47
12 unassigned
Breaching SLA
3
act now
Live chats waiting
5
AI deflecting 2
Avg first response
2m 40s
under target
CSAT (7d)
4.6
+0.2
Omnichannel: app chat, USSD *182#, SMS and voice are live now; email and social route
in as the Efashe gateways enable them. The AI chatbot answers tier-1 questions from the knowledge base and
deflects simple chats; anything it cannot resolve escalates to a live agent and, if unresolved, becomes a
ticket with the full transcript attached.
Ticket queue
| Ticket | Subject | Channel | Customer | SLA clock | Assignee | Status |
|---|---|---|---|---|---|---|
| CT-40821 | Escrow not released after delivery | App chat | Aline Uwase | Breached 00:47 | Divine I. | In progress |
| CT-40822 | Cannot confirm order on *182# | USSD *182# | Emmanuel Bizimana | 00:23 left | Unassigned | New |
| CT-40823 | Loan declined, wants reason | Phone | Jean Bosco Niyonzima | 03:58 left | Samuel N. | In progress |
| CT-40824 | Airtime top-up not received | SMS | Grace Umutoni | 00:41 left | Divine I. | Waiting customer |
| CT-40825 | Merchant payout query | Social | Kigali Electronics Ltd | 05:10 left | Josiane U. | New |
| CT-40826 | Statement request for June | Claudine Mukamana | Breached 01:12 | Unassigned | Escalated | |
| CT-40827 | PIN reset help | App chat | Patrick Habimana | 03:22 left | AI chatbot | Auto-resolving |
AU
SLA breached
Aline Uwase
CT-40821 - App chat - typing...
Conversation started 14:02 - handled by AI chatbot
Hi, I confirmed delivery on my order but the money still shows as held.
Aline - 14:02
Order ORD-77213.
Aline - 14:03
Escalated to a live agent at 14:05
Thank you Aline, I can see order ORD-77213. Let me check the escrow release now.
You - 14:06
Suggested knowledge-base article
Matched article: Why is my escrow still held after delivery? Escrow releases when
delivery is confirmed by OTP or on *182#. If the OTP was entered but funds are still held, an agent can
release the escrow manually from Orders and Disputes (ADM-10).
Escrow helpAsk for order number
Delivery OTP
Attention: This chat has breached its 30 minute
first-response SLA. Resolving it will convert the transcript into ticket CT-40821 automatically.
Knowledge base article editor
Powers the AI chatbot
Published (visible to AI chatbot and self-service)
Recent articles
| Article | Views (30d) | AI sync |
|---|---|---|
| Confirm delivery with your OTP or *182# | 3,410 | Synced |
| Reset your wallet PIN | 2,180 | Synced |
| Why was my loan declined? | 1,905 | Sync failed |
Error: "Why was my loan declined?" failed to sync to
the knowledge-base search index (indexing service timeout). The chatbot is serving the previous version.
Retry from the article menu.
Callback scheduler
Book a call back when an agent or the customer is not available now.
Scheduled callbacks
Grace Umutoni
Due soonToday 15:00 - 16:00 - Divine I.
Jean Bosco Niyonzima
BookedTomorrow 09:00 - 10:00 - Samuel N.
Raise a ticket for a customer
An operator can open a ticket on somebody behalf, for instance after a phone call. The origin channel is recorded as phone, not web, so the channel mix stays honest.
Their wallet, orders and loans attach automatically.
The SLA clock starts when the ticket is raised, not when you get to it. That is the point of it: it measures the customer wait, not operator effort.
Care Workspace
Two tickets are close to a first-response breach
TCK-2026-44902 has 11 minutes of its first-response target left. The clock measures how long the customer has been waiting, not how long an operator has had it open, and a breach escalates to a supervisor rather than being written off.
| Ticket | Customer | Topic | First response | Resolution | Assignee |
|---|---|---|---|---|---|
| TCK-2026-44902 | Aline Uwase | Disputed cash-out | 11 minutes | 1d 4h | Unassigned |
| TCK-2026-44888 | Eric Mugisha | Order not delivered | 48 minutes | 1d 18h | d.ingabire |
| TCK-2026-44870 | Simba Supermart | Settlement short | Met, 22m | 3h left | j.mukama |
| TCK-2026-44812 | Josiane Uwimana | Return rejected | Met, 1h 04m | Breached, 4h over | d.ingabire |
| First response target, normal | 4 hours |
| First response target, high | 1 hour |
| First response target, urgent | 15 minutes |
| On a first-response breach | Escalates to a supervisor, recorded against the team |
| On a resolution breach | Escalates and the customer is told it is late |
| What stops a clock | A first response, or a documented wait on the customer. Assigning it does not. |
The breached ticket at the bottom matters more than the two at risk. It is four hours over resolution and still unresolved, and a workspace that sorts only by breach risk would push it out of sight.
Care Workspace
A bot session just handed you a customer
You have everything the bot had. The transcript, the wallet, the open order, the escrow reference and the ticket history came across with the customer, so your first message can be an answer rather than "can you explain the problem again".
What the bot already did
3 minutes 12 secondsCustomer: There is a cash out on my statement I did
not make. RWF 40,000 at some agent.
Bot: I can see that: RWF 40,000 at Agent 4471 on
19 July at 15:04. Did you approve it with a code?
Customer: No. I never went there and I got no code.
Bot: I have frozen your wallet so nothing else can
leave it. Your balance is untouched. This needs a person, so I am bringing one in now.
Context that came with her
| Customer | Aline Uwase, +250 788 123 456, Tier 2 |
| Wallet | RWF 143,850, frozen by the bot |
| Disputed transaction | CSH-2026-880194, RWF 40,000, Agent 4471 |
| Fraud case | FRD-2026-2218, opened automatically |
| Ticket | TCK-2026-44902, opened by the handoff |
| Open loan | LN-2026-8814, RWF 85,400, current |
| Previous tickets | 2, both resolved, neither about fraud |
| What you cannot see | Her PIN, and her national ID in full |
The bot froze the wallet before handing over.
That was the right call and it did not need your approval: a protective freeze at the customer own
request is the lightest, most reversible thing available.
Care Workspace
That status change is not allowed from here
A ticket cannot go from Open straight to Closed. The lifecycle is a state machine, not a dropdown, so a ticket cannot be closed without a resolution recorded. This stops a queue being cleaned up by closing things nobody solved.
| Error returned | 409 INVALID_TRANSITION |
| Ticket | TCK-2026-44902 |
| Current status | Open, assigned to you |
| You attempted | Closed |
| Allowed from Open | In progress, Waiting on customer, Escalated, Merged |
| What Closed needs first | Resolved, with a resolution recorded |
| From | Allowed next | Not allowed | Why |
|---|---|---|---|
| Open | In progress, Waiting on customer, Escalated, Merged | Resolved, Closed | Nothing has been done yet |
| In progress | Waiting on customer, Escalated, Resolved | Closed | Closed follows Resolved, so the resolution is always recorded |
| Waiting on customer | In progress, Resolved, Closed after 7 days of silence | Escalated | Escalating while waiting on the customer is not the customer fault |
| Resolved | Closed, Reopened within 14 days | In progress | A reopen is a distinct event, tracked separately |
| Closed | Reopened within 14 days | Anything else | After 14 days it is a new ticket, linked to the old one |
Waiting on customer is the state most worth having. It stops the resolution clock, so a team is not measured on how fast customers reply, and it makes silence visible rather than looking like operator delay.