---
sourceDocument: Australia Build or modify applications
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/application-development

 Release :

    - australia

ft:locale :

    - en-US

ft:publication_title :

    - Australia Build or modify applications

ft:clusterId :

    - cadev

bundleId :

    - cadev

workflow :

    - Development, Data, and Analytics


---

# Building apps in source code in ServiceNow Studio

# Building apps in source code in ServiceNow Studio {#ariaid-title1}

Release version: Australia  
Updated July 15, 2026  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 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 Building apps in source code in ServiceNow Studio

Developing applications in source code within ServiceNow Studio allows you to create and modify complex apps efficiently, manage code through source control, and identify errors early in the build process.
ServiceNow Studio uses ServiceNow Fluent, a domain-specific language with APIs designed to define application metadata, providing a robust framework for application development.
Show full answer Show less  

## Workspaces in ServiceNow Studio

Unlike ServiceNow IDE, where multiple user-specific workspaces group applications, ServiceNow Studio uses a single persistent workspace accessible through the Explorer tab. This workspace displays all applications converted to Fluent, eliminating the need to create or manage multiple workspaces for app grouping.

## Application Structure

Fluent applications in ServiceNow Studio are organized with a structure similar to Node.js/npm packages, defined by `package.json` and `now.config.json` files. Key directories and files include:

* **.vscode**: Recommended Visual Studio Code extensions.
* **dist**: Contains build artifacts for packaging, including metadata and static assets.
* **metadata**: Holds application metadata in XML format; however, metadata should be edited via source code or the ServiceNow AI Platform, not directly in XML files.
* **nodemodules**: Third-party Node.js dependencies.
* **src**: Source code files divided into client-side UI code, ServiceNow Fluent (.now.ts) files, and server-side JavaScript/TypeScript modules.
* **target**: Contains installable application packages (.zip) for instance deployment.
* **Configuration and support files** : Including `.eslintrc` for code quality, `.gitignore` for source control exclusions, and `now.config.json` for application-specific configuration.

The `now.config.json` file allows you to customize aspects of your application's structure and behavior.

## Key Development Operations

* **Create an app in source code**: Start new applications directly in ServiceNow Studio using source code.
* **Convert an application to Fluent**: Migrate existing applications to support source code development with Fluent.
* **Build and install Fluent apps**: Compile source code and deploy application changes across your ServiceNow instance directly from Studio.
* **Synchronize Fluent apps**: Download and convert application metadata into Fluent code to keep your source code up to date with instance data.

## Benefits for ServiceNow Customers

By building apps in source code with ServiceNow Studio, customers gain enhanced control over application development, streamlined integration with source control systems, and the ability to manage complex application metadata programmatically. This approach supports better collaboration, faster error detection, and smoother deployment workflows, ultimately improving application quality and maintainability within your ServiceNow environment.  
Developing and maintaining applications in source code enables you to create and modify complex applications, manage code in source control more easily, and catch errors at build time.

