Skip to main content Enter
ERP.AI Client Collaboration Portal

Client Collaboration Portal

Start now
Pricing Frequently asked questions Get started
Build with Proto

Modules

Portal branding and accessCreate a recognizable client workspace with explicit access to each shared project. Project documentsPublish the right version of a document and see whether its intended recipients have acknowledged it. Client decisionsAsk a named client approver for a decision with the relevant evidence and a traceable outcome.
Project updatesShare a consistent project update with exactly the audience that should receive it. ConversationsKeep feedback attached to the document, request or update the conversation is about. Engagement and auditFind stalled approvals and inactive client accounts while preserving a useful decision trail.

Client Collaboration Portal

Start now
Pricing Frequently asked questions Get started
Build with Proto

Processes

Portal setup to client accessGive clients a branded entry point and the specific project access their work requires. Document publishing to acknowledgmentMake a protected project document available to the intended client audience and record explicit acknowledgment.
Approval request to source updateCapture the named client’s decision and reconcile the result with the originating application. Project update to client follow-upKeep project communications relevant and follow up using permitted engagement evidence.

Client Collaboration Portal

Start now
Pricing Frequently asked questions Get started
Build with Proto

Industries

Consulting teamsKeep advisory deliverables, client feedback and project decisions in an accountable shared space. Creative and digital agenciesGive clients a consistent place to review project work and respond to the people delivering it.
Implementation partnersCoordinate customer checkpoints across implementation projects with explicit access and decision ownership.

Client Collaboration Portal

Start now
Pricing Frequently asked questions Get started
Build with Proto

Reference

Roles and permissionsSeparate portal administration, publishing, client decisions and read-only access. Reports and analyticsReview client engagement, approval turnaround and delivery outcomes. Data modelThe canonical records behind published client collaboration.
IntegrationsConnect protected documents, project context and acknowledged decisions. ImplementationConfigure identity, audiences and decision evidence before inviting clients. Agent referenceUse Proto to configure a scoped client collaboration experience.

Client Collaboration Portal

Start now
Pricing Frequently asked questions Get started
Build with Proto
All systems
Modules
Portal branding and accessCreate a recognizable client workspace with explicit access to each shared project.Project documentsPublish the right version of a document and see whether its intended recipients have acknowledged it.Client decisionsAsk a named client approver for a decision with the relevant evidence and a traceable outcome.Project updatesShare a consistent project update with exactly the audience that should receive it.ConversationsKeep feedback attached to the document, request or update the conversation is about.Engagement and auditFind stalled approvals and inactive client accounts while preserving a useful decision trail.
Processes
Portal setup to client accessGive clients a branded entry point and the specific project access their work requires.Document publishing to acknowledgmentMake a protected project document available to the intended client audience and record explicit acknowledgment.Approval request to source updateCapture the named client’s decision and reconcile the result with the originating application.Project update to client follow-upKeep project communications relevant and follow up using permitted engagement evidence.
Industries
Consulting teamsKeep advisory deliverables, client feedback and project decisions in an accountable shared space.Creative and digital agenciesGive clients a consistent place to review project work and respond to the people delivering it.Implementation partnersCoordinate customer checkpoints across implementation projects with explicit access and decision ownership.
Reference
Roles and permissionsSeparate portal administration, publishing, client decisions and read-only access.Reports and analyticsReview client engagement, approval turnaround and delivery outcomes.Data modelThe canonical records behind published client collaboration.IntegrationsConnect protected documents, project context and acknowledged decisions.ImplementationConfigure identity, audiences and decision evidence before inviting clients.Agent referenceUse Proto to configure a scoped client collaboration experience.
Sign in
Sign in Start now
Client Collaboration Portal Modules
Client decisions3 of 6
  • Portal branding and access1 of 6
  • Project documents2 of 6
  • Client decisions3 of 6
  • Project updates4 of 6
  • Conversations5 of 6
  • Engagement and audit6 of 6

Client decisions

Ask a named client approver for a decision with the relevant evidence and a traceable outcome.

My Pending Approvals (Client)ApprovalRequests
Portal branding and accessProject documentsClient decisionsProject updatesConversationsEngagement and audit
YouPending
  • AR-60815 PP-2331 8 d
  • AR-35993 PP-3968 10 d
  • AR-67848 PP-3449 9 d
  • AR-63277 PP-2477 in 1 d
  • AR-52401 PP-8645 in 11 d
