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 References
Data model3 of 6
  • Roles and permissions1 of 6
  • Reports and analytics2 of 6
  • Data model3 of 6
  • Integrations4 of 6
  • Implementation5 of 6
  • Agent reference6 of 6

Data model

The canonical records behind published client collaboration.

17 tables · 32 relationships

Data model 17 tables
mastertransactionline item PortalSites.BrandTheme → BrandThemes PortalSites.DefaultEmailTemplate → EmailTemplates ClientUsers.PortalSite → PortalSites PortalUserAccess.ClientUser → ClientUsers PortalUserAccess.PortalProject → PortalProjects MagicLinks.ClientUser → ClientUsers DocumentShares.PortalSite → PortalSites DocumentShares.PortalProject → PortalProjects DocumentDownloads.DocumentShare → DocumentShares DocumentDownloads.ClientUser → ClientUsers ApprovalRequests.PortalSite → PortalSites ApprovalRequests.PortalProject → PortalProjects ApprovalRequests.RelatedDocument → DocumentShares ApprovalRequests.RequestedFromClient → ClientUsers StatusUpdates.PortalSite → PortalSites StatusUpdates.PortalProject → PortalProjects Comments.PortalSite → PortalSites Comments.PortalProject → PortalProjects Comments.DocumentShare → DocumentShares Comments.ApprovalRequest → ApprovalRequests Comments.StatusUpdate → StatusUpdates Comments.AuthorClientUser → ClientUsers ActivityFeed.PortalSite → PortalSites ActivityFeed.PortalProject → PortalProjects ActivityFeed.ActorClientUser → ClientUsers ClientActivities.PortalSite → PortalSites ClientActivities.ClientUser → ClientUsers NotificationDeliveries.PortalSite → PortalSites NotificationDeliveries.ClientUser → ClientUsers NotificationDeliveries.EmailTemplate → EmailTemplates PortalProjects.PortalSite → PortalSites ApprovalDecisions.ApprovalRequest → ApprovalRequests ApprovalDecisions.ClientUser → ClientUsers CommentReplies.Comment → Comments CommentReplies.AuthorClientUser → ClientUsers PortalSitesmasterPortalCodeStatusBrandTheme BrandThemesmasterThemeCodeNameLogoURL EmailTemplatesmasterTemplateCodeNameEventType ClientUsersmasterStatusPortalSiteFullName PortalUserAccesstransactionStatusClientUserPortalProject MagicLinkstransactionStatusClientUserToken DocumentSharestransactionShareNumberStatusPortalSite DocumentDownloadstransactionDocumentShareClientUserDownloadedAt ApprovalRequeststransactionRequestNumberStatusPortalSite StatusUpdatestransactionUpdateNumberStatusPortalSite CommentstransactionStatusPortalSitePortalProject ActivityFeedtransactionPortalSitePortalProjectActorClientUser ClientActivitiestransactionPortalSiteClientUserActivityType NotificationDeliveriestransactionDeliveryNumberStatusPortalSite PortalProjectslineStatusPortalSiteProject ApprovalDecisionslineCallbackStatusApprovalRequestClientUser CommentReplieslineStatusCommentAuthorClientUser
Data modelTable names and relationships

How the model is organised

Brand and delivery settings

PortalSites, BrandThemes, EmailTemplates. Define the branded site and the approved communication templates.

  • PortalSites
  • BrandThemes
  • EmailTemplates

Membership and access

ClientUsers, PortalProjects, PortalUserAccess, MagicLinks. Bind verified participants to project grants and purpose-bound access tokens.

  • ClientUsers
  • PortalProjects
  • PortalUserAccess
  • MagicLinks

Published collaboration

DocumentShares, StatusUpdates, Comments, CommentReplies, ActivityFeed. Keep published project context and its conversations within their declared audience.

  • DocumentShares
  • StatusUpdates
  • Comments
  • CommentReplies
  • ActivityFeed

Decisions and observations

