---
sourceDocument: Yokohama Build or modify applications
sourceDocumentLink: https://www.servicenow.com/docs/r/yokohama/application-development

 Release :

    - yokohama

ft:locale :

    - en-US

ft:publication_title :

    - Yokohama Build or modify applications

ft:clusterId :

    - cadev

bundleId :

    - cadev

workflow :

    - Development, Data, and Analytics


---

# Record API

# Record API - ServiceNow Fluent {#ariaid-title1}

* Release version: Yokohama
* 
* Updated March 12, 2026
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 minutes to read

The Record API defines records in any table. Use the Record API to define application metadata that doesn't have a dedicated ServiceNow Fluent API.
Note:  
For the latest ServiceNow Fluent API documentation and examples, see the [ServiceNow Fluent API reference](https://servicenow.github.io/sdk/) and [ServiceNow SDK examples repository](https://github.com/ServiceNow/sdk-examples) on GitHub.
**Related concepts**   

* [ServiceNow Fluent](https://www.servicenow.com/docs/~uRaWXiuRJuyUsvJypBknQ "Define application metadata in source code using the ServiceNow Fluent domain-specific programming language.")

## Record object {#ariaid-title2}

Add data to any table with a record.
{#record-object-now-ts__table_vy2_525_jq__entry__3}{#record-object-now-ts__now-id-desc2}

| Name | Type | Description |
|-|-|-|
| $id | String or Number | Required. A unique ID for the metadata object. When you build the application, this ID is hashed into a unique sys_id. For more information, see [ServiceNow Fluent language constructs](https://www.servicenow.com/docs/3RTnzOESnTILKQIIO7V1sg "ServiceNow Fluent language constructs provide additional functionality for development in source code with ServiceNow Fluent APIs."). Format: `Now.ID['String' or Number]` |
| table | String | Required. The name of the table to which the record belongs. |
| data | Object | Fields and their values in the table. For example: data: { state: 'Ready', task: 'Add demo data' } To use text content from another file, refer to a file in the application using the `Now.include` syntax. For more information, see [ServiceNow Fluent language constructs](https://www.servicenow.com/docs/3RTnzOESnTILKQIIO7V1sg "ServiceNow Fluent language constructs provide additional functionality for development in source code with ServiceNow Fluent APIs."). data: { script: Now.include('./script-file.js'), html: Now.include('./html-file.html'), css: Now.include('./css-file.css') } |
| $meta | Object | Metadata for the application metadata. With the installMethod property, you can map the application metadata to an output directory that loads only in specific circumstances. $meta: { installMethod: 'String' } Valid values for installMethod: * demo: Outputs the application metadata to the metadata/unload.demo directory to be installed with the application when the Load demo data option is selected. * first install: Outputs the application metadata to the metadata/unload directory to be installed only the first time an application is installed on an instance. {#record-object-now-ts__ul_n3q_y3s_42c} |
[Table 1. Properties]

{#record-object-now-ts__table_vy2_525_jq}  
In this example, a record defining a menu category is added to the Menu Category \[sys_app_category\] table. The menu category style is defined in the css-file.css file.

    import { Record } from "@servicenow/sdk/core";

    export const appCategory = Record({
       table: 'sys_app_category',
       $id: Now.ID[9],
       data: {
          name: 'example',
          style: Now.include('./css-file.css'),
       },
    })

In this example, a record defining an incident is added to the Incident \[incident\] table.

    import { Record } from '@servicenow/sdk/core';

    export const incident1 = Record({
      $id: Now.ID['incident-1'],
      table: 'incident',
      data: {
        active: 'true',
        approval: 'not requested',
        description: 'Unable to send or receive emails.',
        incidentState: '1',
        shortDescription: 'Email server is down.',
        subcategory: 'email',
        callerId: '77ad8176731313005754660c4cf6a7de',
      }
    })

In this example, a record defining a server is added to the Server \[cmdb_ci_server\] table.

    import { Record } from '@servicenow/sdk/core';

    export const ciserver1 = Record({
      $id: Now.ID['cmdb-ci-server-1'],
      table: 'cmdb_ci_server',
      data: {
        assetTag: 'P1000199',
        attested: 'false',
        canPrint: 'false',
        company: 'e7c1f3d53790200044e0bfc8bcbe5deb',
        cost: '2160',
        costCc: 'USD',
        cpuSpeed: '633',
        cpuType: 'GenuineIntel',
        diskSpace: '100',
        manufacturer: 'b7e7d7d8c0a8016900a5d7f291acce5c',
        name: 'DatabaseServer1',
        os: 'Linux Red Hat',
        shortDescription: 'DB Server',
        subcategory: 'Computer',
      }
    })