AR-60815
Subject
Pending ar-579
Type
Deliverable
PortalProject
PP-2331
RequestedAt
09 Sep
ExpiresAt
18 Sep
Records in this module
  • ApprovalRequests
  • ApprovalDecisions
  • MagicLinks
  • ClientUsers
  • PortalUserAccess

Approval request routing

When the internal team needs a client decision (sign off a deliverable, accept a change order, approve an invoice, confirm a milestone), Project Manager creates an ApprovalRequests row: picks Type, RequestedFromClient (a named ClientUser with role Approver), RelatedDocument if applicable, SourceTable + SourceRecord for the callback, optional RequiresSignature and ExpiresAt. The approval-request-routing workflow fires via the configured record event on record.created. A configured workflow service creates a MagicLinks row with Purpose: ApprovalAction and ExpiresAt matching the request, notification service delivers the branded approval template with the rendered Subject + Description and the magic-link URL to the confirmation page. The ClientUser clicks the link, the magic-link auth handler redirects to the approval action page, the client picks Approved / Rejected / RequestedChanges, optionally adds Comments and a captured signature blob, and on submit an ApprovalDecisions row writes (Sequence, Decision, Comments, SignatureBlob if captured, FromIP, UserAgent, SignedAt). The request Status flips to the matching enum and DecidedAt stamps.

Decision callback to source

On ApprovalRequests.Status: Pending → Approved or Rejected, the approval-decision-callback workflow fires via the configured record event. A configured workflow service reads SourceTable + SourceRecord, resolves the appropriate integration endpoint (Project Management Tasks for Deliverable / Milestone types, Project Billing Invoices for Invoice type, an org-defined ChangeOrders endpoint for ChangeOrder), and posts the decision back to the source — typically setting a ClientApprovalStatus enum and a ClientApprovalAt date on the source record. notification service notifies the internal RequestedBy Project Manager + the project’s Account Manager with the decision, the comments captured on ApprovalDecisions, and the link back to the request thread. A re-decision (e.g. Approver flips Rejected → Approved after a resubmit) writes a new ApprovalDecisions line with a higher Sequence and stamps the prior line Superseded: true.

Keep the decision trail useful

Require the named approver, active project approval access, an unexpired request and the exact request revision. Keep a local decision distinct from the source application’s callback acknowledgment. PortalSites, PortalProjects and ClientUsers establish separate tenant and project boundaries. Bind each external login to ClientUsers.PrincipalID; shared email addresses and Account text do not grant membership. Effective access is the intersection of active site, active ClientUser, active PortalProject and active PortalUserAccess. The role and grant must both permit the action. Every list, export, attachment, notification and direct API request rechecks this scope; hiding a card is insufficient. MagicLinks.Token stores only a one-way hash of a high-entropy token. Tokens are purpose, recipient, project, target and expiry bound, redeemed atomically once, and revoked on access removal. Opening an email link displays a confirmation page; link previews and GET requests cannot approve a decision. ApprovalAction requires a verified session and an explicit confirmation POST with expected request revision. Tokens and signatures never appear in analytics, application logs or audit exports.

Modules

  • Active PortalSitesActive
    Portal CodeNameAccountSubdomain Slug

    Portal branding and access

    Create a recognizable client workspace with explicit access to each shared project.

  • My Project Documents (Client)Published
    Share NumberDocument NameCategoryPortal Project
    Invoice

    Project documents

    Publish the right version of a document and see whether its intended recipients have acknowledged it.

  • My Pending Approvals (Client)Pending
    Request NumberSubjectTypePortal Project
    Change Order

    Client decisions

    Ask a named client approver for a decision with the relevant evidence and a traceable outcome.

  • Portal Home (Client)
    Occurred AtEntry TypeSubjectRelated Table
    Status Update Published

    Project updates

    Share a consistent project update with exactly the audience that should receive it.

  • Open Comment Threads (Internal)Active
    Posted AtParent TypePortal ProjectAuthor Client User
    Approval Request

    Conversations

    Keep feedback attached to the document, request or update the conversation is about.

  • Client Activity Audit (last 30 days)
    Occurred AtClient UserActivity TypeRelated Table
    Login Failed

    Engagement and audit

    Find stalled approvals and inactive client accounts while preserving a useful decision trail.

Reports

All reports

Approval Cycle Time

