update_workflow
Update an existing GoHighLevel workflow with partial changes to actions, triggers, and settings. Pass only fields to change; preserve existing elements by keeping their IDs.
Instructions
Update an existing workflow with partial changes. Action and trigger types must come from the enums in this schema. Use the then/else scaffold for if_else; verbose three-sibling form also accepted. Pass only fields you want to change. Salvage decisions surface in skippedActions[] and warnings[]. 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 | No | New workflow name | |
| status | No | New workflow status | |
| actions | No | Complete replacement action list. Include existing action IDs to keep them, omit ID for new actions. | |
| timezone | No | Workflow timezone — use "account" for the location default, or an IANA zone (e.g. "America/Los_Angeles"). Preserved on partial updates. | |
| triggers | No | Complete replacement trigger list. Include existing trigger IDs to keep/update them, omit ID for new triggers. Triggers in the workflow whose IDs are not in this array will be DELETED. Pass [] to delete ALL triggers. Omit entirely to leave triggers untouched. | |
| workflowId | Yes | The workflow ID to update (from list_workflows) | |
| allowMultiple | No | When true, the same contact can be enrolled in this workflow multiple times concurrently. Preserved on partial updates. | |
| autoMarkAsRead | No | When true, conversation messages received during the workflow are auto-marked as read. Preserved on partial updates. | |
| stopOnResponse | No | When true, pauses workflow execution if a contact responds. Preserved on partial updates. | |
| allowMultipleOpportunity | No | When true, allows multiple opportunities per contact in this workflow. Preserved on partial updates. | |
| removeContactFromLastStep | No | When true, contacts are removed from the workflow after completing the final step. Preserved on partial updates. |