Puzzel Contact Centre - Release Notes April 2019

This document provides an overview of changes and additional features included in the Puzzel Contact Centre Solution April Release 2019, implemented in the evening of April 30th, 2019

The changes made in this release mainly concern the following areas:

  • Agent Application
  • Administration Portal
  • Microsoft Dynamics CRM Widget
Some of these features require a customised set-up before they can be activated. In addition, some features may have a set-up and/or monthly cost element associated to it. 

Agent applications

New Agent Application

Softphone Improvements


For Softphone, we’ve added the support for auto-answer for incoming calls. This is enabled/disabled in the “Softphone” section of the “Settings” tab. When enabled, you will hear a short ringing tone as a notification for the incoming call.

This setting does not affect manually initiated outbound calls or predictive dialler calls, where auto-answer is hard coded to always be enabled.

Test call

To help you check the quality of your audio, we have made a test-feature that enables you to record a short message and listen to it right away, using your preferred headset. The test call is initiated in the “Softphone” section of the “Settings” tab and requires that you are logged off queues.

Scheduled Call

We have added support for scheduling calls. This is a feature that requires the agent to have access to the new “Scheduled Calls” tab, enabled in the admin portal, under “Widget -> Tab Configuration”.

When given access you can open the Scheduled Calls tab from the tab menu, like with all other function tabs.

To add a scheduled call, click on the “Add Scheduled Call” button and enter the relevant parameters for the call. You can schedule a call to yourself, or to any available agent.

Calls that are scheduled to yourself is shown in your own scheduled calls view, calls that are scheduled to other agents are shown in the queue table (requires you to enable the new “Schedule” column in admin). From here you can take a look at the details for the scheduled call or delete it.


Support for dialler calls

We are now supporting dialler calls in the new agent application. If the calls are set up to show details, they are displayed in the “Call Details” widget.

When receiving a dialler call in predictive mode, and logged on with softphone (required for predictive mode), auto-answer is automatically enabled, even if you have disabled auto-answer for incoming calls in the “Settings” tab.

If you have enquiry registration enabled, you can make a registration that includes a dialler specific category, comment field and you can reschedule the call.

Rescheduled dialler calls are added to the table in the scheduled calls tab (with a little less details). You can see which calls that are rescheduled dialler calls by the leftmost icon in the table.

Open CRM popups in the request tab 

We are now supporting to open what we call CRM popups inside the request tab, instead of opening them in e new external browser tab as handled up until today.

Basically, any web address (e.g. a CRM system) can be triggered to be opened when a request is offered or accepted. If opened inside the request tab, you will have a sub menu in the upper area where you can toggle between seeing the actual request and the triggered web page. In theory, you can open more than one CRM popup with a request, also in combination with an e-mail URL being opened in the e-mail request tab.

As default and due to backward compatibility, CRM popups are default still opened in a new browser tab, and it must be configured to open in the request tab. This is done in the admin portal under “Users -> Products -> Screen popup -> Screenpopup configuration”. The target attribute makes the URL open in the request tab, and the title attribute sets the title in the relevant sub tab toggle button. An example of a config is:

<crmpopup visible="true" target="_tab" title="Superoffice" when="CONNECTED">
All web pages and CRM systems cannot be opened in a framed window (like a request tab), based on restrictions on the page. This is usually defined through x-frame-options on the page/system.

Chat Offer Options

We have added the chat feature of offering options to a chatter in an ongoing chat. This is first of all meant for presenting a set of options in a more structured way, but also to have a somewhat more binding response from the chatter. The chatter can cancel and change his choice if necessary, and the agent is updated on these changes. Chat Offer Options can also be presented and used by chatbots.

Call Out Options

For solutions set up with more than one optional display-number for manually initiated outbound calls, the current display number is shown in the “Call” tab. The agent can click on the “Change” text to change the number to display. The optional numbers are defined in the admin portal under “Users -> Products -> Call”.

This setting only is applicable for manually initiated calls, not dialler- and callback calls where the display number is set in the respective configurations.

Notification of Silent Monitoring