To create apps in ServiceNow Studio, you use ServiceNow Fluent, a domain-specific programming language, to define the metadata that makes up applications. ServiceNow Fluent includes APIs for defining the different types of metadata. For more information, see [ServiceNow Fluent](https://servicenow-prod.fluidtopics.net/HcU~6LR5CHZuUX~roJ7chw "Define application metadata in source code using the ServiceNow Fluent domain-specific programming language.").

## Workspaces {#building-apps-in-source-code-sn-studio__section_zrt_5ly_2kc}

The concept of workspaces is a bit different in ServiceNow Studio than in ServiceNow IDE. In the ServiceNow IDE, you can add any applications that you're working on to a workspace to navigate through them all from one place. You can create multiple workspaces to group different sets of applications. Workspaces
are specific to a user, and applications can be added or removed from a workspace at any time.

In ServiceNow Studio, the Explorer tab acts as a single, persistent workspace, where you can add any application that has been converted to Fluent. For that reason, workspaces don't need to be
created in ServiceNow Studio to create or group applications.

## Application structure {#building-apps-in-source-code-sn-studio__application-structure}

Fluent applications created or converted in ServiceNow Studio include source code files and metadata XML files. The package.json and now.config.json files define the application structure, which is similar to that of
Node.js applications or Node Package Manager (npm) packages.

By default, applications include the following directories and files. You can modify certain aspects of the application structure to suit your needs in the now.config.json file.
{#building-apps-in-source-code-sn-studio__table_ws5_flw_53c__entry__2}

| Directory or file | Description |
|-|-|
| .vscode | Directory containing recommended Visual Studio Code extensions. |
| dist | Directory containing the build artifacts for packaging. This directory includes the following subdirectories: * app: Directory containing the built metadata XML files. * static: Directory containing the built static asset files. {#building-apps-in-source-code-sn-studio__ul_cpt_5vs_fgc} |
| metadata | Directory containing the application metadata (XML) of the application, such as table schemas and business rules, organized in the same directory structure as existing ServiceNow applications. Note: Application metadata shouldn't be edited from the XML files. Edit application metadata in the source code or on the ServiceNow AI Platform. |
| node_modules | Directory containing the third-party Node.js modules on which your application depends. |
| src | Directory containing the source code of your application. This directory includes the following subdirectories: * client: Directory containing the client-side files for developing user interfaces. * fluent: Directory containing ServiceNow Fluent code in .now.ts files. The generated subdirectory contains the application files converted to ServiceNow Fluent. * server: Directory containing JavaScript module code in .js or .ts files. {#building-apps-in-source-code-sn-studio__ul_z35_ttc_1cc} |
| target | Directory containing an installable package (.zip file) to upload to an instance. |
| .eslintrc | File containing the ESLint configuration. ESLint helps identify and fix issues in the application code. |
| .gitignore | File containing a list of directories or files for Git to ignore. These files aren't tracked in source control. |
| now.config.json | File containing the ServiceNow application configuration. The now.config.json file must be in the base directory for an application. You can configure aspects of an application by adding support parameters. For more information, see [Custom application configuration in source code](https://servicenow-prod.fluidtopics.net/oP9pYs8gs3z1TVM_OQSYUA "Configure a custom application [sys_app] in the now.config.json file for an application in source code."). |
| now.prebuild.mjs | Auto-updated file containing complete information about dependencies and their versions. This file is only available with the ServiceNow SDK. |
| package-lock.json | Auto-updated file containing complete information about dependencies and their versions. This file is only available with the ServiceNow SDK. |
| package.json | File containing information about your application and custom or third-party module dependencies. The package.json file must be in the base directory for an application. On an instance, the package.json path is specified in the Package JSON field of the custom application record \[sys_app\] in the format \<scope\>/\<package-name\>/\<version\>/package.json. |
[Table 1. Application structure in source code]

{#building-apps-in-source-code-sn-studio__table_ws5_flw_53c}
* **[Create an app in source code](https://servicenow-prod.fluidtopics.net/dJ2n8a7tGt4f4avqJHZf0A)**   
  Create an application to develop in source code in ServiceNow Studio.
* **[Convert an application to Fluent](https://servicenow-prod.fluidtopics.net/U8znXdwPI50FjwnB9jp1XQ)**   
  Convert an existing application to support development in source code with ServiceNow Studio.
* **[Build and install a Fluent app in ServiceNow Studio](https://servicenow-prod.fluidtopics.net/56i7gtiKBc_HFt3tnQt~dg)**   
  Build an application to compile its source code and install application changes across an instance from ServiceNow Studio.
* **[Synchronizing Fluent apps in ServiceNow Studio](https://servicenow-prod.fluidtopics.net/c0k3NwetpOhk4AwxqRZXmA)**   
  Synchronizing an application in ServiceNow Studio downloads and transforms application metadata into ServiceNow Fluent code.

