Option Operator Board

Last modified by Christopher Dittrich on 2026/06/15 11:28

Introduction

The 3iMedia Operator Board is a powerful search tool for SwyxWare users, groups, departments, queues and phonebook entries.
It can be used in SwyxIt! Web Extension or standalone in a browser. A predefined skin is provided.

Features

  • Web based search interface for Swyx-Users, phonebook entries and 3iMedia call queues
  • Freetext search for contacts
  • Filtering by SwyxWare locations
  • Filtering by SwyxWare departments
  • Filtering by SwyxWare groups
  • Save search templates for faster use
  • Show user picture, name, status, call forwarding in results list
  • Click-to-dial to call contacts in results list
  • Configuration options

Interface description

2022-05-05 15_56_34-Präsentation1 - PowerPoint.png

ItemDescription
1Active Filters
2Save filter as template, show / hide locations and departments / clear filter
3Locations (locations configured in SwyxWare)
4Departments (groups in SwyxWare or special groups marked as department)
5Result list containing users, queues, public phonebook entries

Results

The results can contain all the abovementioned entries, like users, queues and public phonebook entries. Clicking on the avatar of the result entry shows a tab with further information like redirection state of the user. There are also standard-enhancing status available (offline, free, away, do not disturb, speaking internally, speaking externally, in a conference). There are also shortcuts for sending an e-mail or calling the contact or its redirection target.

2022-05-09 22_53_00-SwyxIt!.png

Skin

A predefined skin "3iMedia Operator Board.cab" is available including 240 name keys, 10 line keys and the Operator Board.

2022-05-09 22_46_36-SwyxIt!.png

Configuration

A configuration template can be downloaded from http://<servername>/QueueController/Options/Operatorboard/config_template.js

After adapting the template to your needs it has to be saved as config.js in /QueueController/Options/Operatorboard/

General (config.general)

General UI and system settings of the application.

 Parameter  Type  Default  Description
 general.callHandle  String  tel:  Protocol prefix for outgoing calls.
 general.reloadValue  Number  4  Interval or threshold for reloading data.
 general.imagePlaceholder  String  ./img/personImage.svg  Path to the default placeholder image for users.
 general.imageUserImagePath  String  /QueueController/UserImage.svg?UserName=  Base path for retrieving specific user images.
 general.showFreeStatusTextOnResultChip  Boolean  true  Controls whether the "Free" status is displayed as text on the result chip.
 general.resultChipFlow  String  row  CSS flexbox alignment for result chips (row or column).
 general.dialMode  String  swyx  Defines the system for outgoing calls (swyx or teams).
 general.dataMode  String  swyx  Defines the primary data source (swyx or teams).
 general.displayFiltersCollapsed  Boolean  false  Shows or hides filters initially.

Teams (config.teams)

Microsoft Teams, MSAL Auth, and Microsoft Graph API configurations.

 Parameter  Type  Default  Description
 teams.authData.clientId  String (leer)  The Application (client) ID of the Azure app registration.
 teams.authData.tenantId  String (leer)  The Directory (tenant) ID of Azure AD.
 teams.authData.scope  Array [User.Read.All, Group.Read.All, Presence.Read.All, Contacts.Read.Shared]  The Graph API permissions required for MSAL.
 teams.authData.redirectUri  String http://[::1]:8081/index.html  URI to which the user is redirected after MSAL login.
 teams.authData.graph  String https://graph.microsoft.com  Base URL of the Microsoft Graph API.
 teams.authData.baseURI  String https://graph.microsoft.com/v1.0  Specific API version for Graph calls.
 teams.authData.authority  String https://www.google.com/search?q=https://login.microsoftonline.com/${TEAMS_TENANT_ID}  URL to the authentication instance incl. tenant ID.
 teams.authConfig.clientId  String (leer)  Client ID specifically for the MSAL configuration.
 teams.authConfig.redirectUri String http://[::1]:8081/index.html  Redirect URI specifically for the MSAL configuration.
 teams.authConfig.endpointRoot String https://www.google.com/search?q=https://login.microsoftonline.com/${TEAMS_TENANT_ID}/oauth2/v2.0/  Base path for Azure AD OAuth 2.0 endpoints.
 teams.contactAddresses.addresses  Array [email-account@contact-data.com]  List of primary contact email addresses.
 teams.contactAddresses.queryParameters String ?$top=100&$select=id,displayName,givenName,surname,mobilePhone,
