08-20-2025 03:23 AM
HI
Just looking at pulling a number of fields from the various Report Data Types via GraphQL
| Report Data Type | Graphql Query | Data Dict |
| Customer Session Record | taskDetail | https://github.com/WebexSamples/webex-contact-center-api-samples/blob/main/reporting-samples/graphql-sample/DataDictionary/CSR.md |
| Customer Activity Record | taskDetail | https://github.com/WebexSamples/webex-contact-center-api-samples/blob/main/reporting-samples/graphql-sample/DataDictionary/CAR.md |
| Agent Session Record | AgentSession | https://github.com/WebexSamples/webex-contact-center-api-samples/blob/main/reporting-samples/graphql-sample/DataDictionary/ASR.md |
| Agent Activity Record | AgentSession | https://github.com/WebexSamples/webex-contact-center-api-samples/blob/main/reporting-samples/graphql-sample/DataDictionary/AAR.md |
| Queue Record | taskLegDetails | https://github.com/WebexSamples/webex-contact-center-api-samples/blob/main/reporting-samples/graphql-sample/DataDictionary/CLR.md |
i have built a number of queries but i am not able to match some of the fields in the dictionary so for example in the CSR based query i cant find the isCampaign or outdialType or any of the fields i have had to comment out with a #. im seeing the same on agentSession, and taskLeg. Can anyone help explain ?
task(
#From and To timestamps in Epoch Time
from: 1735736400000
to: 1735740000000
#Start with Page 0
pagination: { cursor: "0" }
) {
tasks {
id # (String) 'A unique string that identifies the contact session.'
status # (String) 'Current state of the contact. Eg: available, idle, ringing, wrapup, etc.'
channelType # (String) 'The media type of the contact, such as telephony, email, or chat.'
createdTime # (Long) 'Time when the contact started.'
endedTime # (Long) 'Time when the contact ended.'
origin # (String) 'ANI digits delivered with a call.'
destination # (String) 'DNIS digits delivered with the call.'
contactReason # (String) 'The reason why the customer is contacting the call center.'
direction # (String) 'Indicates whether the call is an inbound or an outbound call.'
terminationType # (String) 'A text string specifying how a call was terminated.'
channelSubType # (String) 'The Social Channels (Facebook and SMS) are displayed .'
customer{name} # (String) 'Name of the customer.'
customer{phoneNumber} # (String) 'Phone number of the customer.'
customer{email} # (String) 'Email address of the customer.'
isActive # (Boolean) 'Flag that indicates whether the session is active.'
# isCampaign # (Boolean) 'Indicates whether the call was part of a campaign or not.'
# outdialType # (String) 'This field indicates the type of outdial call. Eg. Preview campaign, Progressive campaign,etc'
isCallback # (Boolean) 'Indicates whether the customer has requested for a call back.'
# cpaStatus # (String) 'Indicates the cpaStatus of the campaign Call, LIVE_VOICE, ABANDONED.'
channelMetaData{email{subject}} # (String) 'Subject of the email.'
#channelMetaData{email.metadata} # (String) 'Additional information attached to an email message that contains details about the message and its transmission.'
channelMetaData{chat{chatReason}} # (String) 'Reason why the customer is in chat with the support team.'
channelMetaData{inBoundTranscript} # (String) 'Entire chat transcript or inbound email transcript.'
channelMetaData{outBoundTranscript} # (String) 'Outbound email transcript.'
callbackData{callbackRequestTime} # (Long) 'The time at which the customer opted for the callback.'
callbackData{callbackConnectTime} # (Long) 'Time at which the callback was connected between the agent and the customer.'
callbackData{callbackNumber} # (String) 'Number based on the ANI or the number that was configured in the workflow.'
callbackData{callbackStatus} # (String) 'Status of the callback—either success or not processed.'
callbackData{callbackOrigin} # (String) 'The source of the callback. It can be web, chat, or IVR.'
callbackData{callbackType} # (String) 'The type of the callback. It can be Courtesy or Web UI'
callbackData{callbackQueueName} # (String) 'Name of the queue used for callback.'
callbackData{callbackAgentName} # (String) 'Name of the agent making the callback.'
callbackData{callbackTeamName} # (String) 'The name of the team to which the agent who performs the callback belongs.'
callbackData{callbackRetryCount} # (Int) 'The number of times a callback retry failed.'
recordingLocation # (String) 'The location of the conversation record file.'
lastQueue{id} # (String) 'Id of the the last queue to which the call was parked to in the Webex Contact Center system.'
lastQueue{name} # (String) 'Name of the last queue to which the call was queued to in the Webex Contact Center system.'
lastQueue{duration} # (Long) 'The amount of time in milli-seconds that a contact spent in last queue waiting.'
lastSite{id} # (String) 'The id assigned to the last call center location.'
lastSite{name} # (String) 'The name of the last contact center location to which the task was distributed.'
lastTeam{id} # (String) 'The id assigned to the last team.'
lastTeam{name} # (String) 'A group of agents at the last site who handle a particular type of call.'
lastEntryPoint{id} # (String) 'Id assigned to the last entry point.'
lastEntryPoint{name} # (String) 'Name of the last entrypoint, which is the landing place for customer calls on the Webex Contact Center system.'
previousQueue{id} # (String) 'Id of the previous queue associated with the interactions.'
previousQueue{name} # (String) 'Name of the previous queue associated with the interactions.'
# preferredAgentSystemId # (String) 'A string that identifies preferred agent.'
# terminationReason # (String) 'The reason for ending the call. The reason can be one of the following: Agent Left, Customer Busy, Customer Left, Customer Unavailable, Not Found, Participant Invite Timer Expired, etc.'
# ivrScriptName # (String) 'The name of the flow in the Call Control section of the routing strategy configuration.'
# ivrScriptTagName # (String) 'The name of the flow tag in the Call Control section of the routing strategy configuration.'
# abandonedType # (String) 'The Abandoned Type is set when the call is abandoned.'
# contactHandleType # (String) 'Shows how the call was handled: short, abandoned, or normal.'
# feedback{surveyOptIn} # (String) 'Indicates whether the customer has opted for feedback.'
# feedback{type} # (String) 'The type of survey that the customers have opted for (Inline survey or Deferred survey).'
# feedback{questionsAnswered} # (Int) 'Number of questions answered as part of IVR post call survey.'
# feedback{surveyCompleted} # (Boolean) 'Total number of customers who completed the survey.'
# feedback{questionsPresented} # (Int) 'Total number of questions posted to the customers as part of IVR post call survey.'
# feedback{comment} # (String) 'Customer feedback comment.'
# firstQueueName # (String) 'Name of the the first queue parked in the Webex Contact Center system.'
# terminatingEnd # (String) 'Indicates the party that terminated the interaction.(agent, customer,system).'
# lastWrapUpCodeId # (String) 'A string that identifies the wrapup code.'
lastWrapupCodeName # (String) 'Wrapup code that the agent gave for the interaction.'
# lastAgent{id} # (String) 'A string that identifies the last agent.'
# lastAgent{name} # (String) 'Name of the agent, that is, a person who answers customer calls.'
# lastAgent{signInId} # (String) 'Login name using which an agent signs in to the Agent Desktop.'
# lastAgent{sessionId} # (String) 'A string that identifies an agent login session.'
# lastAgent{phoneNumber} # (String) 'The endpoint (number) on which an agent receives calls.'
# lastAgent{channelId} # (String) 'ID assigned to the media channel to which the agent is logged in.'
# abandonedSlCount # (Int) 'Number of calls that got terminated while in queue within the Service Level threshold provisioned for the queue or skill.'
# agentHangupCount # (Int) 'Number of times an agent hung up a call.'
# botName # (String) 'Name of the bot.'
# chainedInToEPCount # (Int) 'Calls transferred from one entrypoint to another.'
# chainedInToQueueCount # (Int) 'Calls moved from entrypoint to Queue.'
# emailBody # (String) 'Body of the email.'
# emailContent # (String) 'Content of the email.'
# emailContentType # (String) 'Content type of the email.'
# emailDate # (Long) 'Date on which the email was received.'
# emailFullMessage # (String) 'Full message of the email.'
# emailMessageId # (String) 'A unique string that identifies email message.'
# emailRef # (String) 'Reference of the email.'
# emailReplyBody # (String) 'Body of the reply to the email.'
# emailReplyContentType # (String) 'Content type of the reply to an email.'
# epTransferToEPCount # (Int) 'Calls transferred from one EP to another.'
# firstQueueId # (String) 'ID of the first queue in which the task is lined up.'
# fullMonitoringCount # (Int) 'Number of calls that were completely monitored.'
# isHandledByPreferredAgent # (Boolean) 'Indicates whether the contact was handled by preferred agent.'
# ivrEndedCount # (Int) 'Number of times the contact was ended in IVR state.'
# midcallMonitoringCount # (Int) 'Number of calls for which monitoring started midcall.'
# emailBccList # (String) 'List of BCC for the email.'
# emailCcList # (String) 'List of CC for the email.'
# emailReplyTo # (String) 'Reply to the sender of the email.'
# emailToList # (String) 'List of recipients of the email.'
# isEmailSent # (Boolean) 'Flag that indicates whether email was sent.'
# emailHasAttachments # (Boolean) 'It denotes if the email has any attachments or not.'
# routingType # (String) 'Contacts are routed to the agent based strategy that could be skillBased and Longest Available.'
# ivrScriptId # (String) 'A string that identifies IVR.'
# ivrScriptTagId # (String) 'A string that identifies the IVR's flow tag.'
# campaignId # (String) 'unique id of the campaign.'
# campaignName # (String) 'Name of the campaign created.'
# campaignStatus # (String) 'Status of the campaign call—either success or failure.'
# flowActivityName # (String) 'Name of the flow activity.'
# flowActivitySequence # (String) 'A string with the sequence of flow activities the interaction went through separated by comma.'
totalDuration # (Long) 'The amount of time, in milli-seconds, that a customer was engaged in the session.'
csatScore # (Int) 'Customer satisfaction score.'
blindTransferCount # (Int) 'The number of times a call was transferred by an agent to another agent or an external DN (Dial Number) via a blind transfer.'
conferenceCount # (Int) 'Number of times an agent established a conference call with the caller and another agent.'
conferenceDuration # (Long) 'The amount of time an agent spent in conference with a caller and another agent.'
consultCount # (Int) 'Number of times an agent initiated a consult call with another agent or someone at an external number while handling a call.'
consultDuration # (Long) 'The amount of time an agent spent consulting with another agent while handling a call.'
holdCount # (Int) 'Number of times an agent put an inbound caller on hold.'
holdDuration # (Long) 'Total duration for which a call was on hold.'
selfserviceCount # (Int) 'Number of times the contact was in IVR.'
selfserviceDuration # (Long) 'The amount of time, in milli-seconds, during which a call was in IVR.'
connectedCount # (Int) 'Number of times the contact connected to an agent.'
connectedDuration # (Long) 'Duration of connected (talking) state within this interaction.'
consultToQueueCount # (Int) 'Number of consult-to-queue within an interaction.'
consultToQueueDuration # (Long) 'Total duration spent on consult-to queue within an interaction.'
transferCount # (Int) 'The number of times a call was transferred by an agent.'
wrapupDuration # (Long) 'Total time the agents spent in the Wrapup state after handling interactions.'
ringingDuration # (Long) 'The amount of time in milli-seconds spent by the agent in the ringing state, during the session.'
queueDuration # (Long) 'The amount of time, in milli-seconds, that a contact spent in queue waiting.'
queueCount # (Int) 'Number of queues that the contact entered in its entirety.'
captureRequested # (Boolean) 'Flag that indicates whether the contact was recorded.'
isTranscriptionAvailable # (Boolean) 'Indicates whether transcription available(true) or not available(null).'
consultToEPCount # (Int) 'Number of calls that went for consult to EP.'
consultToEPDuration # (Long) 'Duration in milli-seconds, for consult to EP.'
outdialConsultToEPCount # (Int) 'Number of times the call had a consult to Entry Point within an outdial interaction'
outdialConsultToEPDuration # (Long) 'The duration in milli-seconds for consult to EP-DN in case of outdial call.'
agentToDnTransferCount # (Int) 'The number of times a call was transferred from an agent.'
agentToAgentTransferCount # (Int) 'The number of times an agent transferred inbound contacts to another agent.'
callCompletedCount # (Int) 'Number of calls that were completed.'
autoCsat # (String) 'The autoCsat is a score assigned to a contact centre interaction based on operational metrics and the customer agent sentiments associated with that interaction.'
#integerGlobalVariables{name} # (String) 'Name or title associated with an Integer entity.'
#integerGlobalVariables{value} # (Int) 'Numeric value of type Integer associated with an entity.'
#stringGlobalVariables{name} # (String) 'Name or title associated with an String entity.'
#stringGlobalVariables{value} # (String) 'Numeric value of type String associated with an entity.'
#longGlobalVariables{name} # (String) 'Name or title associated with a Long entity.'
#longGlobalVariables{value} # (Long) 'Numeric value of type Long associated with an entity.'
#doubleGlobalVariables{name} # (String) 'Name or title associated with an double entity.'
#doubleGlobalVariables{value} # (Float) 'Numeric value of type Double associated with an entity.'
#booleanGlobalVariables{name} # (String) 'Name or title associated with an boolean entity.'
#booleanGlobalVariables{value} # (Boolean) 'Boolean value associated with an entity.'
# globalVariables # (JSON) 'All global variables associated with that call session id'
# matchedSkills # (JSON) 'The skill of an agent that matched the skill requirements for the call session.'
# requiredSkills # (JSON) 'The required skill of an agent for the call session.'
# matchedSkillsProfile # (String) 'The name of the skill profile, which an agent is associated to.'
# skillsAssignedIn # (String) 'The entity on which the skills are assigned to the task, Possible values are - queue, flow or null.'
# isWithInServiceLevel # (Boolean) 'Flag that indicates whether the call is within the service level threshold.'
# isContactOffered # (Boolean) 'Indicates whether the call was offered to an agent.'
# transferErrorCount # (Int) 'Transfer Error Count.'
# isContactEscalatedToQueue # (Boolean) 'Indicates whether the call was escalated to queue.'
# isOptOutOfQueue # (Boolean) 'True indicates it is an opt-out call.'
# isContactHandled # (Boolean) 'Flag that indicates whether the contact was handled by an agent.'
outdialConsultToQueueCount # (Int) 'Number of times the call had a consult-to-queue within an outdial interaction'
outdialConsultCount # (Int) 'Number of times the call had any kind of consult within an outdial interaction'
# overflowCount # (Int) 'Count of calls overflown in queue.'
# pausedCount # (Int) 'Number of times a call was in paused state.'
# pausedDuration # (Long) 'The amount of time in milli-seconds during which a call was in pause state.'
# previousAgentId # (String) 'A string that identifies an agent.'
# previousAgentSessionId # (String) 'A string that identifies an agent’s login session.'
# previousAgentName # (String) 'Name of an agent, that is, a person who answers customer calls.'
# queueTransferToEPCount # (Int) 'Number of times a call was transferred from a queue to an EP.'
# queueTransferToQueueCount # (Int) 'Number of times a call was transferred from a queue to another queue.'
# recordingFileSize # (Long) 'Represents the size of the recorded file.'
# recordingCount # (Int) 'The number of times a call was recorded.'
# recordingErrorCount # (Int) 'Recording error count.'
# resumedCount # (Int) 'Number of times a call was resumed.'
# shortInIVRCount # (Int) 'Indicates if a call was terminated as short while in IVR state. A call is considered short if terminated within the configured Short Call Threshold, calculated from the start of the call.'
# shortInQueueCount # (Int) 'Indicates if a call was terminated as short while in parked state. A call is considered short if terminated within the configured Short Call Threshold, calculated from the start of the call.'
# silentMonitoringCount # (Int) 'Number of times a contact was silently monitored.'
# recordingStereoBlobId # (String) 'String identifier for the blob that contains recording of the call in stereo.'
# suddenDisconnectCount # (Int) 'Indicates if the call was terminated with a sudden disconnect. A call is considered suddenly disconnected if it is terminated within the configured sudden disconnect threshold after connecting to an agent.'
# totalMonitoringCount # (Int) 'Number of times a contact was monitored.'
# outdialConsultToQueueDuration # (Long) 'Total duration spent on consult-to queue within an outdial interaction.'
# transferInToEPCount # (Int) 'Count of calls transferred by agents to EP.'
# isOutdial # (Boolean) 'Flag that indicates whether this was an outdial contact or not.'
# monitoringTimestamp # (Long) 'Timestamp at which the supervisor started the monitoring.'
isRecordingDeleted # (Boolean) 'Flag that indicates whether the recording has been deleted.'
# isMonitored # (Boolean) 'Flag indicates whether the call is being monitored.'
# monitorFullName # (String) 'Name of the supervisor who is monitoring the call'
# isBarged # (Boolean) 'Indicates whether the call was monitored.'
# bargedInDuration # (Long) 'Duration (in milli-seconds) between barged-started and ended events.'
# bargedInCount # (Int) 'Number of times a call was Barged In.'
# bargedInFailedCount # (Int) 'Count of barged-failed events.'
# preferredAgentName # (String) 'Name of the Preferred Agent or the name of the preferred agent who made the callback to the contact in queue.'
# agentTransferedInCount # (Int) 'Number of times a call was transferred to an agent.'
# agentToEntrypointTransferCount # (Int) 'Number of times a call was transferred from an agent to an EP.'
# agentToQueueTransferCount # (Int) 'Number of times a call was transferred from an agent to a queue.'
# totalBnrDuration # (Long) 'noise reduction total duration.'
# lastActivityTime # (Long) 'The time when the realtime process updated the record.'
# postCallDuration # (Long) 'The duration, in milliseconds, for which the media connection remained active after the customer left.'
# manualAssignCount # (Int) 'The number of times agents manually assigned the contact to themselves.'
# contactPriority # (Int) 'The assigned priority (via flow) when the contact enters the queue.'
# transferEpDN # (String) 'EP-DN number to which transfer was done.'
}
#Pagination Information
pageInfo {
endCursor
hasNextPage
}
}
08-20-2025 06:33 AM
@spencer-robinson it might be best to open a support ticket for this query - https://developer.webex.com/explore/support . We could then clarify it and engage engineering if needed.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide