Client Portal
Setting up and customising the client-facing portal
The client portal gives your clients a self-service view of their proposals, appointments, invoices, documents, and communications. Instead of fielding phone calls about appointment times or invoice balances, you can point clients to their portal where everything is available on demand.
Enabling the portal
Portal settings are managed at the organisation level. Navigate to Settings > Portal to configure the following feature toggles:
| Setting | Description | Default |
|---|---|---|
| Portal enabled | Master switch to enable or disable the client portal. | On |
| Messaging enabled | Allow clients to send messages to your team through the portal. | On |
| Payments enabled | Allow clients to view and pay invoices online. | On |
| Documents enabled | Show company documents (terms, policies) on the portal. | On |
| Self-booking | Allow clients to book their own appointments through the portal. | Off |
How clients access the portal
Each client receives a unique, secure portal link. There are two ways clients can reach their portal:
Direct link
When you send a proposal, invoice, or appointment confirmation, the email includes a portal link. Clicking the link opens the client's portal view with no additional login required. Links can be revoked or set to expire after a configurable period.
Magic link (email lookup)
Clients can also access the portal by entering their email address on your portal landing page. If the email matches a contact on file, ServiceCortex sends a magic link to that address. For security, the response is always the same whether the email is found or not -- no information is leaked about your client base.
Magic link sessions last for a configurable duration (default: 72 hours). You can adjust this in portal settings.
Portal scopes
Each portal link has scopes that control what data is visible to the client:
| Scope | Content shown |
|---|---|
| Proposals | All proposals for the client, including line items, status, and approval history. |
| Appointments | Upcoming and past appointments with dates, times, assigned crew, and status. |
| Invoices | All invoices with line items, totals, payment status, and online payment option. |
| Photos | Job photos and notes marked as customer-visible. |
| Documents | Company documents attached to the portal (terms and conditions, policies). |
By default, all scopes are enabled. You can restrict scopes per client if needed.
What clients can do
Through the portal, clients can:
- View proposals and approve or decline them with an electronic signature.
- Request changes to proposals with written feedback.
- View appointments including scheduled dates, time windows, and assigned team members.
- Pay invoices online via Stripe (if payments are enabled).
- Send messages to your team and view conversation history.
- Upload files such as photos or documents related to their work.
- View and sign documents such as contracts and terms of service.
- Submit service requests to request new work.
Self-booking
When self-booking is enabled, clients can schedule their own appointments through the portal. You control the experience with these settings:
| Setting | Description | Default |
|---|---|---|
| Lead time (hours) | Minimum hours in advance a client must book. | 24 |
| Max days ahead | How far in the future clients can book. | 30 |
| Max bookings per day | Maximum number of bookings allowed per day. | 5 |
| Auto-confirm | Automatically confirm bookings or require staff approval. | Off |
| Cancellation window | Minimum hours before an appointment that a client can cancel. | 24 |
| Require property | Require the client to select a property when booking. | On |
| Rescheduling | Allow clients to reschedule their own appointments. | On |
You can also restrict which services are available for self-booking by configuring the bookable service list.
Custom domains
By default, your portal is accessible at a URL based on your organisation slug (for example, yourcompany.portal.servicecortex.com). You can configure a custom domain to serve the portal from your own address, such as portal.yourcompany.com.
To set up a custom domain:
- Go to Settings > Domains.
- Enter your desired hostname and select the Portal purpose.
- Add the DNS records shown in the setup instructions to your domain provider.
- Wait for verification to complete. ServiceCortex checks the DNS records and marks the domain as verified once they resolve correctly.
Each domain goes through the following statuses:
| Status | Description |
|---|---|
| Pending | The domain has been added but DNS records have not been verified yet. |
| Verified | DNS records are correct and the domain is active. |
| Failed | Verification failed. Check the failure reason and update your DNS records. |
You can have multiple domains, but only one can be marked as the primary portal domain per organisation.
Portal branding
The portal automatically inherits your organisation's branding:
- Logo -- your organisation's light and dark logo variants are shown in the portal header.
- Brand colour -- buttons and accents use your configured brand colour.
- Company details -- your company name, phone number, email, and website are displayed.
- Social links -- links to your social media profiles are shown in the portal footer.
- Custom CSS -- for advanced customisation, you can inject custom CSS to override portal styles.
You can also configure a welcome message that appears on the portal landing page and add links to your terms of service and privacy policy.
Access control
Portal access is secured through several mechanisms:
- Token-based access -- each portal link contains a unique token. Tokens can be revoked at any time from the client detail view.
- Expiry -- portal links expire after a configurable period. Links are automatically extended when a client has outstanding invoices.
- Magic link authentication -- when enabled, clients must authenticate via email before accessing the portal.
- Domain restrictions -- you can restrict portal access to specific email domains using the allowed domains setting.
- Rate limiting -- all portal endpoints are rate-limited to prevent abuse.
Notifications
When portal activity occurs, your team is notified based on the notification settings:
| Event | Description | Default |
|---|---|---|
| New booking | A client books an appointment through self-booking. | On |
| Cancellation | A client cancels an appointment through the portal. | On |
| New message | A client sends a message through the portal. | On |
What's next
- Set up Stripe to accept online payments through the portal.
- Manage documents that appear on the portal.
- Configure email templates for portal access links and notifications.