# Classify cold email replies in Google Sheets

`=HUNCHPICK(text, options)` reads a reply to a cold email and returns the category it fits: interested, not now, wrong person, unsubscribe, or out of office. A second `=HUNCH(text, question)` formula flags the replies that ask about price, so the ones worth a same-day answer surface first.

Updated 28 September 2026. Source: https://hunchsheet.app/formulas/classify-cold-email-replies-google-sheets

## Reading replies one by one does not scale

A sequence of 2,000 prospects can return 200 replies in a week, and a rep reading each one to decide what happens next spends an hour on something a column can do in two minutes. The categories below are the ones a sales team acts on differently: a call for interested, a suppression-list entry for unsubscribe, nothing at all for out of office.

## Sort replies into a queue

```
=HUNCHPICK(A2:A500, "interested: wants to move forward or learn more|not now: bad timing, no budget, or maybe later|wrong person: says someone else should be contacted|unsubscribe: asks to stop being contacted|out of office: automatic reply, not a real response|other")
```
In Excel: `=HUNCH.PICK(A2:A500, "interested: wants to move forward or learn more|not now: bad timing, no budget, or maybe later|wrong person: says someone else should be contacted|unsubscribe: asks to stop being contacted|out of office: automatic reply, not a real response|other")`

`out of office` is its own option rather than a rule about the word "office", because an autoresponder is a pattern of phrasing, not a single word. `other` catches the replies that are a question about something else entirely, a wrong-address bounce or a reply that does not fit any of the five. Full syntax is on the [HUNCHPICK reference](https://hunchsheet.app/docs/hunchpick).

## Flag pricing questions

```
=HUNCH(A2:A500, "Does this reply ask about price or cost?")
```
In Excel: `=HUNCH.ASK(A2:A500, "Does this reply ask about price or cost?")`

This is a separate yes/no column, not a sixth option on the list above. A reply can be both interested and asking about price, and a pick formula can only return one answer per row. Details are on the [HUNCH reference](https://hunchsheet.app/docs/hunch).

## Real outputs

Nine replies to a cold outreach sequence, exactly as a rep would paste them from an inbox.

| Reply | Category | Asks about pricing? |
| --- | --- | --- |
| This looks interesting, can we set up a call next week? | interested | 0.02 |
| Not the right person for this, try our head of ops, jane@company.com | wrong person | 0.01 |
| Please remove me from this list. | unsubscribe | 0.01 |
| I am out of the office until the 14th, will follow up after. | out of office | 0.01 |
| We already use a competitor and are happy with it. | not now | 0.03 |
| What is the pricing for 50 seats? | interested | 0.95 |
| no | other | 0.02 |
| Thanks for reaching out, circle back in Q2, budget is frozen right now. | not now | 0.04 |
| Can you send a case study for a company our size, and what does it run at that size? | interested | 0.91 |

"We already use a competitor and are happy with it" lands on not now rather than a harder rejection, because the option list has no separate lost-to-competitor bucket; if that distinction changes what a rep does next, split it out as its own option. The one-word reply, "no", lands in other at 0.02 on the pricing flag, which is the model saying a single word gives it nothing more specific to work with, not a wrong answer.

## Mixed signals

Six replies where interest and timing, or interest and cost, show up in the same sentence.

| Reply | Category | Asks about pricing? |
| --- | --- | --- |
| Interesting, but timing is bad, check back in Q3. | not now | 0.02 |
| Thank you for your email. I am currently out of the office with limited access until Monday. | out of office | 0.01 |
| Forwarded to our IT team, they will reach out if this is relevant. | wrong person | 0.01 |
| Stop emailing me, this is the third time. | unsubscribe | 0.01 |
| Maybe, what is the catch, is this actually free or is there a cost later? | interested | 0.98 |
| Interested, loop in our CFO please, she owns the budget and will ask about cost. | interested | 0.53 |

The pricing flag earns its place as a separate column on the last row: "Interested, loop in our CFO please, she owns the budget and will ask about cost" scores 0.53, almost exactly the midpoint, because the reply itself does not ask about price, it flags that someone else will, shortly. A pick formula would have to call that yes or no; a probability can sit on the fence exactly where the reply does, and a rep reading 0.53 knows to expect a pricing question on the next call rather than answer one now.

## Build the queue

```
=SORT(FILTER(A2:C500, B2:B500="interested"), 3, FALSE)
```

Interested replies, pricing questions first. Everything marked `unsubscribe` goes to your suppression list in your outreach tool; this column tells you it needs to happen, it does not do it for you.

A second view for the reps working the list: `=FILTER(A2:C500, B2:B500="not now")` pulls the replies worth a calendar reminder in a quarter, separate from the ones that were never going to buy.

> Tip: Keep the category wording identical across every sequence you run. A pivot on category by campaign is only a real comparison if the question behind the column never moved.

## Limits

- The formula reads the reply text only, not the sender's title or company size. Pair the category column with the [lead scoring guide](https://hunchsheet.app/formulas/lead-scoring-google-sheets) if you also want to know whether the person can buy.
- It does not read your full thread history unless you paste it in. A one-line reply like "no" gives the model little to work with, and the category leans toward a best guess rather than a confident read.
- Marking a reply unsubscribe is a signal, not a compliance action. Update your suppression list in your outreach tool yourself.
- It does not know which sequence or step sent the original email. Keep that in its own column from your outreach tool if you want to compare reply categories across campaigns.

Copy [the template](https://hunchsheet.app/template) to try both formulas on your own reply export. The [support ticket triage guide](https://hunchsheet.app/formulas/categorize-support-tickets-spreadsheet) covers the same multi-column pattern on a different kind of inbox.

## Questions

### Does this work with exports from Outreach, Apollo, Smartlead, or Instantly?

Yes. Any export with the reply text in a column works. Paste the column in, point the formula at it.

### How does it tell a real reply from an autoresponder?

It reads the wording. Phrases like "currently out of the office" or "limited access until" read as automatic. If your outreach tool already separates autoreplies, keep that filter and run this formula on what is left.

### Can one reply be both interested and asking about pricing?

Yes, and that is exactly why pricing is its own yes or no column instead of a seventh option on the pick list. A pick formula returns one category; a yes/no formula can sit alongside it.

### What does it do with a one-word reply like "no"?

It still returns an answer, usually not now or other, but a single word gives the model little to work with and the read sits closer to a guess. That is expected, not a broken formula.

### Should unsubscribe replies be deleted from the sheet?

No. Keep the row so you have a record of the request and when it came in, and update your outreach tool's suppression list separately so the address is not contacted again.

