Rupam Gumber
Back to home

Answering the same Slack question only once

ClearFeed's customers run support inside Slack, and the same questions kept coming back. I designed how a support head plugs their docs into GPT, checks the answers, and switches automated replies on.

RoleProduct Design Intern
Team1 PM, 4 developers, 2 data scientists, 1 researcher
Timeline2.5 months, Jan–Sep '23 internship
PlatformWeb

A 30-second primer

Lots of B2B companies, especially in the US, support their customers in shared Slack channels. It's fast and people love it, until there are hundreds of channels and nobody knows which question is open, who owns it, or which ones are about to breach an SLA.

ClearFeed sits on top of Slack and turns those channels into a proper support queue, with a dashboard for response insights.

The problem

Support teams were answering the same questions again and again, by digging through docs and old replies each time.

It slowed every agent down. And after ChatGPT, every support leader was asking some version of this:

“How can these AI systems be more efficient? How can our agents not have to respond to so many user queries at all? And how can we make it easier for agents to resolve problems?”

What we heard

We ran interviews, rewatched old recordings, read what support leaders were writing, and I sat with ClearFeed's own support team to watch how they worked. Interviews were expensive, so we saved them for support heads.

  1. Support teams have been aware of this problem, repeat questions, for years.

  2. On top of their docs, they had invested in FAQs and knowledge bases for customers.

  3. 85% of users prefer asking in Slack instead of searching a support portal.

  4. Keeping those knowledge bases up to date was a constant struggle.

  5. Ironically, Slack channels themselves are one of the best sources of knowledge.

What it adds up to

Knowledge bases existed, but agents rarely used them, so the same answer got rewritten by hand.
A steady stream of repeat questions buried the urgent, unusual ones.
More repeat questions meant more people, which made support expensive to scale.
Replies varied from agent to agent, so customers got an inconsistent experience.

Who I designed for

The Head of Customer Support, the person who sets this up. Think David: 15 years in support, 7 leading a team, measured on SLAs, response times and how stretched his team feels.

His job with our feature came down to three things.

Index

Connect public and private docs to GPT within hours, by pasting URLs or using ready-made connectors.

Test

Ask real questions and check how accurate and relevant the answers are, before any customer sees them.

Activate

Switch GPT answers on for a triage channel, so the easy questions get deflected.

Two halves, two designers

I owned the setup in the web app. Suraj Mahraj, my senior, owned how it shows up in Slack. We met often, since each half depended on the other, and he unblocked me more than once.

Part 01Configuring the data sources and setting them upRupam Gumber
Part 02Seeing it in action on SlackSuraj Mahraj

Sketching first

Coffee, paper, and a lot of versions of how the three steps could sit together in one flow, before anything went into Figma.

Step 1: index

There are dozens of possible sources, so I asked customers directly. ClearFeed can broadcast a message to every customer channel, so I used it as a poll. Public documentation and Confluence came out on top, and became the first release.

Then I sat with the data science team to learn exactly what each source needs to connect, so the forms asked for nothing extra.

Rupam Gumber11:55

Hi, I'm looking for your input on which data source you use most. I'm designing GPT Powered Automated Answers, and the most popular sources will be released first. Options below; reply if you use something else.

  1. Public data sources
  2. Confluence
  3. Zendesk
  4. Freshdesk
  5. Intercom
The poll, sent to every customer channel at once
Source 1: Public docs
  • Name of the source
  • Tags, like version or type
  • One or more URLs
  • One or more excluded URLs
Source 2: Confluence
  • Name of the source
  • Tags, like version or type
  • Space name: index every page, or pick pages
What each source needs, agreed with data science

Iterations

What changed before the final version

Iteration 1

  • Consistent with our other empty states
  • The value wasn't clear

Iteration 2 Shipped

  • Clarity over consistency: an animation shows what it does
  • Reads as an introduction, not an empty state

The final flow

Minimal on purpose: fewer choices meant fewer setup mistakes and a faster first run.

An intro that shows, not tells

The first screen animates what the feature does, so nobody has to read a wall of text to get it.

Pick a source, fill a short form

Clear labels and tooltips where people usually got stuck.

Progress you can see

Indexing takes time, so live status keeps expectations right and builds trust.

Status at a glance

Colour-coded indexing, failed and indexed states across every source.

Adding a public docs source
Adding Confluence, with spaces and pages to pick
Every source and its status at a glance
Eight key screens, twelve new components

Step 2: test

Support heads wanted to double-check that their docs were really indexed before trusting the bot. I borrowed the pattern from simple ask-and-answer web apps, mapped the information it needed, and showed both the generated answer and the search results behind it.

Step 3: activate

Pricing was set per generated answer, so answering everything could get expensive. I added a second mode where an answer is only generated when an agent reacts with an emoji. A single toggle turns it on or off, and teams choose how many answers to generate.

How it shows up in Slack

A customer asks a question and the virtual agent replies from the indexed docs. If the answer misses, the agent taps "No, file a ticket", replies by hand, and AI suggests turning that reply into a new FAQ. Suraj designed this side.

A generated answer in the thread, with its sources
Filing a ticket, and turning a new reply into an FAQ

What changed

96%Task success when setting it up
12%Of queries solved by generated answers
1.6×Faster response time

Measured over two weeks, across two customer buckets. It rolled out to ClearFeed customers bucket by bucket, and teams like CastAI used it to mix their canned responses with official documentation.

Customer testimonial · CastAI

“It's interesting to have a combination of a previous set of canned responses by the support engineering team for customer queries, and the official Kubernetes documentation as input to the large language model to form a hybrid approach and be able to help our customers with automatic response.”

Shravan AshokStaff Technical Program Manager, CastAI

After launch

We collected feedback from each bucket, and three requests stood out.

Exclude URLs

Teams wanted control over what got indexed, so I added include and exclude rules for public docs.

More than one answer

Some wanted several drafts to pick from, so activation settings got a number of responses.

Fully automatic, not yet

A few asked for replies with no human check. We held off: a wrong answer sent to a customer costs more than a slow one, and the model needed more data first.

Before: excluded URLs as a plain list
After: rules like starts with, contains or does not contain
Activation settings, now with the number of responses to generate

Where it went

My internship ended here. The feature kept growing, and it now works across all public docs and many private knowledge sources.

Thanks to

Suraj Mahraj, who designed the Slack side and unblocked me more than once, and Ankit Jain, Lalit Indoria and Joydeep Sen Sarma for the reviews along the way.

Get to know me.

The story behind the work, or my résumé on one page.

Resume

Rupam Gumber's resume, Oct 2026: Founding Designer at Atlabs AI; earlier at Xalts and ClearFeed; IIT Roorkee; Adobe Designathon 2024 first runner-up and Best CSS Site of the Day.

Rupam Gumber Founding designer at Atlabs · replies within a day