ACTION_ID: gohighlevel_create_opportunity NAME: GoHighLevel: Create Opportunity CATEGORY: CRM CREDITS: 0 Create an opportunity on a GoHighLevel pipeline against an existing contact, with status, monetary value, assignee and custom fields. PREREQUISITE: GoHighLevel account connection — the user must create it in the Floqer UI (Connections page); an agent cannot. Without it the action fails the row with a connection / authentication error. Confirm it exists before configuring. 1. INPUTS pipeline_id (dynamicDropdown, required) Pipeline ID. Select a Pipeline from the dropdown. contact_id (string, required) Contact ID. Contact ID for the opportunity opportunity_name (string, required) Opportunity Name. Name of the opportunity. EX: First Opps status (dropdown, required) Status. Status of the opportunity(Default: Open). Values: - { value: "open", label: "Open" } - { value: "won", label: "Won" } - { value: "lost", label: "Lost" } - { value: "abandoned", label: "Abandoned" } - { value: "all", label: "All" } location_id (string, optional) Location Id. Location ID for the opportunity. Ex: ve9EPM428h8vShlRW1KT pipeline_stage_id (string, optional) Pipeline Stage ID. Pipeline Stage ID of the opportunity. Ex: 7915dedc-8f18-44d5-8bc3-77c04e994a10 monetary_value (currency, optional) Monetary Value. Monetary Value of the opportunity assigned_to (string, optional) Assigned To. Opportunity Assigned To. Ex: 082goXVW3lIExEQPOnd3 custom_fields (raw_array, optional) Custom Fields. Custom Fields for the opportunity 2. OUTPUTS opportunity_id (string) — Unique identifier of the opportunity pipeline_id (string) — Pipeline ID associated with the opportunity pipeline_stage_id (string) — Pipeline stage ID where the opportunity resides contact_id (string) — ID of the contact related to the opportunity location_id (string) — ID of the location associated with the opportunity contact (json) — Details of the contact associated with the opportunity name (string) — Name of the opportunity status (string) — Current status of the opportunity monetary_value (number) — Monetary value of the opportunity assigned_to (string) — ID of the user assigned to the opportunity source (string) — Source of the opportunity index_version (number) — Version index of the opportunity notes (string) — Array of notes associated with the opportunity tasks (string) — Array of tasks related to the opportunity calendar_events (string) — Array of calendar events for the opportunity followers (string) — Array of followers for the opportunity last_status_change_at (date) — Timestamp of the last status change last_stage_change_at (date) — Timestamp of the last stage change last_action_date (date) — Date of the last action performed on the opportunity created_at (date) — Timestamp when the opportunity was created updated_at (date) — Timestamp when the opportunity was last updated custom_fields (raw_array) — Array of custom fields for the opportunity 3. HOW TO CONFIGURE Resolve the pipeline and the opportunity custom fields: POST .../options/pipeline_id (body: {}) POST .../options/custom_fields (body: {}) Configure Action body: { "inputs": { "pipeline_id": "", "contact_id": "{{gohighlevel_upsert_contact_01ab.contact_id}}", "opportunity_name": "{{input.company_name}} — inbound", "status": "open", "pipeline_stage_id": "", "monetary_value": "5000", "custom_fields": [ { "name": "", "value": "{{input.segment}}" } ] } } Field-by-field: - pipeline_id Required. Resolve it — stage IDs belong to it. - contact_id Required. Chain it from `gohighlevel_upsert_contact`. - status `open` (default), `won`, `lost`, `abandoned` or `all`. - monetary_value Currency field — pass as a quoted string. - pipeline_stage_id Optional. Omit to land on the pipeline's first stage. 4. KEY NOTES - `contact_id` is required and this action will not create the contact. Always run `gohighlevel_upsert_contact` first. - `monetary_value` is a currency field — pass it as a quoted string. Configure Action ignores raw JSON numbers. - `pipeline_stage_id` has no dynamic-options resolver; take the stage ID from the GoHighLevel pipeline settings, or omit it to use the first stage. - The `contact` output is a `json` object — reach into it from a `formula` with the bracket form rather than dotted syntax. 5. WHERE IT FITS IN A WORKFLOW Pattern: gohighlevel_upsert_contact -> gohighlevel_create_opportunity. The contact must exist before the opportunity can reference it. 6. WHEN TO USE Use gohighlevel_create_opportunity to open a pipeline deal for every row that clears your qualification filter. 7. WHEN NOT TO USE The contact does not exist in GoHighLevel yet -> action-detail/gohighlevel_upsert_contact.txt The pipeline lives in Salesforce -> action-detail/salesforce_create_record.txt Last updated: 2026-08-03.