> ## Documentation Index
> Fetch the complete documentation index at: https://help.pipelime.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Filters, tags and the reply score

> Search, tag and unread filters, hiding automatic replies, and filtering by the AI reply score.

export const Screenshot = ({id, alt, caption, frame = 'browser', url, marks = [], lang = 'en', workspace = 'northwind-outbound'}) => {
  const src = `/images/screenshots/${lang}/${id}.png`;
  const chrome = url ? `app.pipelime.ai/${workspace}${url}` : 'app.pipelime.ai';
  return <figure className={`pl-shot pl-shot--${frame} not-prose`}>
      <div className="pl-shot__frame">
        {frame !== 'bare' && <div className="pl-shot__bar">
            <span className="pl-shot__dots">
              <span className="pl-shot__dot" />
              <span className="pl-shot__dot" />
              <span className="pl-shot__dot" />
            </span>
            <span className="pl-shot__url">{chrome}</span>
          </div>}
        <div className="pl-shot__media">
          <img src={src} alt={alt} loading="lazy" />
          {marks.map(mark => <span key={mark.n} className="pl-shot__mark" style={{
    left: `${mark.x}%`,
    top: `${mark.y}%`
  }} aria-hidden="true">
              {mark.n}
            </span>)}
        </div>
      </div>
      {caption && <figcaption className="pl-shot__caption">{caption}</figcaption>}
    </figure>;
};

Five controls above the Inbox list narrow what you see: a search box, a tag filter, an unread-only switch, a workspace-wide filter for automatic replies, and a minimum on the AI's reply score.

<div className="pl-availability">
  <div className="pl-availability__row">
    <div className="pl-availability__label">Where</div>
    <div className="pl-availability__value"><span className="pl-path">Communication<span className="pl-path__sep">→</span>Inbox</span></div>
  </div>

  <div className="pl-availability__row">
    <div className="pl-availability__label">Your role needs</div>
    <div className="pl-availability__value">Read access to Inbox <code>read-messages</code>. Admin, Member and Viewer have it by default.</div>
  </div>

  <div className="pl-availability__row">
    <div className="pl-availability__label">To create or change</div>
    <div className="pl-availability__value"><code>create-messages</code> to add one, <code>update-messages</code> to change one, on top of the permission above.</div>
  </div>

  <div className="pl-availability__note">If you cannot find this in your sidebar, your workspace may have a custom menu configuration. Contact support and we will check it for you.</div>
</div>

## Before you begin

* Nothing beyond being able to open Inbox, for four of the five controls.
* **No auto-replies** is the exception. It saves on the workspace, not on you, so it needs `update-companies`, the permission required for any change to the workspace record. Admin carries it; Member and Viewer do not, and their click ends in an error toast. See [Roles and permissions](/en/settings-team/roles-and-permissions).

## Steps