For customers using silent monitoring (admins and supervisors listening in on agent’s conversations), we are now supporting to give agents a notification when they are in a call that is being monitored. As default, agents are not notified when in a monitored call, but this is enabled/disabled in the admin portal under “Users -> Products -> Silent Monitoring”.

Added support for Finnish Language

Since Puzzel now is present with in Finland, we are supporting Finnish language in the new agent application. Finnish language can be set in both the agent application and admin portal.

Azure Login for External Widgets

We have developed the support for Azure AD authentication for external widgets. This means that we can prompt users to authenticate through Azure AD, in order to get access to widgets developed by our customers.

We are also using this authentication for authentication to our new CRM widget (see separate chapter below).

Added support for new Social Channels

With this release, we are aiming to extend the number of social channels that can be handled in the new agent application, by adding Trustpilot and WhatsApp.

As with the currently existing channels, such as Facebook and Twitter, each channel can be added through the Admin portal, in the Services -> Social section. Adding a channel requires the user to be an authenticated administrator on the relevant social media accounts. Puzzel will prompt for authentication when required.

The layout for each of the new sources is similar to Facebook and Twitter, with the only major difference in colors and logos.

Improvements and bugfixes

As always there are several improvements and bugfixes added to this release, in order to make the new agent application more consistent and stable.

Current Agent Web Application

In this release, there is a new version for the current agent web application. The release is merely to support a change in our database structure and contains no new functionality.

Current Agent Desktop Application

In this release, there is no new version for the current agent desktop application

Administration Portal


Automatic logoff after x error calls

If today’s feature Automatic logoff after x no-answer calls is turned on for an agent, the agent will be logged off if a call is set up to the agent’s phone and it’s ringing for the defined max ringing time (e.g. 25 sec), and this happens x consecutive times. This feature is useful if agents sometimes forget to click pause/log off when leaving the seat.

  • If an agent using client.puzzel.com and the Puzzel softphone leaves his desk (PC closed/sleeping/off) or by accident closes the browser running Puzzel, a call allocated to the agent will result in agent status “ringing” and then agent status no-answer, so that the agent is logged off after x such consecutive calls.
  • If an agent using agent.puzzel.com and the Puzzel softphone leaves his desk or by accident closes the browser running Puzzel, a call allocated to the agent will result in “error”, so the agent status becomes Busy for the defined Busy timeout seconds (default 1) and then Ready. The agent will therefore not be logged off due to “x no-answers” after x such consecutive calls since they result in error!
  • If an agent using an external softphone forgets to click pause/log off when leaving, a call allocated to the agent might also result in error (and not no-answer)

To enable automatic logoff of agents using agent.puzzel.com and Puzzel softphone or external softphones when they forget to click pause or logoff before leaving their seat, we introduce a new feature: Automatic logoff after x error calls.

When your agents start using agent.puzzel.com, and some agents sometimes forget to click pause/logoff when they leave, we recommend turning on Automatic logoff after x error calls (especially if you now use Automatic logoff after x no-answer calls).

If you use the Puzzel Dialler with predictive/power mode and now want to start using agent.puzzel.com, we really recommend turning on this new feature for the Dialler agents. The reason is that a Dialler agent who leaves his seat without clicking pause/log off will only be logged off after x consecutive allocated calls if this new feature is on!

If there is a network error that prevents the call setup (“SIP invite”) from the Puzzel platform to reach the agent’s browser running agent.puzzel.com, this results in error, and if x consecutive errors, the agent will be logged off even if he is at his desk with the Puzzel browser open. In this case, the calls do not reach the agent, so agent log off causes less harm than keeping the agent logged on.

When the agent (returns and) discovers that status is Logged off, he can click Logon.

Access point description added to Ticker Services

On page Real-time – Ticker Services, we introduce a new column with each Access point’s description.

User count on page Users – Users

On page Users - Users all users are listed, and you can filter to see a selection of users. From now you can see how many users that are shown on this page.

Max time to live for email (etask) reduced to 60 days

As notified in the January release notes, we will now decrease the max number of days a request with media type email (used for email and e-task) can stay in a Puzzel queue.

