Skip to content
Get a free quoteGet a quote
Published
Byline
GoHighLevel Partners Editorial

GoHighLevel added a workflow trigger called Client Portal File Uploaded that fires the moment a contact submits a document through the Client Portal’s Shared Documents experience. If you run an agency that collects intake forms, IDs, signed contracts, or compliance paperwork through the portal, this is the piece that turns “a client uploaded something” into “my team already knows and is acting on it.”

Here is the setup, where the files actually land, and the notification gap this trigger closes that most agencies do not realize exists until a client uploads a document and nobody looks at it for two weeks.

What the trigger actually does

Client Portal File Uploaded is a native workflow trigger, not a webhook you have to build yourself. It listens for one event: a contact logged into their Client Portal and successfully uploaded one or more files in the Shared Documents area. The moment that happens, any workflow using this trigger starts running for that contact, with the upload event as the entry point.

It sits alongside the other Client Portal activity your contacts generate — but unlike a form submission or an appointment booking, an uploaded file has historically had no automation hook at all. Before this trigger existed, the only way to know a client had uploaded something was to open their contact record and check.

Where the file actually lands

Uploaded files do not go into a generic media library. They attach to the contact record itself, filed under a specific path:

  • Contacts → [select contact] → Documents → Received → Client Portal

That “Received” folder is what separates portal uploads from anything your team pushed the other direction (documents you shared out to the client). When you are building the workflow, do not assume the file needs to be fetched or moved anywhere — it is already sitting on the contact record by the time your trigger fires, ready to reference in a task, a note, or an internal notification.

Document status: approved, pending, rejected

Once a file is filed under Received, your team can mark it with a status — approved, pending, or rejected — from the contact record. That status lives separately from the workflow trigger itself; the trigger only tells you a file arrived, it does not tell you whether anyone reviewed it. If your process needs to track review state (a compliance document that has to be formally approved before a deal moves forward, for example), build that into the workflow explicitly: have the Client Portal File Uploaded trigger create a task for review, and use a separate trigger or manual step to advance the opportunity once someone actually sets the status to approved. Treating “uploaded” and “approved” as the same event is the most common mistake agencies make with this trigger — a client submitting a blurry photo of an ID still fires the trigger, and your workflow should not treat that as done.

Supported formats and the upload limit

The Client Portal accepts documents and images. It does not accept video. Plan your intake instructions to clients around this, especially if you were previously asking for a walkthrough video or screen recording as part of onboarding.

Category Accepted formats
Documents PDF, Word (.doc/.docx), Excel (.xls/.xlsx), PowerPoint (.ppt/.pptx), plain text (.txt), rich text (.rtf)
Images JPEG, PNG, GIF
Not supported Video files (.mp4, .mov, .avi, .mkv, .wmv)

Contacts can upload a single file or up to 10 files in one batch. The trigger fires on the upload event itself; HighLevel’s own release notes do not specify whether a 10-file batch fires the workflow once or once per file, so check this against your own account before you build logic that assumes one or the other — if your workflow sends an internal notification per file and a client batches 10 at once, you want to know that ahead of time rather than after your team gets ten pings for one client action.

Setting up the workflow

  1. Go to Automation → Workflows and create a new workflow (or open an existing intake/onboarding workflow to extend).
  2. Add Client Portal File Uploaded as the trigger.
  3. Add your actions after it — see the next section for what actually belongs here.
  4. Publish the workflow.

Because this trigger is newly added, HighLevel’s general workflow-trigger documentation had not been updated to list it as of this writing, and no filter options (by document type, by pipeline, by tag) were confirmed in the docs. Open the trigger in your own builder and check what filter fields it actually exposes before assuming parity with older, more established triggers like Form Submitted.

The notification gap this trigger closes

This is the part worth building the workflow for, not just the trigger’s existence. HighLevel already has a native, no-workflow-required notification system for the Client Portal — but it only runs in one direction. When your team shares a file out to a contact (uploads something and enables “Upload to Client Portal”), the contact automatically gets an in-app or push notification. That happens without any workflow at all.

