Section, which describes settings options for TeamsClient.

TeamsClient’s logo change

Company’s logo, displayed in the application in the upper left corner, can be changed according to your needs.

  1. Prepared the intended logo in the SVG format and name it logo-frontstage.svg (the name must be exactly as listed)

  2. Prepare the utility “General.Model.Db” (installation possible for example via the prepare.ps1 script.)

  3. It is advised to have the logo and the utility in the same folder.

  4. Run “PowerShell” and open the given folder (cd command)

  5. In “PowerShell”, execute this command: General.Model.Db\General.Model.Db.exe setcontent logo-frontstage.svg <ContentId>

  6. The picture was stored into the database under the provided ContentId.

New logo will appear after refreshing the website.


The logo picture is directly accessible through URL protocol://server/aplication/api/content/logo/logo-frontstage.svg

“Hamburger menu” buttons function adjustments

By pressing any button from this menu, an URL is called on a background, which consists from certain parametres by default. These parametres can be changed, added or deleted on demand. This way, you can change the default behaviour of the menu button.


The changes can be made in administration, Portals ‣ Navigation section, where you can see the default menu items (buttons’ background), grouped in a TeamsMenu group. Their display order within the hamburger menu is governed by the Order value.

For example: Item $Teams_CreateNew_Email with URL message&msgtype=Email&CampaignId={0}

  1. If you would like to make the adjustment, first create a new menu item group, which will be displayed, leave the default one unaltered for an eventual usage.

  2. Which menu group should be displayed is governed by TeamsMenuNavigationGroup parameter. Set this param to the desired value, like “TeamsMenu1” .

  3. Next, go to the Portals ‣ Navigation section, create a new menu item, included in a newly created group, for which you can adjust the URL .


The URL can contain not only the QueryString parameters for the object creation purpose, but also an additional information, what type of drop-down menu should be displayed and if there should be something prefilled in it.

Full URL: message&msgtype=Email&CampaignId={0}&LanguageId=4f507985-111a-4e34-9cdd-0fd44ef71840&gatewayid={0}&templateId={0}&

This URL calls a set of actions: drop-down for a campaign, sets language (defined by GUID), sets the gateway and email template.

Possible drop-down values:

  • outboundlistid

  • campaignid

  • projectid

  • model

  • templateid

  • languageid

  • gatewayid

Grid full-text search


Available only for MSSQL installations. PostgreSQL does not support this feature.

A full-text search field can appear above the DQG in an Activities tab.

The search field appears in a case when the data query contains at least one data query column, which has the FullText, FreeText, HyperFullText, or HyperFreeText model and at the same time it contains this particular string within the query: AND '##GeneralFullText##'='##GeneralFullText##' . Columns with mentioned models are then used for the search.


A data source (database table) has to have defined a full-text index (set out of FS)

Columns of the mentioned model type can have full-text filtration enabled, it depends on the Disable filter settings, located in DQC administration.


Let’s say, that the following query has two FullText columns in FS. Column Cmn_Subject is mapped to database column SubjectField, Cmn_MessageBody to BodyText.


The database has the index turned on.

../../_images/tc-admin-fulltext-examp2.nol10n.png ../../_images/tc-admin-fulltext-examp3.nol10n.png

Infoboard article priority

Infoboard articles can have priority. The value inserted in the form is interpreted in a different way inside the informational buble, within the infoboard preview.

  • let’s say, the entered article value is 20

  • a formula Math.floor(Priority / 10) + 1 will be used to interpret the value within the preview (round down the equation result from brackets and add one)

  • according to the described above, if the default value is 20, the preview will contain 3

../../_images/tc-infoboard-editform-prio.nol10n.png ../../_images/tc-infoboard-prio.nol10n.png

Additional form buttons

Additional buttons, which are not included in default configuration, can be added for particular app forms. Settings can be done only in the database. More info at internal wiki .

For example items 5 and 6:


Rows per page for grids on the Activities tab

The Activities tab can display grids to the agents, like Data table portlet. Set a number of rows for each of the grids.

  1. Open protokol://server/rc-instance/pages/Portal.html#activities URL by using your browser

  2. Displayed page presents the same grids like the Activities tab, here they are present in portlets

  3. Open portal editation

  4. Trigger edit mode for a particullar portlet

  5. Adjust Row per page in grid to desired value


Communication channels and menu items visibility

TeamsClient reacts to the channel usage settings, which is controlled using the ChannelUsage parameter by hiding all of the items related to the deactivated channels.

Influenced areas:

Activities tab bulk actions

You can restrict the access to the bulk actions the way that only a particular agent can use specific actions. You can set this in two major steps:


Example explained using ReactAdmin, but it can also be applied with minor modifications via Visual editors or database

Creating needed Scope

  1. Open the Roles ‣ Scopes table and insert a new record

  2. Name it appropriately so you know its purpose

  3. In the Name indication item (column ReferenceData in the database) insert one of the constants (without quotes) that indicates a specific bulk action

Possible values for bulk actions

  • Inbound Calls

    • CallInAssignReturn - Assignment or return

  • Outbound Calls

    • CallOutAssignReturn - Assignment or return

    • CallOutBulk - Schedule calls

    • SmsSend - SMS send

  • Messages

    • MessageAssignReturn - Assignment or return

    • MessageChangeMeta - Metadata change

    • MessageForward - Forward

    • MessageReply - Reply

    • MessageSend - Email send

    • NoSpam - Unmark spam

    • SpamManual - Mark as spam

    • SpamBlocked - Mark as spam and block user

    • SmsSend - SMS send

  • Chat

    • ChatChangeMeta - Metadata change

  • Issue

    • IssueAssignReturn - Assignment or return

  • Agent

    • AgentStatusChange - Change status

    • AgentProjectGroupChange - Change queue

    • AgentLangChange - Change language

    • AgentBusyConditionChange - Busy conditions setting

    • AgentBarDataQueryChange - Buletinboard setting

    • StatusBlockingChange - Status blocking change


You can find out if your installation has other bulk actions available from the LiteralLookup database table by searching for records by the LiteralText LIKE 'Teams_Query_BulkOperation_%' column.

Creating a permission

  1. Open the Roles ‣ Permissions table and insert a new record

  2. Select the role BulkAction, the permission level AllowWrite, the desired agent and scope as created above

Grid rows CSS styling

The Activities and Reports tabs can display data query grids within the TeamsClient app. You can color the grid’s rows by adjusting the data query.

  1. Open desired data query using the Data queries visual editor.

  2. The Detail subtab contains the data query definition in the Query text item.

    • SELECT
       ic.InboundCallId, ic.PilotTime,ic.CallResult,ic.CallPhase,ic.CallerNumber,
       p.DisplayName as ProjectName, a.DisplayName as AgentName,c.ContactId,
       c.DisplayName as Contact
       FROM InboundCall ic with (nolock)
       LEFT JOIN Agent a with (nolock) on ic.AgentId = a.AgentId
       LEFT JOIN Project p with (nolock) on ic.ProjectId = p.ProjectId
       LEFT JOIN Contact c with (nolock) on ic.ContactId = c.ContactId
  3. Create a new column here, name it for example ColorColumn.

    • The column has to be defined to return only a 0 or 1 value. If the underlying data column contains different values than mentioned, define an appropriate logic, to preserve the mentioned output.

    • Let’s use ic.CallResult as an underlaying column, which commonly contains values 1 or 2 (call result literals)

    • Update the data query of (ic.CallResult % 2) as ColorColumn - This calculation uses the residue after the division by a whole number (modulus). This column definition returns only values 0 and 1. Save the changes.

    • SELECT
       ic.InboundCallId, ic.PilotTime,ic.CallResult,ic.CallPhase,ic.CallerNumber,
       p.DisplayName as ProjectName, a.DisplayName as AgentName,c.ContactId,
       c.DisplayName as Contact,
       (ic.CallResult % 2) as ColorColumn
       FROM InboundCall ic with (nolock)
       LEFT JOIN Agent a with (nolock) on ic.AgentId = a.AgentId
       LEFT JOIN Project p with (nolock) on ic.ProjectId = p.ProjectId
       LEFT JOIN Contact c with (nolock) on ic.ContactId = c.ContactId
  4. Using the Columns subtab, create a new column linked to the ColorColumn data query column. Pay attention to the parameters:

    • Model - It has to be populated by the Color value.

    • Target column name - The name has to match the column name used in the data query on the previous subtab.

    • CSS - Affects the applied row style. You can choose from info, warning and error.

    • ../../_images/tc-grid-row-color.en.png
  5. You can immediately check the adjustment using the Preview button in the visual editor. The row where the ColorColumn returned value 1 will be colored, and where 0 is returned, it will be without color. The color column itself is not visible in the grid.