create_workflow
Create a GoHighLevel workflow with triggers, actions, and draft or published status. Invalid steps are reported as skipped actions or warnings, so you can fix configurations before use.
Instructions
Create a new workflow. Action and trigger types must come from the enums in this schema. Use the then/else scaffold for if_else conditions; the verbose three-sibling form is also accepted. Salvage decisions surface in skippedActions[] (HARD drops) and warnings[] (advisory). When any HARD drop occurs, status is forced to draft. For field meanings, allowed values and worked examples for every step type, use the GHL Workflow Docs MCP.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Workflow name (required) | |
| status | No | Initial status (default: draft). Set to "published" to create and publish in one step. | |
| actions | No | Action steps. Omit for an empty workflow. UUIDs and chain wiring are handled automatically. | |
| timezone | No | Workflow timezone — "account" for location default, or IANA zone (e.g. "America/Los_Angeles"). Default: "account". | |
| triggers | No | Triggers to add. Omit for a triggerless workflow. | |
| allowMultiple | No | When true, the same contact can be enrolled multiple times concurrently. Default: true. | |
| autoMarkAsRead | No | When true, conversation messages are auto-marked as read. Default: false. | |
| stopOnResponse | No | When true, pauses workflow execution if a contact responds. Default: false. | |
| allowMultipleOpportunity | No | When true, allows multiple opportunities per contact. Default: true. | |
| removeContactFromLastStep | No | When true, contacts are removed after completing the final step. Default: true. |