Client Portal
Managing client portal access and invitations for external stakeholders.
The client portal gives your clients secure, self-service access to their own data within TekToro — without exposing your internal operations.
What Portal Users Can Access
Once onboarded, a client portal user can view:
- Invoices — all invoices issued to their company, with payment status and amounts
- Approved tickets — work items being billed to their company
- Projects — projects associated with their company, including status and progress
- Calendar events — relevant calendar items and milestones
- Dashboard — a summary view with outstanding balance, paid invoices, pending tickets, and active projects
Portal users cannot see other clients' data, internal team information, or HR records.
Inviting Contacts to the Portal
You can invite any client contact to the portal in two ways:
Individual Invitation
From a client's detail view, select a contact and send a portal invitation. The contact receives an email with a link to accept and create their account.
Bulk Invitation
Use the Invite All Clients modal to view and manage portal invitations across all clients at once. This view shows:
- Contacts grouped by client
- Current invitation status for each contact (Not Invited, Invited, Onboarded)
- Actions to invite, resend, or revoke access
Invitation Status Flow
Each contact follows this progression:
- Not Invited — the contact exists in TekToro but has not been invited to the portal.
- Invited — an invitation email has been sent and is awaiting acceptance.
- Onboarded — the contact has accepted the invitation and has active portal access.
Managing Portal Access
- Resend invitation — if an invitation has expired or was missed, resend it to the same contact.
- Revoke pending invitation — cancel an invitation before it is accepted.
- Revoke portal access — remove an onboarded user's access to the portal.
Rate Limiting
To prevent email abuse, invitations are rate-limited:
- Maximum five invitation emails per recipient within a 24-hour period
- A one-minute cooldown between emails to the same recipient
Permissions
Inviting client contacts to the portal requires the clients.invite permission.
Important Notes
- A client cannot be marked as an "internal client" while any of its contacts have active portal access.
- Portal users are automatically assigned the client member type with restricted permissions.
- All portal data access is enforced at the database level, ensuring strict isolation between clients.