ApprovalRequests, ApprovalDecisions, DocumentDownloads, ClientActivities, NotificationDeliveries. Distinguish client decisions, document access and provider delivery evidence.

  • ApprovalRequests
  • ApprovalDecisions
  • DocumentDownloads
  • ClientActivities
  • NotificationDeliveries

Keys and references

Keep source identifiers separate from portal records. Use authenticated principal bindings and validated parent references. Token hashes are unique, decisions are uniquely sequenced per request revision, and notification keys identify a source event, template and recipient.

Migration order

  1. 1 Configure PortalSites, BrandThemes and EmailTemplates with the intended identity and storage providers.
  2. 2 Map authorized projects into PortalProjects and bind ClientUsers to verified principals.
  3. 3 Create explicit PortalUserAccess and review the effective role/grant intersection.
  4. 4 Import approved document shares, updates and decision history with original source references and audiences.
  5. 5 Configure scoped callbacks, notifications and audit retention; test revocation, stale requests and duplicate delivery before invitations.

Tables

17 tables
PortalSitesThe branded site config — one row per Account or Project tenant onmaster
FieldTypeRequiredDetails
PortalCodetextyes
Nametextyes
AccounttextyesSource account ref (CRM)
BrandThemereference→ BrandThemes
BrandLogoURLtextOverride theme logo
PrimaryColortextOverride theme color (hex)
SubdomainSlugtextyese.g. acme.<host>.com
CustomDomaintexte.g. portal.acme.com
OAuthProviderselectNone, Google, Microsoft, Okta, OneLogin
OAuthProviderReftextTenant / IdP identifier
MagicLinkEnabledtoggleyes
DefaultEmailTemplatereference→ EmailTemplates
OwnertextyesInternal Portal Manager user ID
StatusselectyesDraft, Active, Suspended, Archived
LaunchedAtdate
BrandThemesReusable theme presets — color palette, typography, and logomaster
FieldTypeRequiredDetails
ThemeCodetextyes
Nametextyes
LogoURLtext
PrimaryColortextHex
SecondaryColortextHex
AccentColortextHex
FontFamilytext
FaviconURLtext
EmailHeaderURLtextBanner image for branded emails
Activetoggleyes
EmailTemplatesPer-event branded email templates — invitation, documentmaster
FieldTypeRequiredDetails
TemplateCodetextyes
Nametextyes
EventTypeselectyesInviteSetup, DocumentPublished, ApprovalRequest, ApprovalDecision, StatusUpdate, CommentNotification, InactiveReminder, WeeklyDigest
SubjecttextyesLiquid-style template
BodyHTMLtextyesLiquid-style template
BodyTexttextPlain-text fallback
FromNametext
ReplyToEmailtext
Activetoggleyes
ClientUsersThe external client user master — every person on the customer sidemaster
FieldTypeRequiredDetails
FullNametextyes
EmailtextyesMasked from non-Portal-Manager internal roles
PortalSitereferenceyes→ PortalSites
AccounttextyesSource account ref
ClientRoleselectyesApprover, Collaborator, Viewer
Titletext
Phonetext
OAuthProviderReftextProvider subject ID once linked
InvitedBytextInternal user who invited
InvitedAtdate
ActivatedAtdate
LastLoginAtdate
StatusselectyesInvited, Active, Suspended, Deactivated
PrincipalIDtextAuthenticated subject bound during verified setup; unique within the PortalSite
NotificationsEnabledbooleanRecipient preference; authorization and required transactional notices remain separate
PortalProjectsJunction between PortalSites and the internal Projects master — Line item of PortalSites.line item
FieldTypeRequiredDetails
PortalSitereferenceyes→ PortalSites
ProjecttextyesSource project ref (pm-projects)
ProjectNametextyesSnapshot
DisplayOrdernumber
StatusselectyesActive, Hidden, Archived
AddedAtdateyes
AddedBytextyesInternal user
PortalUserAccessJunction granting a ClientUser visibility into one or moretransaction
FieldTypeRequiredDetails
ClientUserreferenceyes→ ClientUsers
PortalProjectreferenceyes→ PortalProjects
AccessLevelselectyesView, Comment, Approve
GrantedBytextyesInternal Portal Manager
GrantedAtdateyes
RevokedAtdate
StatusselectyesActive, Revoked
MagicLinksOne-click email-to-portal tokens. Issued for invitation, documenttransaction
FieldTypeRequiredDetails
TokentextyesOne-way token hash only; plaintext is generated once, never stored or logged
ClientUserreferenceyes→ ClientUsers
PurposeselectyesInviteSetup, DocumentView, ApprovalAction, StatusUpdateView, DigestOpen
TargetTabletexte.g. DocumentShares, ApprovalRequests
TargetRecordtextRecord ID
IssuedAtdateyes
ExpiresAtdateyes
UsedAtdate
UsedFromIPtextCaptured on redemption
StatusselectyesActive, Used, Expired, Revoked
DocumentSharesA document published from an internal source system (workflow-dms,transaction
FieldTypeRequiredDetails
ShareNumbertextyes
PortalSitereferenceyes→ PortalSites
PortalProjectreferenceyes→ PortalProjects
DocumentNametextyes
Descriptiontext
FileURLtextyesSigned URL to source document store
FileSizeBytesnumber
MimeTypetext
CategoryselectDeliverable, Invoice, Contract, Report, Reference, Other
SourceTabletexte.g. Invoices, Tasks
SourceRecordtextSource record ID
RequiresAcknowledgmenttoggle
PublishedBytextyesInternal user
PublishedAtdate
StatusselectyesDraft, Published, Archived
PublishStartdatetimeOptional scheduled publication time
PublishEnddatetimeOptional withdrawal time; end must follow start
DocumentDownloadsOne row per ClientUser × DocumentShare download event. The audittransaction
FieldTypeRequiredDetails
DocumentSharereferenceyes→ DocumentShares
ClientUserreferenceyes→ ClientUsers
DownloadedAtdateyes
FromIPtext
UserAgenttext
AcknowledgedtoggleSet when RequiresAcknowledgment=true and client confirmed
AcknowledgedAtdate
ApprovalRequestsA request for a client decision — a deliverable sign-off, a changetransaction
FieldTypeRequiredDetails
RequestNumbertextyes
PortalSitereferenceyes→ PortalSites
PortalProjectreferenceyes→ PortalProjects
Subjecttextyes
Descriptiontext
TypeselectyesDeliverable, ChangeOrder, Invoice, Milestone, Other
RelatedDocumentreference→ DocumentShares
SourceTabletexte.g. Tasks, Invoices, ChangeOrders
SourceRecordtextSource record ID for callback
RequestedFromClientreferenceyes→ ClientUsers (named approver)
RequestedBytextyesInternal user (Project Manager)
RequestedAtdateyes
ExpiresAtdate
RequiresSignaturetoggle
StatusselectyesPending, Approved, Rejected, RequestedChanges, Expired, Cancelled
DecidedAtdate
RevisionnumberExpected request revision; changing request evidence requires a new review round
ApprovalDecisionsThe decision capture line — who approved or rejected, when, with Line item of ApprovalRequests.line item
FieldTypeRequiredDetails
ApprovalRequestreferenceyes→ ApprovalRequests
Sequencenumberyes
ClientUserreferenceyes→ ClientUsers
DecisionselectyesApproved, Rejected, RequestedChanges
Commentstext
SignatureBlobtextBase64 signature image; Admin + Portal Manager only
SignedAtdate
FromIPtextCaptured on submit
UserAgenttext
SupersededtoggleTrue when a later decision overrides
RequestRevisionnumberExact request revision decided
CallbackStatusselectNotRequired, Pending, Succeeded, Failed, Unknown
CallbackKeytextUnique idempotency key per decision and source record
CallbackReceiptlongtextRedacted external response and reconciliation reference
StatusUpdatesA published status update from the internal team to the client sidetransaction
FieldTypeRequiredDetails
UpdateNumbertextyes
PortalSitereferenceyes→ PortalSites
PortalProjectreferenceyes→ PortalProjects
Titletextyes
BodyMarkdowntextyes
HealthFlagselectOnTrack, AtRisk, OffTrack, Complete
AudienceselectyesAllProjectClients, ApproversOnly, NamedRecipients
PublishedBytextyesInternal user
PublishedAtdate
StatusselectyesDraft, Published, Archived
NamedRecipientslongtextValidated list of ClientUsers identifiers in this project; required for NamedRecipients audience
CommentsDiscussion threads on shared artifacts — a DocumentShare, antransaction
FieldTypeRequiredDetails
PortalSitereferenceyes→ PortalSites
PortalProjectreferenceyes→ PortalProjects
ParentTypeselectyesDocumentShare, ApprovalRequest, StatusUpdate
DocumentSharereference→ DocumentShares
ApprovalRequestreference→ ApprovalRequests
StatusUpdatereference→ StatusUpdates
AuthorClientUserreference→ ClientUsers (when external)
AuthorInternalUsertextInternal user ID (when internal)
BodyMarkdowntextyes
PostedAtdateyes
StatusselectyesActive, Hidden, Deleted
CommentRepliesReply lines within a Comment thread — append-only chronological Line item of Comments.line item
FieldTypeRequiredDetails
Commentreferenceyes→ Comments
Sequencenumberyes
AuthorClientUserreference→ ClientUsers (when external)
AuthorInternalUsertextInternal user ID (when internal)
BodyMarkdowntextyes
PostedAtdateyes
StatusselectyesActive, Hidden, Deleted
ActivityFeedThe chronological feed of portal-relevant events shown to ClientUserstransaction
FieldTypeRequiredDetails
PortalSitereferenceyes→ PortalSites
PortalProjectreferenceyes→ PortalProjects
EntryTypeselectyesDocumentPublished, StatusUpdatePublished, ApprovalRequested, ApprovalDecided, CommentPosted
Subjecttextyes
RelatedTabletext
RelatedRecordtext
ActorClientUserreference→ ClientUsers (when external)
ActorInternalUsertextInternal user ID (when internal)
OccurredAtdateyes
VisibilityselectyesAllProjectClients, ApproversOnly, NamedRecipients
NamedRecipientslongtextValidated list of ClientUsers identifiers in this project; required for NamedRecipients audience
ClientActivitiesThe audit log of every client-side action — login, documenttransaction
FieldTypeRequiredDetails
PortalSitereferenceyes→ PortalSites
ClientUserreferenceyes→ ClientUsers
ActivityTypeselectyesLogin, LoginFailed, MagicLinkRedeemed, DocumentDownloaded, ApprovalSubmitted, CommentPosted, ProfileUpdated, ReminderSent
RelatedTabletext
RelatedRecordtext
FromIPtext
UserAgenttext
OccurredAtdateyes
NotificationDeliveriesDelivery receipts for branded notifications; providers report delivery independently of client actions.transaction
FieldTypeRequiredDetails
DeliveryNumbertextyesHuman-readable delivery identifier
PortalSitereferenceyes→ PortalSites
ClientUserreferenceyes→ ClientUsers
EmailTemplatereferenceyes→ EmailTemplates
RelatedTabletextAllowlisted source type
RelatedRecordtextScoped source identifier
IdempotencyKeytextyesUnique event/template/recipient combination
ProviderMessageIDtextProvider receipt identifier
StatusselectyesQueued, Sent, Delivered, Bounced, Failed, Unknown
CreatedAtdatetimeyesQueue creation time
SentAtdatetimeProvider acceptance time
ProviderReceiptlongtextRedacted provider outcome
ERP•AI workspace

Start now Client Collaboration Portal

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

Start now Download agent
Previous · reference 2 of 6Reports and analyticsNext · reference 4 of 6Integrations

Customize Client Collaboration Portal. With Proto, your desktop AI agent.

Ask Proto to help you customize Client Collaboration Portal.

Customize
Client Collaboration Portal.
Ask: “Adapt Portal branding and access.”
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.