{
  "name": "Get Waiting Interactions in Queue",
  "integrationType": "purecloud-data-actions",
  "actionType": "custom",
  "config": {
    "request": {
      "requestUrlTemplate": "/api/v2/analytics/queues/observations/query",
      "requestType": "POST",
      "headers": {},
      "requestTemplate": "{\n  \"filter\": {\n    \"type\": \"AND\",\n    \"clauses\": [\n      {\n        \"type\": \"OR\",\n        \"predicates\": [\n          {\n            \"dimension\": \"queueId\",\n            \"value\": \"${input.QueueId}\"\n          }\n        ]\n      }\n    ]\n  },\n  \"metrics\": [\n    \"oWaiting\"\n  ]\n}"
    },
    "response": {
      "translationMap": {
        "CallbackWaitingArray": "$.results[?(@.group.mediaType=='callback')].data[0].stats.count",
        "MessageWaitingArray": "$.results[?(@.group.mediaType=='message')].data[0].stats.count",
        "ChatWaitingArray": "$.results[?(@.group.mediaType=='chat')].data[0].stats.count",
        "EmailWaitingArray": "$.results[?(@.group.mediaType=='email')].data[0].stats.count",
        "VoiceWaitingArray": "$.results[?(@.group.mediaType=='voice')].data[0].stats.count"
      },
      "translationMapDefaults": {
        "CallbackWaitingArray": "[]",
        "MessageWaitingArray": "[]",
        "ChatWaitingArray": "[]",
        "EmailWaitingArray": "[]",
        "VoiceWaitingArray": "[]"
      },
      "successTemplate": "{\n  \"CallbackWaiting\": ${successTemplateUtils.firstFromArray(\"${CallbackWaitingArray}\",\"0\")},\n  \"VoiceWaiting\": ${successTemplateUtils.firstFromArray(\"${VoiceWaitingArray}\",\"0\")},\n  \"ChatWaiting\": ${successTemplateUtils.firstFromArray(\"${ChatWaitingArray}\",\"0\")},\n  \"EmailWaiting\": ${successTemplateUtils.firstFromArray(\"${EmailWaitingArray}\",\"0\")},\n  \"MessageWaiting\": ${successTemplateUtils.firstFromArray(\"${MessageWaitingArray}\",\"0\")}\n}"
    }
  },
  "contract": {
    "input": {
      "inputSchema": {
        "type": "object",
        "required": [
          "QueueId"
        ],
        "properties": {
          "QueueId": {
            "type": "string"
          }
        }
      }
    },
    "output": {
      "successSchema": {
        "type": "object",
        "properties": {
          "CallbackWaiting": {
            "type": "integer"
          },
          "VoiceWaiting": {
            "type": "integer"
          },
          "ChatWaiting": {
            "type": "integer"
          },
          "EmailWaiting": {
            "type": "integer"
          },
          "MessageWaiting": {
            "type": "integer"
          }
        }
      }
    }
  },
  "secure": false
}