Reply and internal notes

Public replies go to the customer; internal notes stay between agents.

Every message on a ticket is one of two kinds:

  • Public reply — sent to the customer (visible in their portal, emailed if email-in is configured).
  • Internal note — visible only to agents. Customers never see it.

The reply form has an Internal note checkbox; the rest of the form is the same.

Writing a public reply

Type into the body. Plain text — basic Markdown is preserved for line breaks but no formatting toolbar today (planned).

When you click Send reply:

  • A TicketReply row is created with is_internal: false.
  • The customer can see it immediately when they refresh the customer portal.
  • If the ticket originated from email-in, we plan to email the customer back — not yet wired.
  • The ticket's updated_at is touched (so it bubbles to the top of "recent" lists).
  • If this is the agent's first public reply on this ticket, first_response_at is stamped — used for SLA tracking later.

Writing an internal note

Tick Internal note before sending. The reply renders with a yellow left-bar in the thread and a "Internal note" label, only visible inside <tenant>.nura24.com/admin/tickets/<ref>.

Use internal notes for:

  • Investigation — what you tried, what you found.
  • Hand-offs@-mention a teammate (see Mentions).
  • Decisions — "Approved $50 refund, processing via Stripe."

The customer-portal view of this ticket filters out internal notes. The full ticket transcript (when converted to/from chat, exported, etc.) also filters them.

The reply flow at a glance

Action Customer sees? first_response_at stamped? Ticket status changes?
Public reply by agent Yes Yes (if first time) Open → In progress
Internal note by agent No No No change
Customer reply (via portal) They wrote it No Open / In progress → reopens if Resolved
System message (auto) Yes No No change

Editing or deleting a reply

You can't. Replies are permanent — both public and internal. If you sent the wrong message, write a follow-up correcting it. The audit trail is the point.

Status transitions on reply

  • First public reply: OpenIn progress. Stamps first_response_at.
  • Customer reply while ticket is Resolved or Closed: reopens to Open, clears resolved_at / closed_at.
  • Internal notes never change status.