Marketing platform with CRM features

GoHighLevel

Not a CRM - fails on actual close date, schedulable activity types, opportunity reporting

Every verdict, with its evidence

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 full

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.

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 full

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.

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.

Source: https://help.gohighlevel.com/support/solutions/articles/155000002369-integrating-google-with-highlevel-calendars

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

The vendor's full list of 17 Opportunities report widgets is entirely counts, sums and a status distribution (e.g. Opportunity Counts by Status). None is a stage-to-stage conversion rate, a win rate, or a revenue forecast.

Source: https://help.gohighlevel.com/support/solutions/articles/155000008109-opportunities-widgets-in-dashboards-reports

Verification: Verified