Tracking IVR Notifications

Is there a way to track when a customer calls into the IVR (ie before they move into a queue)? I'm not seeing anything that looks like it would work via the notifications api. Essentially I want to be able to get notified when a user calls in and then leaves before even going into a queue.

Thanks,

Dan

I don't believe there are any notifications that will provide real-time data about IVR conversations. I would suggest using an analytics conversation detail query at a regular interval and process the results to identify conversations that only had a customer/external and ivr participant (or customer, ivr, and queue for in-queue abandons) with no agent participant.

Thanks for the quick reply, Tim. I'm trying to build out this query in the query builder and I"m getting the following message:

Value [participantType] is not valid for field type [ConversationDetailDimension]. Allowable values are: conversationEnd, conversationId, divisionId, mediaStatsMinConversationMos, mediaStatsMinConversationRFactor, originatingDirection

Am I doing something wrong? This is essentially what the query looks like:

{
 "interval": "2019-10-17T04:00:00.000Z/2019-10-18T04:00:00.000Z",
 "order": "asc",
 "orderBy": "conversationStart",
 "paging": {
  "pageSize": 25,
  "pageNumber": 1
 },
 "conversationFilters": [
  {
   "type": "and",
   "clauses": [
    {
     "type": "and",
     "predicates": [
      {
       "type": "dimension",
       "dimension": "participantType",
       "operator": "matches",
       "value": "ivr"
      },
      {
       "type": "dimension",
       "dimension": "participantType",
       "operator": "matches",
       "value": "customer"
      }
     ]
    },
    {
     "type": "or",
     "predicates": [
      {
       "type": "dimension",
       "dimension": "conversationEnd",
       "operator": "matches",
       "value": ""
      }
     ]
    }
   ]
  },
  {
   "type": "or",
   "clauses": [],
   "predicates": []
  }
 ]
}```

Thanks,

Dan

Participant type goes in a segment filter.

I don't believe doing participantType == ivr && participantType == customer will work because a participant can't be both. I'd suggest only looking for an IVR participant and direction inbound. But you're going to have to iterate over the results and inspect the participants no matter what because a filter can't match the condition you're looking for.

Instead of conversationEnd == "", use the operator notExists. Having no value is different than having an empty string value.

Hi Tim,

Still getting the same error. Below is the query:

 "interval": "2019-10-18T04:00:00.000Z/2019-10-19T04:00:00.000Z",
 "order": "asc",
 "orderBy": "conversationStart",
 "paging": {
  "pageSize": 25,
  "pageNumber": 1
 },
 "conversationFilters": [
  {
   "type": "and",
   "predicates": [
    {
     "type": "dimension",
     "dimension": "participantType",
     "operator": "matches",
     "value": "ivr"
    },
    {
     "type": "dimension",
     "dimension": "direction",
     "operator": "matches",
     "value": "inbound"
    }
   ]
  }
 ]
}

This is the error:

  "readyState": 4,
  "responseText": "{\"status\":400,\"code\":\"invalid.value\",\"message\":\"Value [participantType] is not valid for field type [ConversationDetailDimension]. Allowable values are: conversationEnd, conversationId, divisionId, mediaStatsMinConversationMos, mediaStatsMinConversationRFactor, originatingDirection\"}",
  "responseJSON": {
    "status": 400,
    "code": "invalid.value",
    "message": "Value [participantType] is not valid for field type [ConversationDetailDimension]. Allowable values are: conversationEnd, conversationId, divisionId, mediaStatsMinConversationMos, mediaStatsMinConversationRFactor, originatingDirection"
  },
  "status": 400,
  "statusText": "Bad Request"
}

It seems to me that I can't use participantType in the query. Is this correct?

Thanks,

Dan

The dimension you want to use is actually purpose, not participantType. That said, you still need to use those predicates as segment filters, not conversation filters.

{
 "interval": "2019-10-14T06:00:00.000Z/2019-10-19T06:00:00.000Z",
 "order": "asc",
 "orderBy": "conversationStart",
 "paging": {
  "pageSize": 25,
  "pageNumber": 1
 },
 "segmentFilters": [
  {
   "type": "and",
   "predicates": [
    {
     "type": "dimension",
     "dimension": "purpose",
     "operator": "matches",
     "value": "ivr"
    },
    {
     "type": "dimension",
     "dimension": "direction",
     "operator": "matches",
     "value": "inbound"
    }
   ]
  }
 ]
}

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.