Hi Alistair,
Please use the following and this will work in campaign workflow. and refer to the following package code for reference.
var listOfIds = String(vars.varName).split(','); logInfo("first value " + listOfIds[0] ); logInfo("Second value " + listOfIds[1] ); logInfo("third value " + listOfIds[2] );
<?xml version='1.0'?> <package author="Amit (amit)" buildDate="2017-03-27 09:14:42.117Z" buildNumber="8724" buildVersion="6.1"> <entities schema="xtk:workflow"> <workflow internalName="WKFTEST1" label="New workflow" modelName="newOpEmpty" order="1136014743" scenario-cs="Notification of the workflow supervisor (notifySupervisor)" schema="nms:recipient" simulation="false"> <activities> <end label="End" name="end" x="482" y="150"/> <signal label="External signal" name="signal" x="179" y="146"> <transitions> <done name="done" target="js"/> </transitions> </signal> <js label="JavaScript code" name="js" x="333" y="151"> <transitions> <done name="done" target="end"/> <error name="error"/> </transitions> <script>var listOfIds = String(vars.varName).split(','); logInfo("first value " + listOfIds[0] ); logInfo("Second value " + listOfIds[1] ); logInfo("third value " + listOfIds[2] );</script> </js> </activities> <variables/> <scenario _operation="none" internalName="notifySupervisor"/> <desc>Empty starting template to create a workflow for a marketing campaign</desc> <folder _operation="none" name="nmsWkfOperation"/> <operation _operation="none" internalName="OP328"/> </workflow> </entities> <entities schema="xtk:workflow"> <workflow internalName="WKF762" label="Default workflow" modelName="opEmpty" scenario-cs="Notification of the workflow supervisor (notifySupervisor)" schema="nms:recipient" simulation="false"> <activities> <start label="Start" name="start" x="189" y="107"> <transitions> <initial name="initial" target="js"/> </transitions> </start> <end label="End" name="end" x="491" y="110"> <initScript>xtk.workflow.PostEvent('WKFTEST1','signal','', <variables varName= {vars.myVar} />,false)</initScript> </end> <js label="JavaScript code" name="js" x="338" y="109"> <transitions> <done name="done" target="end"/> <error name="error"/> </transitions> <script>vars.myVar = "1,2,3";</script> </js> </activities> <variables/> <scenario _operation="none" internalName="notifySupervisor"/> <folder _operation="none" name="nmsWkfOperation"/> <operation _operation="none" internalName="OP328"/> </workflow> </entities> </package>one more thing is this will not work with standard query because this variable will be treated as string you have to get the delivery ids using querydef script or if you know max number of variables then you can use following way:
<package author="Amit (amit)" buildDate="2017-03-27 09:53:13.990Z" buildNumber="8724" buildVersion="6.1"> <entities schema="xtk:workflow"> <workflow internalName="WKF762" label="Default workflow" modelName="opEmpty" scenario-cs="Notification of the workflow supervisor (notifySupervisor)" schema="nms:recipient" simulation="false"> <activities> <start label="Start" name="start" x="189" y="107"> <transitions> <initial name="initial" target="js"/> </transitions> </start> <end label="End" name="end" x="491" y="110"> <initScript>xtk.workflow.PostEvent('WKFTEST1','signal','', <variables varName= {vars.myVar} />,false)</initScript> </end> <js label="JavaScript code" name="js" x="338" y="109"> <transitions> <done name="done" target="end"/> <error name="error"/> </transitions> <script>vars.myVar = "95563,95564,95565";</script> </js> </activities> <variables/> <scenario _operation="none" internalName="notifySupervisor"/> <folder _operation="none" name="nmsWkfOperation"/> <operation _operation="none" internalName="OP328"/> </workflow> </entities> <entities schema="xtk:workflow"> <workflow internalName="WKFTEST1" label="New workflow" modelName="newOpEmpty" order="1136014743" scenario-cs="Notification of the workflow supervisor (notifySupervisor)" schema="nms:recipient" simulation="false"> <activities> <end label="End" name="end" x="720" y="136"/> <signal label="External signal" name="signal" x="176" y="136"> <transitions> <done name="done" target="js"/> </transitions> </signal> <js label="JavaScript code" name="js" x="328" y="136"> <transitions> <done name="done" target="query"/> <error name="error"/> </transitions> <script>var listOfIds = new Array(); for each (var sub in String(vars.varName).split(',')) listOfIds.push(parseInt(sub)); vars.listOfId1 = listOfIds[0]; vars.listOfId2 = listOfIds[1]; vars.listOfId3 = listOfIds[2];</script> </js> <query label="primary key is included in ToInteger($(vars/@listOfId1)), ToInteger($(vars/@listOfId2)), ToInteger($(vars/@listOfId3)), ToInteger($(vars/@listOfId4))" name="query" schema="nms:recipient" x="552" y="136"> <transitions> <result name="result" target="end"/> </transitions> <where filterName="backGroundFilterFrm" filteringSchema="nms:recipient"> <condition expr="@id IN (ToInteger($(vars/@listOfId1)), ToInteger($(vars/@listOfId2)), ToInteger($(vars/@listOfId3)), ToInteger($(vars/@listOfId4)))" internalId="3649241246"/> </where> <humanCond>Query: primary key is included in ToInteger($(vars/@listOfId1)), ToInteger($(vars/@listOfId2)), ToInteger($(vars/@listOfId3)), ToInteger($(vars/@listOfId4))</humanCond> </query> </activities> <variables/> <scenario _operation="none" internalName="notifySupervisor"/> <desc>Empty starting template to create a workflow for a marketing campaign</desc> <folder _operation="none" name="nmsWkfOperation"/> <operation _operation="none" internalName="OP328"/> </workflow> </entities> </package>