businessPhones,emailAddresses,companyName 
 OData query parameters for filtering contacts via Graph.
 teams.endpoints.authorize  String https://www.google.com/search?q=https://login.microsoftonline.com/${TEAMS_TENANT_ID}/oauth2/v2.0/authorize  OAuth 2.0 authorization endpoint.
 teams.endpoints.token  String https://www.google.com/search?q=https://login.microsoftonline.com/${TEAMS_TENANT_ID}/oauth2/v2.0/token  OAuth 2.0 token endpoint.
 teams.endpoints.graph  String https://graph.microsoft.com  Endpoint for base access to Microsoft Graph.
 teams.endpoints.users  String https://graph.microsoft.com/v1.0/users  Graph endpoint for retrieving all users.
 teams.endpoints.contacts  String https://graph.microsoft.com/v1.0/users/{contactMail}/contacts  Graph endpoint for retrieving contacts.
 teams.endpoints.groups  String https://www.google.com/search?q=https://graph.microsoft.com/v1.0/groups?$filter=resourceProvisioningOptions/any(p:p eq Team)&$select=id,displayName,proxyAddresses,creationOptions,createdDateTime,groupTypes  Graph endpoint for retrieving Microsoft Teams groups.
 teams.endpoints.groupMembers String https://graph.microsoft.com/v1.0/groups/{groupId}/members/microsoft.graph.user?$select=givenName,surname,displayName,businessPhones,id,mail,mobilePhone  Graph endpoint for retrieving group members.
 teams.endpoints.batch  String https://www.google.com/search?q=https://graph.microsoft.com/v1.0/$batch  Graph endpoint for batched API requests.
 teams.endpoints.presence  String https://graph.microsoft.com/v1.0/communications/getPresencesByUserId  Graph endpoint for retrieving presence status.
 teams.endpoints.baseURI  String https://graph.microsoft.com/v1.0  Base URL for all v1.0 Graph API calls.
 teams.loginRequest.scopes  Array [User.Read.All, Group.Read.All, Presence.Read.All, Contacts.Read.Shared]  Passes the explicit scopes for the initial MSAL login request.

XCally (config.xcally)

Settings for the XCally Contact Center integration.

 Parameter  Type  Default  Description
 xcally.enabled  Boolean false  Enables or disables the XCally integration.
 xcally.host  String (leer)  Base URL / hostname of the XCally server.
 xcally.Content-Type  String application/json  Default header for API requests.
 xcally.userApiKey  Boolean false  Determines whether user-specific API keys are used.
 xcally.apikey  String  (leer)  The global XCally API key.
 xcally.webrtc.transfer.method  String  POST  HTTP method for call transfer.
 xcally.webrtc.transfer.path  String  /api/webbar/transfer  XCally API path for call transfer.
 xcally.webrtc.transfer.options.transferNumber String  (leer)  Target phone number for the transfer.
 xcally.webrtc.transfer.options.userId  Number  4  Internal ID of the user performing the transfer.
 xcally.webrtc.transfer.options.sessionId  String  (leer)  Current session ID of the call.
 xcally.webrtc.originate.method  String  POST  HTTP method for originating outgoing calls.
 xcally.webrtc.originate.path  String  /api/webbar/originate  XCally API path for originating calls.
 xcally.webrtc.originate.options.callNumber  String  (leer)  Target phone number for the outgoing call.
 xcally.webrtc.originate.options.userId  Boolean  false  User ID for the outgoing call.
 xcally.whoami.method  String  GET  HTTP method for retrieving user info.
 xcally.whoami.path  String  /api/users/whoami  XCally API path for retrieving own identity.
 xcally.whoami.options  Object  {}  Additional payload options for the whoami call.

View and Filter Options (showInitialResults, location, department, queue)

Rules for the initial UI display and regular expressions for data cleansing.

 Parameter  Type  Default  Description
 showInitialResults.user  Boolean  true  Initially shows users in the search results.
 showInitialResults.queue  Boolean  false  Initially hides queues in the search results.
 showInitialResults.phonebook  Boolean  false  Initially hides phonebook entries.
 user.showHidden  Boolean  false  Show / hide hidden users.
 user.withInternalOrExternalNumber  Boolean  false  If set to false show only users with an internal number. If set to true show users with internal AND/OR external number.
 location.hide  Boolean  false  Disables the location filter.
 location.filterThreshold  Number  2  Minimum number of locations before the location filter is displayed.
 location.filter  RegExp  /(?:)/gi  Regular expression for filtering locations.
 location.replace  RegExp  /^$/gi  Regular expression for replacing location strings.
 department.hide  Boolean  false  Disables the group filter.
 department.filterThreshold  Number  2  Minimum number of groups before the group filter is displayed.
 department.filter  RegExp  /(?:)/gi  Regular expression for filtering groups.
 department.replace  RegExp  /\s(Gruppe)/gi  Automatically removes the text " (Gruppe)" from group names.
 queue.show  Boolean  true  Enables the display of queues.
 queue.filter  RegExp  /(?:)/gi  Regular expression for filtering queues.

Licensing

  • Operator Board is licensed as a server license
  • No queue controller license is required
  • Update Service or Software Insurance for one queue is required

Links