The new max days-to-live for an email request is set to 60 days. If an email request has been in queue longer than 60 days, Puzzel will delete the request. “Real” emails will usually be sent to agents within some days, but you may create e-tasks that will not be prioritized and sent to agents if there are calls, chats or “real” emails in queues all the time. Please make sure you do not generate and put etasks in queue if you know they will not be sent to agents within a “reasonable” time.


Reporting of Rescheduled not called

When an agent reschedules a Dialler call, this contact is now shown with status "Rescheduled No answer" before the rescheduled call is done (which might be days later), both in the Summary report and in the Detailed report. A contact with a reschedule call ordered but not yet done will from now on be reported as "Rescheduled not called".

Rescheduled no answer

Since we (from January 2019) only do 1 call attempt for a Rescheduled Dialler contact, we will report a contact as OK (Answer) or No answer after the reschedule call is done, depending on the result on the rescheduled call. We will therefore remove Reschedule no answer as a selectable option in the Generate report popup window.

Archive improvements

Anonymize entries in the Anonymize log

Today, you can enter a phone number and/or an email address on page Archive - Anonymize to anonymize metadata in calls/chats in Archive from this address/number. The entered phone number/email address is shown here as a "log" entry. A new record will have status Waiting until the anonymization is done the coming night, and then its status will be Done.

We will now start to anonymize new rows on this page by masking parts of the email address/phone number, after the anonymization is done.

  • In phone numbers we will replace everything except the 3 last digits with *
    • Example anonymized number: *****836
  • In email addresses we will keep the 2 last characters before @, and after the @ we will keep the 2 last characters before . and everything after the .
    • Example anonymized email: ***********ug@*****il.com

Change in Access control for recordings/chatlogs in Archive

A user with access to the Archive has access to all calls/chats/emails unless a resource filter was applied to limit what user groups or system queues the user should see requests in (a “row” filter).

As default, a user (with access to Archive) had access to the General information about requests and to the Archive content, that is call recordings and chatlogs.

Until now, to prevent users from having access to download or play recordings in Archive, you had to create a resource filter and apply it to relevant users.

Due to GDPR, we have now changed the default in Archive to “no access to download recordings”, since very few users should have access to download recordings. 
In addition, we have changed and simplified how to configure if users should have access to play call recordings and possibly to download call recordings.

We introduce 2 new properties in the Recording accordion on page Users – Products:

  • Allowed to download recording from Archive, default OFF
    • If OFF (ON), the action “Download” will be disabled (enabled)
  • Allowed to play recording in Archive, default ON
    • If OFF, it is not possible to play call recordings or see chatlogs

This means that if your company has some admin users that must have access to download call recordings, you must set the new property Allowed to download recording from Archive to ON for the relevant users, after the April release.

If your company’s (main) admin does not have access to accordion Recording on page Users – Products, please contact Puzzel support and we will give access.

If your company has users with access to Archive that should only see the General information about requests, and not have access to play call recordings or see chatlogs, you can set property Allowed to play recording in Archive to OFF for the relevant users.

If you already have a resource filter preventing users access to content in Archive (selected “Information only” in an existing Archive resource filter), this should be re-created by using the 2 new properties.

We will remove the Archive accordion on the Filter settings page in June 2019!

ArchiveSearch for Email using the API

When using the API 'ArchiveSearch' the result should return requests for all media types unless a filter is used to restrict. Today emails are not returned, but from now on they are.


“Idle from phone” as optional column in agent reports

We have now added a new optional column called Idle (from phone) in reports Details per agent incl. time logged on and Details per agent per queue. The first report only contains phone calls, while the other contains requests from all media types.

Idle from phone = Time logged on - Time in pauses - total Connecting time (phone) - total Speaktime (phone) - total Wrap-up time (phone)

If agent answered any written requests (chat/email/social) this is not included in the calculation, which means that the real “idle” time might be (significantly) shorter than reported Idle from phone. Also note that a call is placed in the time period it ends, and we do not split long calls or their (long) wrap-up into different 15-minute periods, so Idle from phone should only be used in reports on a daily level (not in shorter time periods).

