Short answer: You can create gohighlevel opportunity in GoHighLevel by hand from its own interface, but it won’t repeat itself. On TinyCommand, add the GoHighLevel Create GoHighLevel Opportunity action to a workflow, map its 8 inputs from any upstream app, and it runs automatically every time the trigger fires. No code, and a free tier to start.
Every field can be mapped from an upstream trigger, AI step, table row, or hard-coded literal.
| Field | Type | Required | Description |
|---|---|---|---|
Location ID locationId | string | Required | The GoHighLevel sub-account. |
Pipeline ID pipelineId | string | Required | The pipeline this opportunity belongs to. |
Stage ID pipelineStageId | string | Required | The pipeline stage the opportunity should land in. |
Opportunity Name name | string | Required | Display name for the opportunity. |
Status status | options | Optional | Lifecycle status of the opportunity. |
Contact ID contactId | string | Optional | The associated contact's ID. |
Monetary Value monetaryValue | number | Optional | Deal value in the location's default currency. |
Assigned User ID assignedTo | string | Optional | The GHL user to assign this opportunity to. |
{"locationId": "ve9EPM428h8vShlRW1KT","pipelineId": "VDm7RPYC2GLUvdpKmBfC","pipelineStageId": "e93ba61a-1107-4f1e-9b62-13d31f5c3a37","name": "Acme Inc — Annual Plan","status": "{{trigger.status}}"}
{"opportunity": {"id": "Tu1Lf5wYC5SqQ8oa6L2y","name": "Acme Inc — Annual Plan","status": "open","contactId": "ocQHyuzHvysMo5N5VsXc","createdAt": "2026-04-11T10:00:00.000Z","pipelineId": "VDm7RPYC2GLUvdpKmBfC","monetaryValue": 5000,"pipelineStageId": "e93ba61a-1107-4f1e-9b62-13d31f5c3a37"}}
Use these fields in downstream nodes for routing, logging, or error handling.
Any of these apps can fire this action as part of a workflow.