<Steps>
  <Step title="Search and filter by tag">
    The search box (1) above the list matches the subject line and nothing
    else, so a word that appears only inside a message body will not find it.
    It searches whichever tab you are on, Inbox or Sent, and it waits for a
    pause in your typing before it runs, so the list is not refetched on every
    letter.

    A tag button (2) sits next to it. It carries no label of its own, just a
    tag icon, until you pick something: then the icon gains a count of how
    many tags you picked, never their names. You can pick more than one, and,
    like search, it filters both the Inbox and the Sent tab.

    <Screenshot id="inbox/filters-and-reply-score--filter-bar" url="/inbox" alt="The Inbox filter row: a search box and a tag icon, with Unread only, No auto-replies, a round reply-score icon and Mark all as read in the row below" caption="Search and the tag filter work on both tabs. Everything in the row below them only shows up on Inbox." marks={[{ n: 1, x: 27, y: 14 }, { n: 2, x: 38, y: 14 }]} />

    Changing either one takes you back to the first page of results.
  </Step>

  <Step title="Show only unread messages">
    **Unread only** sits in the row below, together with **No auto-replies**
    and the reply-score filter, and all three render on the Inbox tab only.
    Switch to Sent and the row disappears; switch back and **Unread only** has
    reset itself to off, even if it was on when you left. The other two come
    back as you left them.

    With **Unread only** on, a list that comes back empty is replaced by
    **You're all caught up** instead of the ordinary empty state, with a
    **Show all messages** button (1) that turns the filter back off.

    <Screenshot id="inbox/filters-and-reply-score--all-caught-up" url="/inbox" alt="Unread only turned on with nothing unread: a checkmark illustration, the heading You're all caught up, and a Show all messages button" caption="Show all messages only clears Unread only. A search term or a tag that is also hiding mail stays on." marks={[{ n: 1, x: 29, y: 73 }]} />
  </Step>

  <Step title="Hide automatic replies for the whole workspace">
    **No auto-replies** hides out-of-office messages, bounces and other
    automatic replies from the Inbox tab. A reply the AI has not classified
    yet stays visible either way, so fresh mail is never hidden while it waits
    to be read.

    It is the one control here that is not personal. Turning it on saves on
    the workspace, so every teammate who opens Inbox sees automatic replies
    hidden too, until someone turns it back off. A toast confirms each change,
    saying automatic replies are now hidden or now visible again. If the save
    fails, a toast says the setting could not be updated, and the toggle stays
    exactly where it was.
  </Step>

  <Step title="Filter by minimum reply score">
    Every received reply the AI has scored carries a reply score out of 100 on
    its row; [Inbox overview](/en/inbox/overview) covers the badge itself. An
    automatic reply is deliberately left unscored, so it never carries a badge
    at all.

    The round thumbs-up icon in the filter row opens a popover titled
    **Filter by reply score**. The slider sets the lowest score a reply needs
    to stay in the list. It runs from 0 to 100 in steps of five, and it opens
    on 60 whenever no filter is set yet. The number above it recolors and
    relabels as you drag, from Poor at the bottom of the range to Excellent at
    the top. A note under the slider (1) names 60
    as the default, the same threshold the dashboard uses for positive
    replies. **Clear** (2) removes the filter and stays disabled while none is
    set. Dragging the slider changes nothing on its own: **Apply** (3) is what
    commits wherever you left it. Both buttons close the popover.

    <Screenshot id="inbox/filters-and-reply-score--score-popover" url="/inbox" alt="The Filter by reply score popover: a large 60 labelled Good, a slider marked at 0, 60 and 100, a note about the default threshold, and Clear and Apply buttons" caption="The slider opens on 60 even before you touch it, so Apply alone reproduces the dashboard's own threshold." marks={[{ n: 1, x: 50, y: 72 }, { n: 2, x: 15, y: 88 }, { n: 3, x: 83, y: 88 }]} />

    Once applied, the icon carries a small badge showing that minimum with a
    ≥ in front of it. Only the Inbox tab is affected, since a message you sent
    never carries a score to filter on.

    Arrive here from the Dashboard's **View in inbox** button, under Positive
    Responses, and the filter is already set to 60 for you. The address bar
    loses the link's parameter the moment it lands, so refreshing the page
    will not reapply it. The two numbers will not match: the card counts
    leads that sent at least one reply scoring 60 or more, over the date
    range the dashboard is set to, while the list counts the replies
    themselves with no date limit.
  </Step>
</Steps>

## What happens next

<Check>
  The list re-fetches with whatever combination of filters is active, and
  jumps back to the first page whenever you change one of them.

  Only **No auto-replies** survives long term: it lives on the workspace, not
  in your browser, so it is exactly as anyone left it next time Inbox opens.
  Search text, the tag you picked, **Unread only** and the reply-score filter
  all reset the next time you open Inbox from scratch. Switching from Inbox to
  Sent and back resets only **Unread only**; your search, tag and reply-score
  filter are still applied when you return.
</Check>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Unread only says You're all caught up, but I know there's unread mail">
    The caught-up message shows whenever **Unread only** is on and the list it
    is filtering is empty, whatever emptied it. A search term or a tag you
    also have picked can be the real reason, not a shortage of unread mail.
    **Show all messages** only turns **Unread only** back off; clear the
    search box or the tag filter separately to see everything.

    **Mark all as read** is the other common cause. It clears every unread
    message in the workspace, not just the ones the filters are showing you.
  </Accordion>

  <Accordion title="The reply-score filter hid replies I wanted to see">
    The filter compares against the score, so a reply with no score at all
    drops out of the list no matter how low you set the slider. Two kinds have
    none: automatic replies, which the AI deliberately leaves unscored, and
    replies that have arrived but have not been evaluated yet. Clear the
    filter to see them again.
  </Accordion>

  <Accordion title="No auto-replies keeps changing, or won't save">
    It is saved to the workspace, not to you, so a teammate elsewhere can flip
    it back the moment after you set it. Check with them before assuming it is
    broken. If it does not move at all when you click it and a toast says the
    setting could not be updated, either the save failed or your role does not
    carry `update-companies`, which Member and Viewer do not.
  </Accordion>
</AccordionGroup>

## Related

<CardGroup cols={2}>
  <Card title="Inbox overview" icon="inbox" href="/en/inbox/overview">
    The Inbox and Sent tabs, the thread list, the reading pane, and the
    reply-score badge these filters key off.
  </Card>

  <Card title="The Dashboard" icon="gauge" href="/en/analytics/dashboard">
    Where Positive Responses and its View in inbox button live, and the same
    threshold this page's default comes from.
  </Card>

  <Card title="Metrics glossary" icon="book-open" href="/en/analytics/metrics-glossary">
    What Positive Responses and the other dashboard KPIs actually count.
  </Card>
</CardGroup>