Example: If agent is ready from 10:00, answers a call at 10:01 and hangs up at 10:25 (a 24-minute long conversation!) and then ends wrap-up at 10:29 (and is ready until 10:31, the results for the individual quarters for this agent will be a bit “strange”:

1000-1015:    No pause, no call, no speaktime and no wrap-up results in
Idle from phone = (15-0-0-0=) 15 min.

1015-1030:    No pause, 1 call, 24 min. speaktime and 4 min. wrap-up results in
Idle from phone = (15-0-24-4=) -13, shown as 0.

For the 15 minute time periods the calculated Idle from phone is negative, we will show 0 or “-“.

When you generate a report for e.g. 1 hour or 1 day, the shown Idle from phone for an agent might be less than the sum of the shown Idle from phone for each quarter this hour/day, since some quarters with negative value is shown with 0.

Based on the example above, Idle from phone for this agent will be:

1000-1015     15 min.

1015-1030     0 min. (the “real” Idle from phone is -13)

1000-1030     2 min.

Reject, Error and Timeouts as optional columns in Agent reports

In reports Details per agent incl. time logged on and Details per agent per queue we have columns for “Offered” and “Answered”, but if an agent has e.g. 10 offered and 7 answered (on a queue), the difference (here 3) might be agent not accepting the offered request within “ringing” timeout or other reasons like clicking Reject.

We now introduce 5 new optional columns in these 2 agent reports to give more information when needed:

  1. Reject/busy*
    1. For calls, the agent clicks No/Reject when the call is ringing, or the call to the agent resulted in busy signal.
      - Not included in Offered until now, but from now on it is!
    2. For written requests, if the agent clicks Reject when offered a request
      - Has been and still is included in Offered. 
  2. Alerting timeout (included in Offered)
    1. For calls, the agent did not answer the call within the defined max ringing time 
    2. For written requests offered to the agent’s application, the request is not accepted within the defined “Max offer time”
  3. Caller hang-up (included in Offered)
    1. For calls, the caller hung up while the call to agent was in set-up or ringing.
    2. Will not happen for written requests.
  4. Error (not included in Offered)
    1. Error when calling agent
    2. Error when sending a written request to the agent’s Puzzel application.
  5. Set-up timeout (not included in Offered)
    1. When calling the agent, the call setup was not received correctly by the agent application within the max time, so the call did not “ring” on the agent’s phone
    2. When sending a written request to the agent, the agent application did not respond “received and ringing” within the max time

* Rejected calls now included in “Offered”

In agent statistics, “Offered” has so far not included calls sent to agent where the call result was “busy”. Most of these busy cases are now agents clicking Reject/No after it started ringing on their phone, and few are actually busy signal before it’s ringing (this was more usual some years ago). Since such rejected calls are counted as offered in Ticker agent and since written requests rejected by agent are reported as “Offered”, we from now on include rejected/busy calls as Offered to agent.

Standard report (not customised):

Report with new optional columns selected:

(#6 and #7 in the screenshot are explained in separate chapters)

First logon and Last logoff in Details per agent per queue

First logon and Last logoff are columns in Details per agent incl. time logged on, but not in Details per agent per queue.

We have now added these 2 columns (#8 and #9 below) as optional columns in Details per agent per queue.

Time logged on incl. pause in agent reports

The report Log on/off per agent contains a) Time logged on incl. pause, b) Time logged on excl. pause and c) Pause. (a=b+c)

