Determinación del tiempo de ACW (trabajo después de contacto) del agente del centro de contacto
No hay ningún evento en la secuencia de eventos del agente que indique cuánto tiempo pasa un contacto en el estado ACW y, por extensión, cuánto tiempo pasa un agente realizando el ACW. Sin embargo, hay otros datos en la secuencia de eventos del agente que se pueden utilizar para averiguarlo.
En primer lugar, identifique cuándo adoptó el contacto el estado TDC. Así es como debe hacerlo:
-
Identifique cuándo terminó (
ENDED
) la conversación entre el contacto y el agente. -
Consulte el valor
StateStartTimeStamp
del evento.
Por ejemplo, en la siguiente salida de una secuencia de eventos de un agente, el contacto adopta el estado TDC en "StateStartTimestamp": "2019-05-25T18:55:27.017Z".
sugerencia
En la secuencia de eventos del agente, los eventos aparecen en orden cronológico inverso. Le recomendamos que consulte cada uno de los siguientes ejemplos comenzando desde abajo.
{ "AWSAccountId": "012345678901", "AgentARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/agent/agent-ARN", "CurrentAgentSnapshot": { "AgentStatus": { "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/agent-state/agent-state-ARN", "Name": "Available", //This just refers to the status that the agent sets manually in the CCP. It means they are ready to handle contacts, not say, on Break. "StartTimestamp": "2019-05-25T18:43:59.049Z" }, "Configuration": { "AgentHierarchyGroups": null, "FirstName": "(Removed)", "LastName": "(Removed)", "RoutingProfile": { "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/routing-profile/routing-profile-ARN", "DefaultOutboundQueue": { "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-BasicQueue", "Name": "BasicQueue" }, "InboundQueues": [ { "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-BasicQueue", "Name": "BasicQueue" }, { "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-PrimaryQueue", "Name": "PrimaryQueue" } ], "Name": "Basic Routing Profile" }, "Username": "(Removed)" }, "Contacts": [ { "Channel": "VOICE", "ConnectedToAgentTimestamp": "2019-05-25T18:55:21.011Z", "ContactId": "ContactId-1", //This is the same contact the agent was working on when their state was CONNECTED (below). Since it's still the same contact but they aren't connected, we know the contact is now in ACW state. "InitialContactId": null, "InitiationMethod": "OUTBOUND", //This indicates how the contact was initiated. OUTBOUND means the agent initiated contact with the customer. INBOUND means the customer initiated contact with your center. "Queue": { "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-BasicQueue", "Name": "BasicQueue" }, "QueueTimestamp": null, "State": "ENDED", //This shows the conversation has ended. "StateStartTimestamp": "2019-05-25T18:55:27.017Z" //This is the timestamp for the ENDED event (above), which is when the contact entered ACW state. } ] }, "EventId": "EventId-1", "EventTimestamp": "2019-05-25T18:55:27.017Z", "EventType": "STATE_CHANGE", //This shows that the state of the contact has changed; above we can see the conversation ENDED. "InstanceARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111", "PreviousAgentSnapshot": { "AgentStatus": { "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/agent-state/agent-state-ARN", "Name": "Available", //This just refers to the status that the agent sets manually in the CCP. It means they were ready to handle contacts, not say, on Break. "StartTimestamp": "2019-05-25T18:43:59.049Z" }, "Configuration": { "AgentHierarchyGroups": null, "FirstName": "(Removed)", "LastName": "(Removed)", "RoutingProfile": { "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/routing-profile/routing-profile-ARN", "DefaultOutboundQueue": { "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-BasicQueue", "Name": "BasicQueue" }, "InboundQueues": [ { "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-BasicQueue", "Name": "BasicQueue" }, { "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-PrimaryQueue", "Name": "PrimaryQueue" } ], "Name": "Basic Routing Profile" }, "Username": "(Removed)" }, "Contacts": [ { "Channel": "VOICE", //This shows the agent and contact were talking on the phone. "ConnectedToAgentTimestamp": "2019-05-25T18:55:21.011Z", "ContactId": "ContactId-1", //This shows the agent was working with a contact identified as "ContactId-1". "InitialContactId": null, "InitiationMethod": "OUTBOUND", "Queue": { "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-BasicQueue", "Name": "BasicQueue" }, "QueueTimestamp": null, "State": "CONNECTED", //This shows the contact was CONNECTED to the agent, instead of say, MISSED. "StateStartTimestamp": "2019-05-25T18:55:21.011Z" //This shows when the contact was connected to the agent. } ] }, "Version": "2019-05-25" }
Después, determine en qué momento salió el contacto del estado TDC. Así es como debe hacerlo:
-
Busque dónde no tiene contactos
CurrentAgentSnapshot
y dónde el estado del contacto que aparece enPreviousAgentSnapshot
es igual a ENDED.Dado que también se produce un evento STATE_CHANGE cuando la configuración del agente cambia (por ejemplo, cuando se le asigna un perfil de direccionamiento diferente), este paso confirma que tiene el evento adecuado.
-
Busque dónde
EventType
es igual a "STATE_CHANGE". -
Observe su valor
EventTimeStamp
.
Por ejemplo, en el siguiente archivo de secuencia de eventos del agente, el contacto salió del estado TDC en "EventTimestamp": "2019-05-25T18:55:32.022Z".
{ "AWSAccountId": "012345678901", "AgentARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/agent/agent-ARN", "CurrentAgentSnapshot": { "AgentStatus": { "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/agent-state/agent-state-ARN", "Name": "Available", //This just refers to the status that the agent sets manually in the CCP. It means they are ready to handle contacts, not say, on Break. "StartTimestamp": "2019-05-25T18:43:59.049Z" }, "Configuration": { "AgentHierarchyGroups": null, "FirstName": "(Removed)", "LastName": "(Removed)", "RoutingProfile": { "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/routing-profile/routing-profile-ARN", "DefaultOutboundQueue": { "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-BasicQueue", "Name": "BasicQueue" }, "InboundQueues": [ { "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-BasicQueue", "Name": "BasicQueue" }, { "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-PrimaryQueue", "Name": "PrimaryQueue" } ], "Name": "Basic Routing Profile" }, "Username": "(Removed)" }, "Contacts": [] //Since a contact isn't listed here, it means ACW for ContactId-1 (below) is finished, and the agent is ready for a new contact to be routed to them. }, "EventId": "477f2c4f-cd1a-4785-b1a8-97023dc1229d", "EventTimestamp": "2019-05-25T18:55:32.022Z", //Here's the EventTimestamp for the STATE_CHANGE event. This is when the contact left ACW. "EventType": "STATE_CHANGE", //Here's the STATE_CHANGE "InstanceARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111", "PreviousAgentSnapshot": { "AgentStatus": { "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/agent-state/agent-state-ARN", "Name": "Available", //This just refers to the status that the agent sets manually in the CCP. It means they were at work, not say, on Break. "StartTimestamp": "2019-05-25T18:43:59.049Z" }, "Configuration": { "AgentHierarchyGroups": null, "FirstName": "(Removed)", "LastName": "(Removed)", "RoutingProfile": { "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/routing-profile/routing-profile-ARN", "DefaultOutboundQueue": { "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-BasicQueue", "Name": "BasicQueue" }, "InboundQueues": [ { "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-BasicQueue", "Name": "BasicQueue" }, { "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-PrimaryQueue", "Name": "PrimaryQueue" } ], "Name": "Basic Routing Profile" }, "Username": "(Removed)" }, "Contacts": [ { "Channel": "VOICE", "ConnectedToAgentTimestamp": "2019-05-25T18:55:21.011Z", "ContactId": "ContactId-1", //This is the ContactId of the customer the agent was working on previously. "InitialContactId": null, "InitiationMethod": "OUTBOUND", "Queue": { "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-BasicQueue", "Name": "BasicQueue" }, "QueueTimestamp": null, "State": "ENDED", //The ACW for ContactId-1 has ended. "StateStartTimestamp": "2019-05-25T18:55:27.017Z" } ] }, "Version": "2019-05-25" }
Por último, para calcular el período de tiempo que el contacto estuvo en el estado TDC y, por lo tanto, cuánto tiempo estuvo el agente trabajando en él:
-
Reste el valor de "StateStartTimestamp": "2019-05-25T18:55:27.017Z" del valor de "EventTimestamp": "2019-05-25T18:55:32.022Z".
En este ejemplo, el agente pasó 5,005 segundos haciendo el TDC de ContactId-1.