Skip to main content
Harly can send candidate email through Resend or SMTP and can route inbound replies back to the correct application through Resend or Postmark webhooks.

Outbound email

Open Settings → Email, choose a provider, configure the sender identity, and send a test message to a controlled mailbox before inviting any candidates.

Resend

  1. Create a Resend account and verify your sending domain.
  2. Create an API key.
  3. Open Settings → Email → Outbound and choose Resend.
  4. Paste the API key and set the sender identity:
  5. Select Send test and confirm delivery.

SMTP

Open Settings → Email → Outbound → SMTP and configure:
Use port 465 for implicit TLS or 587 for STARTTLS. Never test with a real candidate address until the sender domain passes authentication.

Inbound replies

Inbound replies route candidate responses back to the application thread automatically. Harly generates a unique reply+token@domain address for each application. Supported providers: Resend and Postmark.

Inbound endpoint

The provider webhook must POST to:
Where {provider} is resend or postmark, and {workspaceId} is the workspace ID shown in Settings → Email → Inbound. Harly verifies the provider signature using the webhook secret you configure in the settings screen.

Setup steps

1

Configure the receiving domain

In Settings → Email → Inbound, enter the receiving hostname — only the hostname, not a URL:
Add the provider’s MX records for this domain. For Resend inbound, follow Resend’s inbound routing guide. For Postmark, create an inbound server and point its MX records at your domain.
2

Register the webhook endpoint

In the provider dashboard, set the inbound webhook destination to:
Or for Postmark:
Include the webhook secret shown in Harly’s inbound email settings.
3

Verify

Send a message to a test candidate from the Harly inbox. Reply to it from an external mailbox. Confirm the reply threads back onto the application within one minute.

Troubleshooting

Next steps

Inbox and email

How the workspace inbox and candidate threads work.

Automations

Send messages automatically on stage changes.