---
schema_version: "1"
id: 0dbf096dbd795c2ca621b79e636c9096d209c902f418a9da418b9ff6bdb5be9c
title: "Macro Use Case: Delete Workflow Nodes"
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/analytics/bi_dev_guide_wave_templates/guides/reference/bi-templatesdev-rules-macros-sample-delete.md
canonical_url: https://developer.salesforce.com/docs/analytics/bi-dev-guide-wave-templates/guide/bi-templatesdev-rules-macros-sample-delete.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: b4abe372b5c9acb2733d3815c70ced5ad1d93387504bf5451b09991003d1be03
products:
  - Analytics Templates Developer Guide
  - analytics
---

# Macro Use Case: Delete Workflow Nodes

Use this macro to delete multiple nodes from the workflow without having to write multiple actions.

## Example

Macro

```nolang
        {
            "name": "deleteWorkflowNode",
            "description": "Deletes a workflow node.",
            "parameters": [
                "nodeName"
            ],
            "actions": [
                { "action": "delete",  "path": "$.workflowDefinition.${p.nodeName}"}
            ]
        },
        {
            "name": "deleteArrayOfWorkflowNodes",
            "description": "Deletes a set of workflow nodes.",
            "parameters": [
                "nodeNameArray"
            ],
            "actions": [
                { "action": "eval",  
                "value": "${array:forEach(p.nodeNameArray, '${macros:deleteWorkflowNode(var)}')}"}
            ]
        }
```

## Example

Rule Calling the Macro

```nolang
{"action":"eval","key" : "myArray","value":["Extract_Queue","Add_Fields_To_Queue","Append_Queue_User"]},
     {
          "action": "eval",
          "description": "remove multiple nodes in dataflow",
          "value": "${macros:deleteArrayOfWorkflowNodes(Rules.Eval.myArray)}"
        }

```
