See it in actionBook a demo →

Portal messages

Triage service requests customers send from their portal — statuses, assignment, AI-suggested replies, internal notes, and one-click job or quote creation.

Updated August 1, 2026

A ticket system built into the customer portal

The Portal messages section (sidebar → Communication → Portal messages) collects every conversation customers start from their portal account or the customer mobile app. Each message arrives as a structured service request — categorized, tied to a customer (and optionally a service location), and tracked through a status lifecycle until you close it. The landing page shows the inbox (with an unread badge) plus "Last 30 days" stats: Messages received, Messages sent, Open requests, and Avg response time (customer message → your reply).

The channel is controlled by the "Service Requests" toggle on the Customer Portal Settings page (Company Settings group). Turn it off and customers no longer see the option to message you from the portal.

What customers submit

When a customer starts a request, the portal asks "What's this about?" and has them pick a category:

  • Water Quality — green water, cloudiness, chemical balance
  • Equipment Issue — pump, filter, heater problems
  • Scheduling — reschedule, skip, or change service
  • Billing Question — invoice or payment questions
  • New Service — request additional services
  • General — other questions or feedback

They then pick a service location (optional, if they have more than one), write a subject (up to 100 characters) and a message, and can attach up to 3 photos or videos, max 25MB each. Submitting notifies your team, and the conversation continues as a thread the customer can reply to from their portal.

The inbox and status lifecycle

The inbox is a master–detail view with a search box — click a thread to open the full conversation. Unread threads are highlighted in the list, and opening one marks it read. The thread header shows the customer's name (linked to their page), a category badge, the subject, and the service location's street address.

  • The Status dropdown moves the request through Open → In Progress → Awaiting Customer → Closed. On the customer's side, "Awaiting Customer" reads as "Awaiting Your Reply".
  • Closing a request replaces the composer with "This request has been closed" and a Reopen request button — reopening sets it back to Open.
  • The Assign dropdown hands the request to a teammate (or back to Unassigned).

Turn a request into a job or quote

The Create Job dropdown in the thread header creates a record straight from the request — Work Order, Maintenance Job, or Quote:

  • Work Order and Maintenance Job open a dialog pre-filled with the request subject as the job name and the customer's first message in the notes — work orders take line items, maintenance jobs take a rate and time at stop.
  • Quote jumps to the quote builder with the subject, location, and first message carried over — see Quotes.
  • Once created, a linked banner appears at the top of the thread — "Linked Job" or "Linked Quote" — that clicks through to the record, and the Create Job button disappears so a request never spawns duplicates.

AI Suggested Response

New requests can arrive with an "AI Suggested Response" banner above the conversation — a drafted reply based on what the customer wrote. Click "Use this response" to drop the draft into the reply composer (edit it before sending), or "Dismiss" to hide it. Nothing is ever sent to the customer until you send it yourself.

Reply vs. Internal Note

  • The composer has two modes: Reply sends a message the customer sees in their portal, and Internal Note (lock icon, amber styling) posts a note only your team can see — it appears in the thread marked "Internal Note" with the author's name.
  • Press Cmd+Enter to send from the keyboard.
  • Replies can carry up to 3 photos or videos (25MB each) via the image button next to the composer; internal notes are text-only.
  • Photos in the thread — the customer's or yours — click to expand full-screen, and videos play inline.

Portal threads on the technician mobile app

The technician app's Comms tab lists portal threads alongside texts and calls. Tapping one opens the conversation with its status pill, where you can read, reply to the customer, or leave an internal note. Changing status, assigning teammates, and creating jobs from a request are web-only — see <a href='/help/texting-and-the-phone-inbox'>the Comms tab overview</a>.

Frequently asked questions

Can customers see internal notes?

No. Internal notes are visible only to your team — they show in the thread with a lock icon and amber styling, and the customer's portal never displays them.

Does the AI ever reply to a customer on its own?

No. The AI Suggested Response banner is only a draft — nothing reaches the customer unless you click "Use this response", edit as needed, and send it yourself.

How do I turn portal messaging off?

Flip the "Service Requests" toggle off on the Customer Portal Settings page (Company Settings group). Customers then no longer see the option to send requests from their portal.

Can a closed request be reopened?

Yes — a closed thread shows a "Reopen request" button in place of the composer, which sets the request back to Open.

Related articles

Make Monday easier than last Monday.

30-day free trial. No credit card required. Cancel anytime.