> ## 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.

# Reply, forward and generate AI replies

> Answer a thread yourself or with AI, forward the whole conversation, translate it, and open the files a message carries.

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>;
};

Open a thread in Inbox and you can answer it yourself or with AI, forward the whole conversation, translate it, and open the files it carries.

<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

* At least one connected email account. If the workspace has none, choosing **Reply** opens a prompt to add one instead of the compose window.
* A lead on the thread. The compose window sends against the lead the message belongs to.

## Steps

<Steps>
  <Step title="Reply: write it yourself, or let AI draft it">
    Open a thread and choose **Reply**, at the top right of the reading pane.
    Without permission to send messages the button stays where it is but is
    greyed out; hovering it explains why.

    The compose window that opens is the same one the inbox compose button
    uses. It arrives addressed to the other side of the thread, with the
    original subject unchanged (nothing is prefixed to it), and anything the
    original message had in CC carried across. The body starts empty, and the
    message you are answering is quoted underneath the editor. That quote is
    there for you to read: only what you type in the editor is sent.

    <Screenshot id="inbox/reply-forward-and-ai-replies--reply-editor" url="/inbox" alt="The compose window open over the inbox, addressed to the lead with the original subject filled in, an empty body, and an Ask AI button at the bottom left" caption="The original message sits under the editor for reference; it is not part of what you send." marks={[{ n: 1, x: 13, y: 88 }]} />

    To have the AI write it, choose **Ask AI** (1), then **Get AI Suggestion**
    for a straight draft, or **Custom Instructions** to say what the reply
    should do and choose **Get Suggestion**. Either way it reads the whole
    thread, your workspace's company name and description and what the app
    knows about the lead, and writes into the body, replacing anything
    already there. It leaves a subject that is already filled alone.
    **Ask AI** stays inert until the window has both a lead and an account to
    send from, and reads **Generating...** while it works.

    Edit whatever comes back, then choose **Send**. It goes out from the
    account in **From**, which starts on the account the thread is already on.
  </Step>

  <Step title="Forward the whole thread">
    Choose the forward icon in the same toolbar. Its tooltip reads "Forward
    thread". Unlike Reply, it is absent rather than inert when you cannot send
    messages.

    <Screenshot id="inbox/reply-forward-and-ai-replies--forward-modal" url="/inbox" alt="The Forward Email Thread dialog with an account already selected under Forward from, an address field, and a team-member search below it" caption="Forward from starts on the account the thread is already on." marks={[{ n: 1, x: 50, y: 30 }]} />

    Pick which connected account to send from under **Forward from** (1), type
    an address under Send to or pick a team member from the list below it, then
    choose Forward.

    It forwards the conversation, not the one message you had open: every
    message in the thread, newest first, each older one nested inside the one
    above it. The subject is the subject the thread started on, with any
    existing Re: or Fwd: stripped and a single "Fwd:" put in front.

    Files from every message in the thread ride along, except any that are over
    the attachment size limit or that are no longer in storage. Those are left
    out silently, and the forward still goes.
  </Step>

  <Step title="Translate a thread you can't read">
    Choose the translate icon (tooltip "Translate thread") and pick a
    language from the list.

    <Screenshot id="inbox/reply-forward-and-ai-replies--translated" url="/inbox" alt="A translated thread with a banner reading Translated to Spanish under the header, and a View original link next to it" caption="Each message swaps to its own translation as it lands, so you don't wait for the slowest one." marks={[{ n: 1, x: 52, y: 18 }]} />

    Every message goes off for translation at once, and each swaps in place the
    moment its own translation arrives. An expanded message marks the wait with
    **Translating…** over a dimmed body; a collapsed one shows a small spinner
    next to its preview line. Once the last one lands, a banner (1) names the
    language you are reading and offers View original.

    While a translation is showing, the translate icon does the same thing as
    View original: it puts the thread back. To translate again, or into another
    language, choose it once to go back and once more to reopen the list.

    Translating changes only what you are reading. A reply still starts from
    the message as it arrived.
  </Step>

  <Step title="Open what's attached">
    Every message in a thread starts expanded, so a message carrying files
    already shows them at the foot of it: a count, then one chip per file with
    the file name, an icon for its type and its size. Choose a chip to open
    that file in a new tab. Past the first few, the rest fold into a count that
    is not itself clickable.

    Collapse a message and its files reduce to a paperclip in the collapsed
    row, with a number beside it when there is more than one.
  </Step>
</Steps>

## What happens next

<Check>
  The compose window closes and a notice confirms the email is queued for
  sending. The reply appears on the **Sent** tab carrying a **Pending** chip,
  which clears on its own once the account has sent it.

  A forward confirms one of two things and then closes on its own: that the
  thread was forwarded, or that it is on its way and will be delivered shortly.
  The second happens when the account had to be reconnected first and delivery
  was handed to a background retry.

  A finished translation says so as well. Opening another thread, or choosing
  View original, puts a translated thread back into the language it arrived in.
</Check>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Reply is greyed out, and there is no forward icon">
    Both come from the same missing permission: your role cannot send
    messages. Reply stays visible and inert so the toolbar keeps its shape,
    and hovering it says you don't have permission to do this; forward is
    dropped from the toolbar entirely. Ask a workspace admin to grant it: see
    [Permissions reference](/en/settings-team/permissions-reference) for what
    each role can do.
  </Accordion>

  <Accordion title="Ask AI is inert, or no draft appears">
    It needs both a lead and an account to send from before it will do
    anything, so a thread with no lead attached leaves it disabled. If it spins
    and then leaves the body untouched, the draft could not be used. Nothing
    is written and no error is shown. Choose it again, or write the reply
    yourself.
  </Accordion>

  <Accordion title="One message in the thread didn't translate">
    Each message is translated on its own, so one can fail without affecting
    the rest: a warning tells you some messages could not be translated and
    that message stays in its original language. To retry, choose the translate
    icon once to return to the original, then again to pick the language.
  </Accordion>
</AccordionGroup>

## Related

<CardGroup cols={2}>
  <Card title="Inbox overview" icon="inbox" href="/en/inbox/overview">
    The Inbox and Sent tabs, the thread list and the reading pane.
  </Card>

  <Card title="Compose a new email to a lead" icon="mail" href="/en/inbox/compose-a-new-email">
    The rest of the compose window's fields, for starting a thread from scratch.
  </Card>

  <Card title="Agent instructions" icon="bot" href="/en/ai-agents/agent-instructions">
    How your AI agents handle replies and follow-ups automatically, without you opening the thread at all.
  </Card>
</CardGroup>
