Learn how to retrieve all Automation from each BUs
<script runat="server">
Platform.Load("Core","1");
var api = new Script.Util.WSProxy();
api.setClientId({ "ID": '514012455' });
try {
var automations = retrieveAllAutomations();
Write('<table border="1" width="600" cellpadding="0" cellspacing="0" align="center">');
for (var i = 0; i < automations.length; i++) {
Write('<tr>');
Write('<td>' + automations[i].Name + '</td>');
Write('<td>' + getAutomationStatusName(automations[i].Status) + '</td>');
Write('</tr>');
}
Write('</table>');
} catch (err) {
Write(Stringify(err));
}
function retrieveAllAutomations() {
var out = [],
moreData = true,
reqID = data = null;
var cols = [
"Name",
"Description",
"CustomerKey",
"IsActive",
"CreatedDate",
"ModifiedDate",
"Status",
"ProgramID",
"CategoryID",
"LastRunTime",
"ScheduledTime",
"LastSaveDate",
"ModifiedBy",
"LastSavedBy",
"CreatedBy",
"AutomationType",
"RecurrenceID"
];
var filter = {
Property: 'Status',
SimpleOperator: 'IN',
Value: [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8]
};
var opts = {
BatchSize: 300
};
var props = {
QueryAllAccounts: true
};
while (moreData) {
moreData = false;
if (reqID) props.ContinueRequest = reqID;
var data = api.retrieve("Automation", cols, filter, opts, props);
if (data) {
moreData = data.HasMoreRows;
reqID = data.RequestID;
for (var i = 0; i < data.Results.length; i++) {
out.push(data.Results[i]);
}
}
}
return out;
}
function getAutomationStatusName(num) {
switch(num) {
case -1:
status = 'Error';
break;
case 0:
status = 'Building error';
break;
case 1:
status = 'Building';
break;
case 2:
status = 'Ready';
break;
case 3:
status = 'Running';
break;
case 4:
status = 'Paused';
break;
case 5:
status = 'Stopped';
break;
case 6:
status = 'Scheduled';
break;
case 7:
status = 'Awaiting trigger';
break;
case 8:
status = 'Inactive trigger';
break;
}
return status;
}
</script>