0

Add the following code to the field's attributes: ref_auto_completer=AJAXTableCompleter,ref_contributions=<strong>teams_icon</strong>.

Also, create a UI Macro named teams_icon.

<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<g:evaluate var="jvar_guid" expression="gs.generateGUID(this);"/>
<j:set var="jvar_n" value="show_incidents_${jvar_guid}:${ref}"/>
<a class="btn-default;" id="${jvar_n}" onclick="invokeChat('${ref}');">
              <img src="teams.png" width="30"  title="Popup Teams" alt="${gs.getMessage('Click to open Teams chat')}" />
</a>
 <script>
function invokeChat(reference) {
  var s = reference.split('.');
  var tableName = s[0];
  var referenceField = s[1];
  var v = g_form.getValue(referenceField);
  var email;
  var gr = new GlideRecord('sys_user');
  if (gr.get(v)) {
    email = gr.email;
  }
var url = 'im:' + email;
var w = getTopWindow();
w.open(url);
}
</script>
 </j:jelly>

How do I add an icon next to a field in ServiceNow?
Working Code Edited question May 2, 2025