---
sourceDocument: Xanadu API Reference
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - en-US

ft:publication_title :

    - Xanadu API Reference

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Agent - Global

# Agent - Global {#ariaid-title1}

* Release version: Xanadu
* 
* Updated August 1, 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 1 minute to read

The Agent API provides methods for getting or setting agent presence and channel availability.

The Agent API is provided within the `sn_awa` namespace.  
Requires the following:

* Advanced Work Assignment plugin (com.glide.awa)
* Role: awa_integration_user or admin
{#c_AgentAPI__ul_cgv_mtc_2gb}

## Agent - get(String user_sys_id) {#ariaid-title2}

Gets an agent by sys_id.
{#r_agent_get__table_t4k_y54_3gb__entry__3}

| Name | Type | Description |
|-|-|-|
| user_sys_id | String | The sys_id of the user listed in sys_user table. |
[Table 1. Parameters]

{#r_agent_get__table_t4k_y54_3gb} {#r_agent_get__table_u4k_y54_3gb__entry__2}

| Type | Description |
|-|-|
| Boolean | True if the user exists, false otherwise. |
[Table 2. Returns]

{#r_agent_get__table_u4k_y54_3gb}  

    var agent = sn_awa.Agent.get("<user_sys_id>");
    var presence  = agent.getPresence();

## Agent -- getPresence() {#ariaid-title3}

Gets the current presence state and channel availability of a provided
agent.
{#r_getPresence__table_kt3_zrc_2gb__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 3. Parameters]

{#r_getPresence__table_kt3_zrc_2gb} {#r_getPresence__table_lt3_zrc_2gb__entry__2}

| Type | Description |
|-|-|
| Object | Presence state sys_id, presence state name, and channel information. Error message otherwise. |
[Table 4. Returns]

{#r_getPresence__table_lt3_zrc_2gb}  

    var agent = sn_awa.Agent.get("<user_sys_id>");
            var presence  = agent.getPresence();

## Agent -- setPresence(Object setRequest) {#ariaid-title4}

Sets the state of a provided agent's presence and sets the agent's channel availability
for that state.
{#r_setPresence__table_hqw_pbm_yfb__entry__3}

| Name | Type | Description |
|-|-|-|
| setRequest | Object | The setRequest.sys_id and setRequest.channels. |
| setRequest.sys_id | String | The presence_sys_id from the AWA Presence State \[awa_presence_state\] table. |
| setRequest.channels | name/value pair | Optional. * sys_id: Channel_sys_id from the awa_service_channel table. * available: Agent availability to receive work for this channel (true or false). {#r_setPresence__ul_vsh_tqn_kgb} |
[Table 5. Parameters]

{#r_setPresence__table_hqw_pbm_yfb} {#r_setPresence__table_iqw_pbm_yfb__entry__2}

| Type | Description |
|-|-|
| Boolean | True if successful, false otherwise. |
[Table 6. Returns]

{#r_setPresence__table_iqw_pbm_yfb}  

    var agent = sn_awa.Agent.get("<user_sys_id>");
    var presence = agent.setPresence({
        sys_id: <presence_sys_id>,
        channels: [{
            sys_id: "<channel_sys_id>",
            available: true // or false
        }]
    });