Per ApprovalRequest type (Deliverable, ChangeOrder, Invoice, Milestone): mean and p90 hours from RequestedAt to DecidedAt, broken down by PortalProject and RequestedFromClient. Surfaces slow approvers and slow approval categories.

My Pending Approvals (Client)ApprovalRequests
YouPending
  • AR-60815 PP-2331 8 d
  • AR-35993 PP-3968 10 d
  • AR-67848 PP-3449 9 d
  • AR-63277 PP-2477 in 1 d
  • AR-52401 PP-8645 in 11 d
AR-60815
Subject
Pending ar-579
Type
Deliverable
PortalProject
PP-2331
RequestedAt
09 Sep
ExpiresAt
18 Sep

Approvals Decision Audit

Every ApprovalDecision in the period with ApprovalRequest, Type, ClientUser, Decision, SignedAt, FromIP, and the source-record callback status. The auditable decision register.

Decision BoardApprovalRequests
StatusPendingRequestedChangesApprovedRejected
Pending
AR-99189PP-3277
AR-51507PP-5010
RequestedChanges
AR-41600PP-3209
AR-39622PP-1375
Approved
AR-82836PP-8441
Rejected
AR-64279PP-8949

Roles and permissions

Portal Manager

Owns the ClientUsers list and access grants for one or more PortalSites. The day-to-day operator of the external user lifecycle — invitations, role changes, suspensions, access reviews.

Permissions and records
  • CRUD on ClientUsers, PortalUserAccess, PortalProjects (add / hide / archive), and MagicLinks (reissue)
  • Read on PortalSites, BrandThemes, EmailTemplates, DocumentShares, ApprovalRequests, StatusUpdates, Comments, ActivityFeed, ClientActivities for owned PortalSites
  • View ClientUsers.Email and ApprovalDecisions.SignatureBlob
  • Trigger the client-user-invite workflow and issue ad-hoc magic-links
  • MagicLinks
  • ClientUsers
  • PortalUserAccess
  • ApprovalRequests
  • ApprovalDecisions
Publication ScheduleDocumentShares
StatusDraftPublished
12 Sep06 Oct PP-5295 DS-88771, 19 Sep to 24 Sep, Draft PP-1230 DS-74923, 12 Sep to 14 Sep, Published PP-2096 DS-77924, 19 Sep to 26 Sep, Draft PP-4835 DS-87201, 26 Sep to 01 Oct, Published PP-9859 DS-55504, 27 Sep to 06 Oct, Draft PP-1752 DS-46741, 15 Sep to 23 Sep, Published DS-88771DS-74923DS-77924DS-87201DS-55504DS-46741 today · 17 Sep
  • PP-5295: DS-88771, 19 Sep to 24 Sep, Draft
  • PP-1230: DS-74923, 12 Sep to 14 Sep, Published
  • PP-2096: DS-77924, 19 Sep to 26 Sep, Draft
  • PP-4835: DS-87201, 26 Sep to 01 Oct, Published
  • PP-9859: DS-55504, 27 Sep to 06 Oct, Draft
  • PP-1752: DS-46741, 15 Sep to 23 Sep, Published
Project Manager

Internal Project owner. Publishes DocumentShares, ApprovalRequests, and StatusUpdates for own projects; reads ClientUser engagement on own projects.

Permissions and records
  • CRUD on DocumentShares, ApprovalRequests, StatusUpdates, and Comments where the PortalProject.Project is one this user owns or is assigned to in Project Management
  • Read on ClientUsers and ClientActivities scoped to own projects
  • Read on DocumentDownloads and ApprovalDecisions for own projects
  • Cannot CRUD PortalSites, BrandThemes, EmailTemplates, or PortalUserAccess (Admin / Portal Manager own those)
  • ApprovalRequests
  • ClientUsers
  • ApprovalDecisions
  • PortalUserAccess
