Marketing platform with CRM features
Not a CRM - fails on actual close date, schedulable activity types, opportunity reporting
Core objects
In full
Contact (person), Company, Opportunity and Task are separate record types. Opportunity create/update requires contactId; a help article confirms native Opportunity-to-Company association out of the box, no custom object setup needed.
Source: https://marketplace.gohighlevel.com/docs/ghl/opportunities/create-opportunity/, https://help.gohighlevel.com/en/support/solutions/articles/155000004033-associations-for-custom-objects, https://help.gohighlevel.com/support/solutions/articles/48001223777-company-object-feature-a-manual-way-to-organize-contacts
Verification: Verified
Pipeline stages
In full
Opportunities carry a pipelineStageId. The pipeline editor lets users rename stages, reorder them, add new stages, or delete existing ones, so stage order is a set property on the pipeline's data.
Source: https://help.gohighlevel.com/support/solutions/articles/155000001982-understanding-pipelines, https://marketplace.gohighlevel.com/docs/ghl/opportunities/create-opportunity/
Verification: Verified
Status
In part
The opportunity's status field (open, won, lost, abandoned) is a distinct property from pipelineStageId in every schema seen - webhook payloads and the create/update API carry both as separate keys.
That field's own values are not open/closed alone - they also carry won and lost (see resolution notes), so it is a single non-overlapping tri-state mechanism rather than a dedicated status-only attribute. Amended 4 Sep 2026: this scores in part, not in full.
Source: https://raw.githubusercontent.com/GoHighLevel/highlevel-api-docs/main/docs/webhook%20events/OpportunityStatusUpdate.md, https://marketplace.gohighlevel.com/docs/ghl/opportunities/update-opportunity/
Verification: Verified
Resolution
In part
The single status field itself holds the values open, won, lost or abandoned - a single field carrying won/lost, matching the Yes case rather than stage metadata.
Because status and resolution are read from that same single field rather than from two dedicated attributes, this also scores in part, not in full. Amended 4 Sep 2026.
Source: https://marketplace.gohighlevel.com/docs/ghl/opportunities/create-opportunity/
Verification: Verified
Value
In full
monetaryValue is a native numeric field on the opportunity create/update API.
Source: https://marketplace.gohighlevel.com/docs/ghl/opportunities/create-opportunity/
Verification: Verified
Scope of work
In part
The opportunity API has no products/line-item array - only name, monetaryValue and customFields. The custom-fields help article explicitly says there is no line-item or price-book mechanism; SKUs would go in a free-text custom field.
Source: https://help.gohighlevel.com/support/solutions/articles/155000000521-how-to-use-custom-fields-for-opportunities, https://marketplace.gohighlevel.com/docs/ghl/opportunities/create-opportunity/
Verification: Verified
Expected close date
In full
forecastExpectedCloseDate is a native, documented field on opportunity create/update, accepting several date formats.
Source: https://marketplace.gohighlevel.com/docs/ghl/opportunities/create-opportunity/
Verification: Verified
Actual close date
Not at all
The full create/update opportunity schema lists only forecastExpectedCloseDate; no won/actual close-date field exists anywhere in the documented fields.
Source: https://marketplace.gohighlevel.com/docs/ghl/opportunities/create-opportunity/, https://marketplace.gohighlevel.com/docs/ghl/opportunities/update-opportunity/
Verification: Verified
Opportunity owner
In full
assignedTo is a native user-reference field on the opportunity, settable and updatable independent of who created the record.
Source: https://marketplace.gohighlevel.com/docs/ghl/opportunities/create-opportunity/
Verification: Verified
Linked buyer
In full
contactId is a required field when creating an opportunity, linking it to a Contact (person) record separate from the Company association.
Source: https://marketplace.gohighlevel.com/docs/ghl/opportunities/create-opportunity/
Verification: Verified
Record preservation
In full
Lost and won opportunities stay filterable in the list view, and dedicated dashboard widgets (Won/Lost Opportunities, Won/Lost Opportunity Value) report on them - closed records are retained and feed reporting.
Source: https://help.gohighlevel.com/support/solutions/articles/155000002000-opportunities-faqs, https://help.gohighlevel.com/support/solutions/articles/155000008109-opportunities-widgets-in-dashboards-reports
Verification: Verified
Structured lost reasons
In full
Lost Reason is a structured, editable list of values (managed like a custom field) rather than free text, and a dedicated "Lost Opportunities By Reason" report widget confirms it is countable out of the box.
Source: https://help.gohighlevel.com/support/solutions/articles/155000002000-opportunities-faqs, https://help.gohighlevel.com/support/solutions/articles/155000008109-opportunities-widgets-in-dashboards-reports
Verification: Verified
Email sync
In full
Vendor help articles for both Gmail and Outlook describe genuine two-way sync: emails sent from the CRM appear in the connected mailbox's Sent folder, and replies in the mailbox sync back into the CRM thread.
Source: https://help.gohighlevel.com/support/solutions/articles/48001235216-how-to-set-up-two-way-email-sync-for-gmail, https://help.gohighlevel.com/support/solutions/articles/48001229663-two-way-email-sync-for-outlook
Verification: Verified
Calendar sync
In full
The Google Calendar integration article states explicit two-way, real-time sync between HighLevel and Google Calendar.
Verification: Verified
Schedulable activity types
Not at all
Two separate vendor enumerations of scheduling fields - the Task webhook schema and the Appointment workflow filter fields - list title/description/due date/assignee and start/end/status only. Neither documents a type field, buyer-defined or fixed.
Source: https://help.gohighlevel.com/support/solutions/articles/155000005529-unified-task-management-across-contacts-and-opportunities, https://help.gohighlevel.com/support/solutions/articles/155000004050-if-else-workflow-action-appointment-filter-options
Verification: Verified
Opportunity reporting
Not at all
GoHighLevel's "Conversion Rate" widget is not a win rate - it was never built to be one. The vendor defines it as leads in WON status divided by all leads that opted in - lost opportunities aren't factored in at all, and sit undifferentiated in that same denominator alongside still-open ones. GoHighLevel's own documentation never uses the phrase "win rate"; it names and defines this as a Conversion Rate, using lead-generation vocabulary ("leads," "opt-in") rather than sales-pipeline vocabulary. That is the tell: this is a marketing lead-to-customer conversion metric, not a sales win-rate metric wearing the wrong formula. It answers "what share of everyone who opted in eventually became a customer," a top-of-funnel marketing question, not "of the deals we've actually decided, how many did we win," the sales question this requirement asks. A pipeline winning 5 of 25 decided deals (a real 20% win rate, won รท (won+lost)) reports the same 5% on this widget as a pipeline that has decided nothing, if 75 more leads are sitting lost or open in it - because the widget was never measuring decided outcomes to begin with. The vendor's separate 17-widget report list (counts, sums, a status distribution) has no stage-to-stage or win/loss conversion metric of its own either.
The requirement isn't failed because GoHighLevel calculated win rate incorrectly - it's failed because GoHighLevel doesn't offer a win-rate metric. What it offers instead is a genuinely useful marketing number, just not this one. That the platform's flagship pipeline metric is built and named around a marketing KPI rather than a sales one reinforces this evaluation's broader read: GoHighLevel is a marketing/lead-generation platform with CRM features layered on top, not the reverse.
Source: https://help.gohighlevel.com/support/solutions/articles/48001152117-dashboard-opportunities-pipeline-value-conversion-rate-funnel-stages-distribution, https://help.gohighlevel.com/support/solutions/articles/155000008109-opportunities-widgets-in-dashboards-reports
Verification: Verified