Retrieve a Query Activity's status verified

Learn how to retrieve a Query Activity's status in Salesforce Marketing Cloud (SFMC) with SSJS (server-side JavaScript). Code snippets include WSProxy and REST API methods.

WSProxy

var api = new Script.Util.WSProxy();

var name = "MyNewQuery";

var filter = {
    Property: "Name", 
    SimpleOperator: "equals",
    Value: name 
};

var request = api.retrieve("QueryDefinition", ["Status"], filter);

var result = request.Results[0].Status;
<script runat="server">

    Platform.Load("core", "1");

    var api = new Script.Util.WSProxy();

    try {

        var name = "MyNewQuery";

        var filter = {
            Property: "Name", 
            SimpleOperator: "equals",
            Value: name 
        };

        var request = api.retrieve("QueryDefinition", ["Status"], filter);

        var result = request.Results[0].Status;

        Write(Stringify(result));

    } catch (error) {

        Write(Stringify(error));

    }

</script>
"Active"

REST API

var queryDefinitionId =  "S0M3-GU1D-K3Y-G03SR1G4T-H3R3";

var endpoint = restInstanceUrl + "automation/v1/queries/" + queryDefinitionId + "/actions/isrunning/";

var request = new Script.Util.HttpRequest(endpoint);
    request.emptyContentHandling = 0;
    request.retries = 2;
    request.continueOnError = true;
    request.setHeader("Authorization", "Bearer " + accessToken);
    request.method = "GET";
    request.contentType = "application/json";
    request.encoding = "UTF-8";

var results = request.send();

var result = Platform.Function.ParseJSON(String(results.content));
<script runat="server">

    Platform.Load("core", "1");

    var api = new Script.Util.WSProxy();

    var restInstanceUrl = "https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com/",
        accessToken     = "YOUR_REST_API_TOKEN";
	
	try {

        var queryDefinitionId =  "S0M3-GU1D-K3Y-G03SR1G4T-H3R3";

        var endpoint = restInstanceUrl + "automation/v1/queries/" + queryDefinitionId + "/actions/isrunning/";

        var request = new Script.Util.HttpRequest(endpoint);
            request.emptyContentHandling = 0;
            request.retries = 2;
            request.continueOnError = true;
            request.setHeader("Authorization", "Bearer " + accessToken);
            request.method = "GET";
            request.contentType = "application/json";
            request.encoding = "UTF-8";

        var results = request.send();

        var result = Platform.Function.ParseJSON(String(results.content));

        Write(Stringify(result));
		
	} catch(error) {
        Write(Stringify(error));
    }	

</script>
{
    "queryDefinitionId": "S0M3-GU1D-K3Y-G03SR1G4T-H3R3",
    "isRunning": false
}

WARNING

REST API can only indicate if the Query is running or not.

Reference

Ressources and references related to the current methods.

SOAP object

Help me turn coffee into code

This website is provided to you free of charge. However, a lot of time and effort are spent to write, test and mainain the code. Please consider supporting my work by buying me a cup of coffee.

Last Updated: