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.
- Client Collaboration Portal
- Features
- Client decisions
Client decisions
Ask a named client approver for a decision with the relevant evidence and a traceable outcome. 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.
OverviewPending Approvals to Send (Internal)×
Client Collaboration Portal · Client decisions
New
Pending Approvals to Send (Internal)
Approval requests
| Request number | Subject | Type | Portal project | Requested from client | Requested at | |
|---|---|---|---|---|---|---|
| AR-20668 | Approve East Hall concept plan | Deliverable | Atrium lighting upgrade | Jasper Haddad | 23 Oct | |
| AR-57321 | Sign-off atrium lighting samples | Change order | Atrium lighting upgrade | Avery Shah | 02 Nov | |
| AR-14786 | Confirm courtyard paving choice | Invoice | Level two workspace fitout | Yasmin Choi | 18 Oct | |
| AR-15918 | Approve lobby ramp detail | Milestone | South wing signage | Avery Shah | 14 Oct | |
| AR-99860 | Review level two layout | Other | Reception desk redesign | Nolan Okeke | 17 Oct |
6 of 6 records
Approve East Hall concept planApproval requests · AR-20668
DeliverablePortal projectAtrium lighting upgrade
Requested from clientJasper Haddad
Requested at23 Oct
Expires at26 Oct
What you can do
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 approval requests row: picks Type, requested from client (a named client user with role Approver), related document if applicable, source table + source record for the callback, optional requires signature and expires at. The approval-request-routing workflow fires via the configured record event on record.created. A configured workflow service creates a magic links row with Purpose: Approval action and expires at 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 client user clicks the link, the magic-link auth handler redirects to the approval action page, the client picks Approved / Rejected / requested changes, optionally adds Comments and a captured signature blob, and on submit an approval decisions row writes (Sequence, Decision, Comments, signature blob if captured, from IP, user agent, signed at). The request Status flips to the matching enum and decided at stamps.
Decision callback to source
On approval request status: Pending → Approved or Rejected, the approval-decision-callback workflow fires via the configured record event. A configured workflow service reads source table + source record, resolves the appropriate integration endpoint (Project Management Tasks for Deliverable / Milestone types, Project Billing Invoices for Invoice type, an org-defined change orders endpoint for change order), and posts the decision back to the source — typically setting a client approval status enum and a client approval at date on the source record. notification service notifies the internal requested by Project Manager + the project’s Account Manager with the decision, the comments captured on approval decisions, and the link back to the request thread. A re-decision (e.g. Approver flips Rejected → Approved after a resubmit) writes a new approval decisions 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. Portal sites, portal projects and client users establish separate tenant and project boundaries. Bind each external login to client user principal ID; shared email addresses and Account text do not grant membership. Effective access is the intersection of active site, active client user, active portal project and active portal user access. 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. Magic link 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. Approval action 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.
What your team sees
- My Pending Approvals (Client) — Review the current requests addressed to the authenticated client approver.
What it keeps track of
Data model- Approval requests
- A request for a client decision — a deliverable sign-off, a change order, an invoice approval, a milestone confirmation. Routed to a named
RequestedFromClientClient user; resolves into one or moreApprovalDecisionsand triggers the source-record callback. - Approval decisions
- The decision capture line — who approved or rejected, when, with what comments and (optional) signature. Append-only; a re-decision writes a new line and stamps the prior as superseded.
- Magic links
- One-click email-to-portal tokens. Issued for invitation, document view, approval action, status-update view, and digest opens. Single-use, time-limited, server-side resolved — Token never appears in any UI.
- Client users
- The external client user master — every person on the customer side who logs into the portal. Two-namespace separation from internal Users keeps the auth surfaces and audit logs clean.
- Portal user access
- Junction granting a client user visibility into one or more portal projects on a portal site. The portal-scope access pattern reads this table on every page render.
Who uses it
Permissions- Project Manager
- Prepares the request.
- Client User — Approver
- Decides addressed requests. internal roles monitor the outcome within project scope.
Set up Client Collaboration Portal your way.
Start free, then use Proto to change fields, steps and approvals before your team goes live.