Customer Portal
The customer portal gives your clients a branded self-service page to view tickets, submit new requests, upload files, and communicate with your team, without needing a Servelo account.
How customers access the portal
Customers sign in using a magic link sent to their email. There are no passwords.
- Customer visits your portal URL and enters their email address
- Servelo sends a magic link valid for 7 days
- Customer clicks the link and is authenticated instantly
- They see all tickets associated with their email address
Portal URL
By default your portal is at:
https://serveloapp.com/portal/{slug}
You can also set a custom domain (e.g. support.yourdomain.com) in Settings under Portal > Custom Domain. Once set, customers can access the portal at that address directly.
What customers can do
| Action | Notes |
|---|---|
| View their tickets | Status, priority, scheduled date, charge |
| Submit new tickets | Can be disabled per tenant in Settings |
| Reply on tickets | Replies are visible to your team in the ticket |
| Upload photos/files | Up to 10 files per upload, 10MB each |
| View and accept quotes | Quotes can require a signature |
| Close a ticket | Requires a closing message |
| Update their profile | Name, phone, profile photo |
Online booking for new customers
The portal is for clients you already have. To let brand-new customers ask for service, turn on Online Booking under Global Settings โ Portal. It's off until you turn it on.
- The page: a public Request Service form at
serveloapp.com/portal/your-workspace/book(oryour-domain/bookwith a custom portal domain). The settings always show your exact link, even before you turn booking on. Copy it to put on your website, Google Business Profile, or social pages. Your portal's sign-in page also gets a Request Service button. - What customers fill in: name, email, phone, what they need, when works for them, and the service address. You can add a list of services for them to pick from, and an intro line. Prices are never shown.
- What happens next: Servelo opens a ticket titled "Booking request", creates the client (or reuses the existing client with the same email), and emails you, plus a push notification if you have them on. An existing client with Suppress emails unchecked also gets an email receipt; new clients start with it checked, so they don't. Then you confirm a time and schedule the ticket as usual.
- Spam protection: each visitor can send a few requests an hour, and a hidden field catches most bots.
Branding
The portal displays your organization name, logo, and accent color. Configure these in Settings > General. Customers never see the Servelo brand.
If you set a Website URL under General settings, the logo in the portal header becomes a clickable link to that URL (opens in a new tab). This gives visitors a way back to your main site.
Notifications
When a customer submits a ticket or adds a reply via the portal, your admin is notified by email. The notification includes the full message and a Reply-To address so you can respond directly from your inbox. See Email Integration for details.
Custom domain setup
Custom domains are available on Pro and Business plans. The flow is fully self-serve from Settings > Portal > Custom Domain:
- Add a CNAME record at your DNS provider pointing
support.yourdomain.com(or any subdomain you pick) toserveloapp.com - Enter the hostname in Settings and hit Save
- Visit the domain. Servelo provisions a real SSL certificate automatically on first request
serveloapp.com/portal/{slug} throughout.
Portal SLA page
When SLA tracking is enabled under Settings > SLAs, a public Service Level Agreement page is automatically published at:
serveloapp.com/portal/{slug}/sla
The page displays your priority response and resolution targets, your business hours window, and is branded with your logo, org name, and theme color. Customers never see the Servelo brand.
A View our Service Level Agreement link appears at the bottom of your portal landing page whenever SLA is enabled. If SLA is disabled the page returns a 404. No link is shown and nothing is accessible.
your-domain.com/portal/{slug}/sla automatically.