Today reports Details per agent incl. time logged on and Details per agent per queue only contains columns Time logged on excl. pause and Time in pause. We will now add Time logged on incl. pause (#6 in screenshot) as a new optional column in these 2 reports.

Standard report:

Report with the new optional columns selected:

“Guest service” agents in agent reports

This is related to “Guest services”, that is, when some of customer A’s agents answer calls from customer B’s queue(s).

When customer A's agent X answers a call for customer B's (access number and) queue, the report Details per agent incl. time logged on for customer B includes customer B's agents with calls and time logged on, and also a row for customer A’s agent X, if agent X answered calls for customer B in the period. The row with agent X shows calls from customer B, and no time logged on, since agent X’s time logged on “belongs to” customer A’s statistics.

In report Details per agent per queue for customer B there is no row for customer A’s agent X. We will now start to show customer A’s agent X here, as we do for Details per agent incl. time logged on.

In report Details per user group per queue for customer B there is no row for customer A’s agent X. We will now start to show customer A’s agent x in the user group without a name.


SMS Survey 1 – 5 rating scale

For both SMS Survey and SMS Web Survey we have added a new rating scale: 1 - 5. Other available rating scales are 1 - 6 and 0 - 10  (NPS).

Search and download when not using English

On page SMS – Survey, under accordion Result, you can Search and show results in the browser or select “Search and download”. Search and download worked when the user’s language was English, but not when it was No/Se/Dk. This bug is now fixed.

Export logs using API

In the Admin Portal on page Users – Logs we have a Change log (with 3 months storage time) and an Access log (with 14 days storage time), and we have an Archive Audit log.

If you want to export these logs (and store them locally) you can now do this using the API. The new API methods are called

  • AccessLogGet
  • ArchiveAuditLogGet
  • ChangeLogGet

For the Change log, the “module” names shown when exporting are not identical to what’s shown in Admin Portal, but they are similar.

The details for the 3 new methods can be found on https://developer.puzzel.com/

Call Flow Tool

A new version of CFT is now launched after major refactoring, for better stability and speed, and for better supporting future functionality needs.

The new version of CFT looks very much like the “old” version, so you will probably not notice any significant changes.


Email allocated to ready agent whose client is unavailable

When an email in queue is first allocated to agent1, whose Puzzel agent application is unavailable (browser closed or PC off), and then to agent2, who accepts the email and then closes the email dialog tab, this sometimes resulted in an “ongoing request” on agent2, even though both agents returned to status Ready. If the admin deleted the ongoing request on page Real-time – Ongoing requests, Puzzel created raw data for statistics but with a finish time that was not correct. If the admin did not delete the ongoing request, raw data was not always created. This bug is now fixed.

Missing xdrcopy variables in xmlxdrraw

In very special cases, the Raw data for a call were missing one variable that should have been included using “xdrcopy” (external_id for Dialler calls). This bug is fixed.

KPI Alarms with Cyrillic Queue names and Alarm messages

When a KPI alarm is triggered and an email is sent to a recipient, this email contains the Queue name and the (optional) Alarm message that can be defined.

If the Queue name or the Alarm message contained Cyrillic text, this text was shown as “???????” in the email sent to the Alarm recipient. This bug is now fixed. 

Microsoft Dynamics CRM Widget

In our April release will Puzzel release version 1.0 of our Microsoft Dynamics CRM Widget, supporting incoming calls and chats. The CRM widget is made using HTML, Javascript and different Javascript Frameworks. Communication with Dynamics is handled through version 9.0 of the Microsoft Dynamics REST API. Supported authentication will be with Microsoft Azure AD.

Searching for entities

  • Automatic search for contacts and accounts on an incoming request
    • The caller’s phone number will be the default search criteria for the voice channel
    • Email address will be the default search criteria for other channels
    • Manual search done by the agent will be supported in the UI
  • If there is one or more matches it can be presented in different ways
    • On a single match the match can be embedded directly in the widget
    • On multiple matches it will be possible to select which entity to display
    • If there are no matches, we can present an option to create an entity
    • An entity can always be “popped” externally if there is a need to see the entity outside of the widget

Creating activities

  • On a single match we can create an activity automatically
  • On multiple matches the agent will be able to select which entity gets the activity
  • On no match the agent will be able to create the activity after creating a new account or contact


The CRM Widget will log different data such as:

  • Queue
  • Agent
  • Caller’s number
  • Dialled number
  • Queue time
  • Call answered – date / time
  • Session ID

With access to Puzzel’s RAW data, all data will be available.

Click to call

The CRM widget will contain its own click to call button, which also has the ability to open the call out widget.


31/07/2020 - 14:36

Last updated

08/07/2021 - 15:19