Email messages
Every HelpdeskEmail kind the email adapter receives, its fields, and when it is sent.
The email.send(message) adapter receives a HelpdeskEmail, a union of six kinds told apart by kind. The package decides when to send and to whom; the adapter decides how the message looks and how it is delivered. Every message is sent from a job, so it goes out when runJobs runs, and a throw from send retries the job. Related guide: Send email.
kind | To | Sent when |
|---|---|---|
customer-reply | The customer | An agent posts a reply that is not internal |
customer-receipt | The customer | A conversation opens in an inbox with receipt: true |
agent-new | Agents | A conversation opens, or a customer writes on a resolved one |
agent-reminder | Agents | A customer has waited longer than the inbox's reminderAfterHours |
agent-mention | The agents picked | An agent picks teammates with @ in an internal note |
agent-sla | The assignee or the team, and every supervisor | A share of a response, resolution or next-reply target has passed, or the target was missed |
Every kind has these fields:
Prop
Type
customer-reply
Prop
Type
The job is queued two minutes after the reply and skipped when the customer has seen the reply in the widget by then, or the contact has no email address.
Each rating link opens {basePath}/rate/ on the origin of adminUrl, with a signed query string, and is valid for 30 days. The page asks for confirmation with a button, so a mail scanner that follows the link records nothing. A bad rating opens the conversation again. The signing key is generated on first use and stored in the setting table.
customer-receipt
Prop
Type
Receipts are capped at 200 an hour across the whole helpdesk.
agent-new and agent-reminder
Both kinds share one shape.
Prop
Type
Recipients are the agents who have an email address, have not been removed and have opened the agent UI in the last 30 days. When the conversation's assignee is one of them, only the assignee. Notices of new conversations are capped at 200 an hour, counted apart for the host's signed-in users and for everyone else.
An agent-reminder goes once per wait, from runJobs, and not for a conversation that is resolved, snoozed or from a blocked contact.
agent-mention
Prop
Type
Sent to each agent picked in the note who has an email address and has not been removed from the team, except the author.
agent-sla
Prop
Type
Sent to the assignee, or to the whole team when there is none, and to every supervisor, under the same conditions as agent-new. At most one warning and one breach go out per target per conversation; a new tier or priority that moves the deadline into the future starts both over.
Recorded sends
After a send, the conversation's timeline gets an email.sent row in conversation_event with the kind and recipients. A reopened agent-new is recorded as agent-reopened.