---
schema_version: "1"
id: dc6c28693909e422e96fffc9561e36af4824b64e61692cfc39485d17f1834fc3
title: "Macro Use Case: Add an Array of SObject Names to Extract Workflow"
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-add-array.md
canonical_url: https://developer.salesforce.com/docs/analytics/bi-dev-guide-wave-templates/guide/bi-templatesdev-rules-macros-sample-add-array.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: df3a8f11386e95245d8bff194d339a47aeb972da3befe7942a345bd418a3a9f8
products:
  - Analytics Templates Developer Guide
  - analytics
---

# Macro Use Case: Add an Array of SObject Names to Extract Workflow

Here’s a macro that adds an array of `sObject` names to the extract workflow.

## Example

Macro

```nolang
{
    		"name" : "concatArrayFieldName",
    		"description" : "Concatenates field names from an sobject array node",
    		"parameters" :
    		[
    			"variable"
    		],
    		"returns": "${array:concat(Rules.CurrentNode, array:forEach(p.variable,'{\"name\":\"${var.fieldName}\"}'))}"
    
    	},
    	{
    		"name" : "addToExtractCaseWorkflow",
    		"description" : "Adds array fields to Extract Case node",
    		"parameters" :
    		[
    			"variable"
    		],
    		"actions": [
    		 {
    		 	"action": "set",
          		"description": "put selected values for sfdcDigest in dataflow",
          		"path": "$.workflowDefinition.Extract_Case.parameters.fields",
          		"value" : "${macros:concatArrayFieldName(p.variable)}"
          	}
          	]
    	}

```

## Example

Rule Calling the Macro

```nolang
{
          "action": "eval",
          "description": "put selected values for sfdcDigest in dataflow",
          "value": "${macros:addToExtractCaseWorkflow(Variables.CaseMoreDims)}"
        }
```
