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 |
Branding
The portal displays your organization name, logo, and accent color. Configure these in Settings > Organization. Customers never see the Servelo brand.
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
- In Settings, go to Portal and enter your custom domain (e.g.
support.yourdomain.com) - Add a DNS CNAME record:
support.yourdomain.com → serveloapp.com - Contact your Servelo administrator to issue an SSL certificate for the domain
- Once the cert is issued, the portal is accessible at your custom domain
serveloapp.com/portal/{slug} URL in the meantime.