Publication ScheduleDocumentShares
StatusDraftPublished
12 Sep06 Oct PP-5295 DS-88771, 19 Sep to 24 Sep, Draft PP-1230 DS-74923, 12 Sep to 14 Sep, Published PP-2096 DS-77924, 19 Sep to 26 Sep, Draft PP-4835 DS-87201, 26 Sep to 01 Oct, Published PP-9859 DS-55504, 27 Sep to 06 Oct, Draft PP-1752 DS-46741, 15 Sep to 23 Sep, Published DS-88771DS-74923DS-77924DS-87201DS-55504DS-46741 today · 17 Sep
  • PP-5295: DS-88771, 19 Sep to 24 Sep, Draft
  • PP-1230: DS-74923, 12 Sep to 14 Sep, Published
  • PP-2096: DS-77924, 19 Sep to 26 Sep, Draft
  • PP-4835: DS-87201, 26 Sep to 01 Oct, Published
  • PP-9859: DS-55504, 27 Sep to 06 Oct, Draft
  • PP-1752: DS-46741, 15 Sep to 23 Sep, Published
Account Manager

Customer-success operator. Watches client engagement across an account portfolio, follows up on inactive clients, escalates disengagement risk to Project Managers and Portal Manager.

Permissions and records
  • Read on ClientUsers, ClientActivities, DocumentDownloads, ApprovalRequests, ApprovalDecisions, StatusUpdates, and ActivityFeed for ClientUsers within owned accounts
  • Receive the client-activity-digest weekly email and the inactive-user-reminder cc
  • CRUD on Comments and CommentReplies on own-account threads
  • Cannot modify ClientUsers (Portal Manager owns), cannot publish documents or status updates (Project Manager owns)
  • ApprovalRequests
  • ApprovalDecisions
  • ClientUsers
Recent Document Downloads (Internal)DocumentDownloads
You or DocumentShare.PortalProject IN (own projects); DownloadedAt >= today − 30 days
  1. DD-15583DS-8186413 Sep
  2. DD-67126DS-8100209 Sep
  3. DD-89982DS-8063612 Sep
  4. DD-16291DS-2644923 Aug
  5. DD-71654DS-2881428 Aug
Internal Collaborator

Limited internal contributor — a designer, engineer, analyst, or specialist who needs to participate in client conversations on own projects but not publish artifacts.

Permissions and records
  • Read on DocumentShares, ApprovalRequests, StatusUpdates, and ActivityFeed for own projects
  • CRUD on Comments and CommentReplies on own-project threads
  • Cannot publish DocumentShares, StatusUpdates, or ApprovalRequests (Project Manager owns)
  • Cannot view ClientUsers.Email or ClientActivities
  • ApprovalRequests
  • ClientUsers
Open Comment Threads (Internal)Comments
ActivePostedAt >= today − 14 days
Posted AtParent TypePortal ProjectAuthor Client UserAuthor Internal User
DocumentSharePP-2886GKAIU-378
ApprovalRequestPP-4603LRAIU-370
StatusUpdatePP-1143WZAIU-379
DocumentSharePP-5825NNAIU-639
ApprovalRequestPP-5299UDAIU-496
StatusUpdatePP-1444ECAIU-571
Client User — Approver

External client user with approval authority. Acts on ApprovalRequests routed to self; reads own portal content; participates in comment threads.

Permissions and records
  • Read on own PortalSite's exposed PortalProjects (via PortalUserAccess), DocumentShares, StatusUpdates, ApprovalRequests where RequestedFromClient = self, and ActivityFeed scoped to accessible projects
  • CRUD on ApprovalDecisions for own pending requests, Comments, CommentReplies, and DocumentDownloads (write on download)
  • View MagicLinks issued to self via the inbound URL handler only
  • Cannot view other ClientUsers' email, cannot view ClientActivities, cannot access projects not granted via PortalUserAccess
  • ApprovalRequests
  • PortalUserAccess
  • ApprovalDecisions
  • MagicLinks
  • ClientUsers