There is no equivalent built-in notification for the reverse direction. When a contact uploads a file to you, nothing alerts your team by default. The file sits in Documents → Received → Client Portal, correctly filed, completely silent. An agency running client-submitted IDs, signed agreements, or compliance documents through the portal has, until now, had to rely on someone manually checking contact records — which is exactly the kind of task that gets skipped during a busy week.

The Client Portal File Uploaded trigger is what closes that gap. Without a workflow built on it, a document can sit uploaded and unreviewed indefinitely with no signal anywhere that it needs attention.

Actions worth chaining after the trigger

Action Why it matters here
Internal Notification Alerts the assigned rep or a shared inbox the moment a file lands — the direct fix for the silent-upload gap above.
Create Task Assigns a concrete “review this document” task with a due date, instead of relying on someone noticing the notification.
Add Tag Tags the contact (e.g. docs-received) so you can filter your pipeline view for who has and has not submitted paperwork.
Update Opportunity Stage Moves a deal automatically from “Awaiting Documents” to “Documents Received” the instant the file arrives — no manual pipeline housekeeping.
Send Email/SMS Confirms receipt back to the contact, which reduces the “did you get my file?” follow-up messages.

Common use cases

The clearest fit is any process where a document has to arrive before work can start: client onboarding paperwork, signed agreements returned outside of a native e-sign flow, ID or compliance documents for regulated niches, and creative or asset submissions for campaigns you are running on a client’s behalf. In each case the value is the same — the moment the file lands, the pipeline or task list reflects it without a human checking for it.

A worked example: an agency onboarding a new local-service client needs a signed W-9, a logo file, and proof of business insurance before the account can move to “in production.” Build one workflow on Client Portal File Uploaded that fires an Internal Notification to the onboarding specialist, creates a task titled with the contact’s name and “verify onboarding document,” and tags the contact doc-submitted. A second, manual step — someone actually opening the file and confirming it is the right document, not just any document — sets the opportunity stage to “In Production.” The automation handles the part that used to get missed; the review still needs a human, because the trigger cannot tell a signed W-9 from a photo of a client’s dog.

What to verify before you rely on it

  • Filter options. Not confirmed in HighLevel’s documentation as of this writing — check what fields the trigger exposes in your own builder.
  • Batch behavior. Whether a multi-file upload (up to 10 at once) fires the workflow once or per file is not documented; test it with a real upload before you build notification logic around it.
  • Video files. Not accepted by the Client Portal at all — if your process needs video intake, this trigger and the portal itself are the wrong tool.

Frequently asked questions

Does the Client Portal File Uploaded trigger work retroactively on files already uploaded?

No. Like other HighLevel workflow triggers, it fires on the upload event going forward from when the workflow is published. Files a contact uploaded before you built the workflow will not retroactively trigger it.

Will my team get notified automatically without building a workflow?

No. HighLevel’s automatic Client Portal notification only fires when your team shares a file to a contact, not the other way around. If you want your team alerted when a contact uploads a file, you need to build a workflow on this trigger with an Internal Notification or similar action.

Can contacts upload video files through the Client Portal?

No. The Client Portal accepts documents (PDF, Word, Excel, PowerPoint, TXT, RTF) and images (JPEG, PNG, GIF) only. Video formats are explicitly not supported.

Where do I find a file after a contact uploads it?

On the contact’s record, under Documents → Received → Client Portal. This is also where you would attach or reference the file if your workflow action needs to point to it.

We build your GoHighLevel account for you

CRM, pipelines, funnels, SMS and automation — configured for your business, not left for you to figure out.

  • Setup (one-time)$850
  • Ongoing (per month)$38.80
Get my free setup quote

No obligation quote · reply within 1 business day

This site is independently operated and is not officially affiliated with, endorsed by, or sponsored by HighLevel LLC. We do not receive referral commissions — this is our own flat-fee implementation service.

$850 setup, $38.80/mo ongoingGet a quote