Email in queue

Email on the ‘secondary’ agents 

If you have a Puzzel solution with requests using media type email (used for "real" email, e-tasks (any written request identified with a URL) or Scheduled tasks), the conversation events for email requests will include an agent_id that is different from the same agent's phone (main) agent_id.

Each phone (main) agent_id will have one or more ‘secondary’ agent ids used for chat, email and social media requests. Ref the chapter about Chat.

The “old” Puzzel email allocation solution was that email was treated like phone, that is, one agent could handle one phone call OR one email at the same time (email on the ‘main‘ agent). If all or some of your Puzzel agents earlier used this old email allocation solution, the agent_id in the conversation event for email was the agent_id of the ‘main’ agent, that is, the same agent_id as used for phone.

After September 2020 there should be no more emails handled on the ‘main’ agent.

Pre-initiation event

An incoming request with media type email to a Puzzel queue first results in one Pre-Initiation event (event_type=p), which contains timestamp, source, destination and queue_key for the email request (and request_id from db v1.7), so that it is possible to count arrived requests with media type email before they are answered.

Then, when the email is answered by agent (or deleted from queue), Puzzel generates the ordinary records; Initiation event, Queue event and one or more Conversation events. The events in the second session will have the same call_id as the first session with the Pre-Initiation event.

The Conversation events for email may result in answer/accepted (result k), busy/reject (b), timeout (t) or setup timeout (c). Wrap-up is not possible for conversation events for email (requests handled on ‘secondary’ agents). The agent closes the Dialog tab for the email in the Puzzel agent application when he/she has finished handling this email request.

A special case:

If an email stays in a Puzzel queue longer than the allowed max time, the request (and the session) will be deleted. Today we don’t generate more records than the already delivered pre-Initiation event in this case. This might be changed in the future.

Delete email from queue and delete email connected to agent

If a Puzzel admin deletes an email from queue (that is, before it’s accepted by an agent), this results in an Initiation event and in a Queue event with result_code=d.

Please note that result_code=d means deleted for Queue events and default for Menu events. See also Delete Callback request from Queue.

Delete “Ongoing” email request

  • If an email request is offered to an agent who accepts it, but the agent does not close the email tab in the Puzzel agent application within 72 hours, Puzzel will delete the email request, set the (secondary) agent status back to available, and generate raw data records (initiation event, queue event and conversation event (with duration 72h))
  • If an admin deletes an “ongoing email request”, that is, an email connected to an agent (e.g. when an agent left for the day/week-end with an active email tab), the system will generate raw data records (initiation event, queue event and conversation event (with duration until the delete happened))

Put email in Personal queue

If configured, the agent can put an accepted email in Personal queue and later pick it up and finish it. This results in 2 conversation events for the agent separated by a queue event with queue_key «__EMAIL_personal».

Agent transfers email to queue

If the agent accepts an email and then transfers it to another queue, this will result in a new queue event and then a new conversation event, similar to call transfer to queue.

Agent transfers email to agent

If configured, the agent can transfer an accepted email to another agent. Such a transfer will result in a queue event (queue_key = «__EMAIL_transfer») and then a conversation event for the agent that picked the email from EMAIL_transfer queue.

Email moved to another queue

If an email request in queue is moved to another email queue using API RequestEtaskUpdate, there will be one queue event with result 'm' (moved) and a new queue event for the next queue.

Email/Etask using the Puzzel “script engine”

A typical solution:

  1. An etask/email request is sent to Puzzel, and Puzzel sends it to the “arrival” queue
  2. The E-task arrival queue immediately sends the request to an automated agent, which runs a script (analysing information).
  3. The automated agent transfers the request to another queue
  4. When the request is «first» in this queue, it’s sent to a live agent, who accepts it and does the etask/answers the email

The raw data events will be similar to the events for emails handled by live agents.


Puzzel Case Management (PCM)

Puzzel Case Management (PCM) adds, edits and deletes requests in Puzzel Contact Centre (PCC) queues (with media type email).

  1. When an email arrives in PCM (and no Ticked exist), a request is added to a PCC queue.
  2. When an email arrives in PCM and a Ticket already exist, a new request is added to PCC queue with a reserved agent.
  3. If a user collects a Ticket/assigns a Ticket to herself from within PCM, the corresponding request is deleted from the PCC queue
  4. If a user changes Team for a Ticket in PCM and there is a corresponding request in queue, the request is moved to the new queue if the new Team is linked to PCC. If the new Team is not linked to PCC, the request is deleted from queue.
  5. If a user changes status on a Ticket in PCM
    …from Open to Resolved, the existing request in queue is deleted 
    ...from Resolved to Open, a new request is added to PCC queue
  6. If assigned User is changed on an Open Ticket in PCM…
    ... and there is no corresponding request in queue, a new request is added to queue
    ...and there is a corresponding request in queue, the request’s reserved agent is removed or changed, or the request is deleted if the new user has no PCC user_id.

This means that there will more requests added to PCC queues than emails/Tickets in PCM, and several requests are deleted from queue. Thus, there will naturally be a mismatch in the reports on these two.

In report Details per queue for email and social media we strongly suggest you add the optional columns Deleted from queue and Moved to another queue to get a better overview. 

All PCC requests related to one Ticket in PCM can have the same Ticket-id as a ‘variable’ in Raw data shown in table call_variables, and if so, this variable is also shown for the requests in Archive.

In Puzzel Raw data, Archive and PCC Statistics reports there will be one incoming email (one session) for each request added to queue. One email (PCM) session contains Pre-initiation, Initiation, Queue, and Conversation events, but if the email request was deleted from queue before it was allocated to agent there will be no conversation event.

Statistics generated from PCM will differ from PCC Raw data/Archive/statistics due to the cases listed above.

Information about PCM Reporting can be found here



Last updated