Portal Home (Client)ActivityFeed
PortalProject.Project IN (current user's PortalUserAccess)OccurredAt >= today − 90 days
  1. AF-69608 · DocumentPublished af-12423 JunDocumentPublished
  2. AF-73970 · StatusUpdatePublished af-13620 JunStatusUpdatePublished
  3. AF-50740 · ApprovalRequested af-74924 JunApprovalRequested
  4. AF-11708 · ApprovalDecided af-84710 AugApprovalDecided
  5. AF-91127 · CommentPosted af-10904 JulCommentPosted
Client User — Collaborator

External client user with comment + read access. Same scope as Viewer but can post Comments and CommentReplies.

Permissions and records
  • Read on own PortalSite's exposed PortalProjects, DocumentShares, StatusUpdates, ApprovalRequests, and ActivityFeed scoped to accessible projects
  • CRUD on Comments, CommentReplies, and DocumentDownloads (write on download)
  • Cannot decide on ApprovalRequests (Approver only)
  • Cannot view other ClientUsers' email or ClientActivities
  • ApprovalRequests
  • ClientUsers
Portal Home (Client)ActivityFeed
PortalProject.Project IN (current user's PortalUserAccess)OccurredAt >= today − 90 days
  1. AF-69608 · DocumentPublished af-12423 JunDocumentPublished
  2. AF-73970 · StatusUpdatePublished af-13620 JunStatusUpdatePublished
  3. AF-50740 · ApprovalRequested af-74924 JunApprovalRequested
  4. AF-11708 · ApprovalDecided af-84710 AugApprovalDecided
  5. AF-91127 · CommentPosted af-10904 JulCommentPosted
Client User — Viewer

External client user with read-only access. The default tier for client stakeholders who need visibility but no contribution rights.

Permissions and records
  • Read on own PortalSite's exposed PortalProjects, DocumentShares, StatusUpdates, ApprovalRequests, and ActivityFeed scoped to accessible projects
  • Write only on DocumentDownloads (system-recorded on download)
  • Cannot post Comments, cannot decide on ApprovalRequests, cannot view other ClientUsers' email or ClientActivities
  • ApprovalRequests
  • ClientUsers
Portal Home (Client)ActivityFeed
PortalProject.Project IN (current user's PortalUserAccess)OccurredAt >= today − 90 days
  1. AF-69608 · DocumentPublished af-12423 JunDocumentPublished
  2. AF-73970 · StatusUpdatePublished af-13620 JunStatusUpdatePublished
  3. AF-50740 · ApprovalRequested af-74924 JunApprovalRequested
  4. AF-11708 · ApprovalDecided af-84710 AugApprovalDecided
  5. AF-91127 · CommentPosted af-10904 JulCommentPosted

Related processes

Active PortalSitesActive
Portal CodeNameAccountSubdomain Slug

Portal setup to client access

Give clients a branded entry point and the specific project access their work requires.

3 stages · 1 approval

Publication ScheduleDraft
Share NumberDocument NamePortal ProjectPublish Start

Document publishing to acknowledgment

Make a protected project document available to the intended client audience and record explicit acknowledgment.

3 stages · 0 approvals

My Pending Approvals (Client)Pending
Request NumberSubjectTypePortal Project
Change Order

Approval request to source update

Capture the named client’s decision and reconcile the result with the originating application.

3 stages · 1 approval

ERP•AI workspace

Start now Client Collaboration Portal

Create your ERP.AI account and get started with Proto.

Start now Download agent
Previous · module 2 of 6Project documentsNext · module 4 of 6Project updates

Customize Client decisions. With Proto, your desktop AI agent.

Ask Proto to help you customize Client Collaboration Portal.

Customize
Client decisions.
Ask: “Review ApprovalRequests fields.”
ProtoYour desktop AI agent
Download nowFree install · ~1 GB · AI usage extra
macOSWindowsLinux

Bring your first idea to Proto.

Keep this page open while you install Proto. Connect your account and model, then paste this into a new chat.

AI usage is paid separately. You can edit the prompt before copying.

ERP.AI

Business apps and the Proto desktop agent.

  • Business Apps
  • Proto
  • Workflows
  • Headless SaaS
  • Enterprise
  • Pricing
  • Contact
  • Terms of Service
  • Privacy Policy
  • Cookie Policy
© 2026 ERP•AI. All rights reserved.
System status

Your Privacy, Your Choice

We use essential cookies to run the site and optional cookies for features, analytics, and relevant content. See Cookie policy

Manage Your Cookie Preferences

We use cookies to enhance your experience, analyze site traffic, and serve relevant content. By clicking "Accept All," you agree to our use of cookies. You can customize your preferences at any time.

Learn more about how we use cookies

These cookies are required for the website to function properly. They ensure security, enable basic features like page navigation, and store user session data. You cannot disable these cookies.

These cookies enable additional features that enhance your experience, such as live chat, video playback, personalized content recommendations, and remembering user preferences.

These cookies help us understand how visitors interact with our site by collecting anonymous usage data. This allows us to measure performance, detect issues, and continuously improve the user experience.

These cookies allow us and advertising partners, including X, to deliver ads tailored to your interests. They track browsing habits across sites to provide relevant advertising and measure ad effectiveness.