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

 Release :

    - australia

ft:locale :

    - en-US

ft:publication_title :

    - Australia API Reference

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# NowSDK architecture

# NowSDK architecture {#ariaid-title1}

Release version: Australia  
Updated March 12, 2026  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 minutes to read
Summarize  
![AI sparkle icon](https://servicenow.com/docs/portal-asset/ai-sparkle-icon) Summarized using AI  
This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.  

## Summary of NowSDK architecture

The NowSDK is the core component of the Mobile SDK class framework for ServiceNow.
It integrates multiple classes, interfaces, and functions that empower your mobile applications to interact seamlessly with your ServiceNow instance.
The SDK requires initialization and configuration through its core library before utilizing any of its functionalities.
Show full answer Show less  
NowSDK simplifies authorization, user session management, logging, and provides build and release infrastructure to enhance development efficiency for ServiceNow mobile applications.

## Key Features

* **SDK Initialization and Configuration:** Enables setup of SDK settings and controls logging behavior, including the option to suppress logs or integrate custom logging solutions.
* **Logging Interface:** Default platform-specific logging with configurable thresholds to aid in debugging and monitoring SDK operations.
* **NowDataSDK:** Accesses public REST APIs of ServiceNow using streamlined authentication and session management.
  * **NowAPIService:** Interact with ServiceNow's public REST APIs.
  * **NowAttachmentService:** Manage file attachments within Android apps.
  * **NowGraphQLService:** Perform GraphQL queries on ServiceNow tables.
  * **NowTableService:** Conduct CRUD operations on ServiceNow tables.
* **NowChat:** Embeds native Virtual Agent chat and Live Agent capabilities into Android applications.
  * **NowChatService:** Provides full chat functionality from ServiceNow's platform.
* **NowPush:** Supports sending unsolicited push notifications to Android devices using NowChat/Virtual Agent.
  * **NowPushSDK:** Creates services to send push notifications.
  * **NowPushService:** Manages interaction with push notification services.
* **NowWeb:** Loads ServiceNow-hosted web pages inside native web views with automatic OAuth-based authentication and session management.
  * **NowWebSDK:** Facilitates embedding authenticated web content in Android apps, managing session lifecycle and token refresh transparently.
* **NowVoice:** Integrates a full-screen, AI-powered voice agent providing live transcripts, mute controls, and transcript sharing.
  * **NowVoiceService:** Manages voice agent sessions linked to a ServiceNow instance.

## Key Outcomes

By integrating NowSDK, ServiceNow customers can build advanced mobile applications that securely and efficiently interact with their ServiceNow instances. The SDK handles complex tasks such as authentication, session maintenance, and API interactions, allowing developers to focus on delivering rich user experiences including chat, push notifications, web content, and voice interfaces. This results in faster development cycles, improved security, and seamless user engagement within mobile environments.  
The NowSDK is the top-level entity of the Mobile SDK class
framework.
It contains numerous classes, interfaces, and functions that enable you to use the significant capabilities provided by the Mobile SDK and your ServiceNow instance. This document focuses on describing the primary feature services exposed in the Mobile SDK that enable you to interact with your ServiceNow instance.

To use any of the feature services provided by the Mobile SDK, you must integrate the NowSDK library into your code. You must call the core library to configure and initialize the SDK before using any SDK functionality.

NowSDK provides the following capabilities:

* SDK initialization and settings retrieval and configuration.
* Seamless authorization and user session handling.
* Logging interface. The NowSDK provides logging services to all feature services. By default, log messages are written to system logs using platform-specific functionality. You can control the logging threshold through a parameter that is part of the call to configure the SDK. There is also an option to suppress all log messages generated by the SDK and its feature services (`log level = none`). If you already have your own logging solution in place, the Mobile SDK allows you to use it.
* Build and release infrastructure.

{#mobsdk-and-nowsdk-arch__ul_e2r_hm5_mqb}  
NowSDK provides the following feature services and associated APIs:

* NowDataSDKEnables third-party applications to access the public REST APIs exposed by your ServiceNow instance. Development is streamlined because the NowDataSDK utilizes the authentication and session handling features provided by the NowSDK.

  Primary APIs:
  * [NowAPIService](https://servicenow-prod.fluidtopics.net/2DQkXFA8UGgLGFwppZyIuA#NowAPIServiceAndroidInterface "The NowAPIService interface provides the ability to perform requests on a specified ServiceNow REST API."): This API provides functionality that enables you to interact with the publicly exposed [REST APIs](https://servicenow-prod.fluidtopics.net/qh7RcF0RI6a~i9u3octdlg "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.") on your ServiceNow instance.
  * [NowAttachmentService](https://servicenow-prod.fluidtopics.net/NekV9CMz57yZuwoj7u~ubA#NowAttachServiceAndroidInterface "The NowAttachmentService interface provides functions that enable the manipulation of file attachments and their associated metadata."): This API provides functionality to upload and query file attachments on your ServiceNow instance within your Android application.
  * [NowGraphQLService](https://servicenow-prod.fluidtopics.net/u2_F0koF6eswMHnMubX66g#NowGQLServiceAndroidInterface "The NowGraphQLService interface provides functions that allow you to make GraphQL requests to your ServiceNow through its GraphQL API."): This API provides functionality that enables you to use GraphQL queries to obtain data from tables within your ServiceNow instance using the ServiceNow REST GraphQL API.
  * [NowTableService](https://servicenow-prod.fluidtopics.net/7vHPh3U25wvZKE~EzFu6yg#NowTableServiceAndroidInterface "The NowTableService interface provides functions that enable you to create, read, delete, and update records within a table on a ServiceNow instance."): This API provides functionality that enables you to perform create, read, update, and delete (CRUD) operations on existing tables in your ServiceNow instance that get serviced through the ServiceNow REST Table API.
  {#mobsdk-and-nowsdk-arch__ul_dbt_r45_mqb}
* NowChatEnables you to embed a native Virtual Agent chat window in your applications. This service includes UI/UX features.

  Primary API: [NowChatService](https://servicenow-prod.fluidtopics.net/I~lv0pqTdBgMubhNTa9z5g#NowChatServiceAndroidAPI "The NowChatService class provides functions that enable you to launch the NowChat activity and set error configurations."): This API provides Virtual Agent and Live Agent chat capabilities to your Android applications. Use the full service chat capabilities provided by the ServiceNow platform by simply implementing NowChatService within your application.
* NowPushEnables you to send unsolicited messages to your applications that use the NowChat/Virtual Agent functionality.

  Primary APIs:
  * [NowPushSDK](https://servicenow-prod.fluidtopics.net/JgRxg4C_gD2JBCyfYlFUtg#NowPushSDKAndroidAPI "The NowPushSDK class provides the function necessary to create a NowPushService that enables the sending of unsolicited (push) notifications to Android devices."): This API provides the function necessary to create a `NowPushService` that enables the sending of unsolicited (push) notifications to Android devices.
  * [NowPushService](https://servicenow-prod.fluidtopics.net/JEtQxBfAhcU0Pc_LLDk7Vg#NowPushServiceAndroidAPI "The NowPushService class provides functions that enable interaction with the Push Notification service."): This API provides functions that enable interaction with the Push Service.
  {#mobsdk-and-nowsdk-arch__ul_kjj_by3_zjc}
* NowWebEnables you to load web pages hosted on your ServiceNow instance in a native web view or Cabrillo. It automatically handles user authentication and session management instead of forcing users to log in to the instance via a login web
  page.

  When the webview is requested to load a web page hosted on a ServiceNow instance, it creates an HTTP request with the appropriate bearer header containing the OAuth access token provided by the NowSDK. When the instance receives this request, it starts a new user
  session and returns cookies related to that session. As the user interacts with the web pages in the webview, the instance uses the cookies to validate that the session is still valid. At this point, the bearer header is no
  longer relevant, only the cookies are used for session validation. The web session expires if the user stops interacting with the website for longer than the timeout period. After the session expires, if the user tries to
  interact with the web page, they are automatically redirected to the login page. The NowWebViewController detects the redirection and attempts to start a new web session by requesting a refreshed access token from the NowSDK
  and using the token to create a HTTP request (with bearer header) for the last known loaded page.

  Primary API: [NowWebSDK](https://servicenow-prod.fluidtopics.net/z5fvEdGhjIhieaw2gI~FeA#NowWebSDKAndroidAPI "The NowWebSDK class provides a single function that enables you to load web pages hosted on your ServiceNow instance in a native web view and Cabrillo. It automatically handles user authentication and session management instead of forcing users to log into the instance through a login web page."): This API provides functionality to create a NowWeb service object that enables web pages from your ServiceNow instance to be displayed in your Android application.
* NowVoiceEmbed a real-time, AI-powered voice agent directly in your mobile application. NowVoice provides a full-screen voice interface that connects users to a ServiceNow voice agent, with live transcripts, mute controls, and post-call transcript sharing.

  Primary API: [NowVoiceService](https://servicenow-prod.fluidtopics.net/tRIQYHQALKmfk9GqAm~2BA#NowVoiceServiceAndroidAPI "Manages voice agent sessions for a single ServiceNow instance."): This API provides functions to manage voice agent sessions for a single ServiceNow instance.
{#mobsdk-and-nowsdk-arch__ul_rff_fwx_pqb}

