> ## Documentation Index
> Fetch the complete documentation index at: https://vytral-dependabot-npm-and-yarn-development-95cc887cce.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Inbox and email

> Configure candidate email, send from a record, triage replies, and work a shared inbox.

Harly keeps candidate email on the record instead of in a personal mailbox.
Every message you send and every reply you receive is written to the shared
mail store, so the whole hiring team can work one thread per candidate.

## Before you send

Set up sending in **Settings → Email** before using the Inbox:

* Under **Outbound**, choose Resend or SMTP, set the sender identity, and send
  a test message.
* Under **Inbound**, choose Resend or Postmark, enter the receiving hostname,
  configure the provider webhook, and verify the generated reply address.
* Under **Reply handling**, choose **Shared mailbox** for a mailbox transport
  or **Threaded replies** for provider-routed candidate replies.

See [email](/integrations/email) for connection and DNS details.

<Info>
  A shared mailbox and threaded replies are separate transports. Configure one
  first, then confirm the status strip in **Inbox** says the connection is ready.
</Info>

## Send a message from a candidate record

<Steps>
  <Step title="Open the candidate">
    Go to **Candidates**, open a candidate, and open the email composer from the
    candidate record. If no sender is configured, Harly keeps the compose action
    available from the record but does not offer Inbox replies until email is
    configured.
  </Step>

  <Step title="Compose and send">
    Choose a template if one fits, edit the rich-text body, and attach files if
    needed. Send the message from the workspace sender identity.
  </Step>

  <Step title="Check the thread">
    Harly stores the sent message on the candidate timeline. Replies are linked
    to the application when the inbound provider can match the generated
    `reply+token@domain` address.
  </Step>
</Steps>

Templates keep common messages such as screening invitations, rejections, and
offers consistent. Attachments sent or received remain with the thread.

## Work the Inbox

Open **Inbox** from the left sidebar or go to `/dashboard/inbox`. The command
bar supports search and these filters: **All**, **Needs reply**, **Unread**,
**Assigned to me**, **Archived**, **Replies**, **Unassigned**, **Candidates**,
and **Assigned**.

<Steps>
  <Step title="Filter and search">
    Choose a filter, then search by subject, participant email, candidate name,
    preview text, or linked job/application text.
  </Step>

  <Step title="Open a conversation">
    Select a person or thread. The reader shows the conversation and attachments;
    the actions panel can link or unlink a candidate and application.
  </Step>

  <Step title="Reply or hand off">
    Reply from the thread when a sender is configured. Use **Assign to** to hand
    the conversation to a teammate, then mark it read when the next action is
    clear.
  </Step>

  <Step title="Close or remove noise">
    Use **Archive thread** for completed conversations or **Mark as spam** for
    unwanted mail. Archived and spam threads remain separate from the active
    queue.
  </Step>
</Steps>

Replies sent from the Inbox and from a candidate record share the same mailbox
store, so the timeline does not diverge.

## Troubleshooting

| Symptom                        | Cause                                                    | Fix                                                                                                              |
| ------------------------------ | -------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| Inbox says it is not connected | No shared mailbox or threaded-reply transport is enabled | Open **Settings → Email → Reply handling** and configure one transport                                           |
| Candidate reply is missing     | DNS, webhook, or workspace query parameter is wrong      | Check the [inbound email setup](/integrations/email), provider delivery logs, and the `?ws=<workspace-id>` value |
| Reply button is unavailable    | No sender identity is configured                         | Configure **Settings → Email → Outbound**, then send a test message                                              |
| Message appears twice          | Providers retry deliveries                               | Allow Harly's provider-message deduplication to settle before retrying                                           |

## Next steps

<CardGroup cols={2}>
  <Card title="Email setup" icon="envelope" href="/integrations/email">
    Connect outbound sending and inbound replies.
  </Card>

  <Card title="Automations" icon="workflow" href="/developers/automations">
    Send messages automatically on stage changes.
  </Card>
</CardGroup>
