Skip to main content
Version: 4.5.0

Function: Applicability(config)

Creates an applicability configuration for controlling visibility based on roles

Parameters

config

Applicability

an object containing the following properties:

Properties:

  • $id (required): string | number | ExplicitKey<string>

  • name (required): string

  • $meta (optional): object

    • installMethod: 'first install' | 'demo' Map a record to an output folder that loads only in specific circumstances. 'first install' - > 'unload', 'demo' -> 'unload.demo'
  • active (optional): boolean

  • description (optional): string

  • roleNames (optional): string

  • roles (optional): string[] | Role[]

Examples

applicability-basic

// Source: examples/workspace/src/fluent/index.now.ts
import { Applicability, Role } from '@servicenow/sdk/core'

const userRole = Role({
name: 'x_snc_works_7.user',
containsRoles: ['canvas_user'],
})

const adminRole = Role({
name: 'x_snc_works_7.admin',
containsRoles: ['canvas_admin'],
})

Applicability({
$id: Now.ID['workspace_applicability'],
name: 'Workspace Audience',
roles: [userRole, adminRole],
})

applicability-minimal

// Source: examples/workspace/src/fluent/index.now.ts

import { Applicability, Role } from '@servicenow/sdk/core'

const role = Role({
name: 'x_snc_app.user',
containsRoles: ['canvas_user'],
})

export const MinimalApplicabilityExample = Applicability({
$id: Now.ID['minimal_applicability'],
name: 'Minimal Audience',
roles: [role],
})

applicability-role-names

// Source: packages/core/src/uxf/Applicability.ts (type definition)
import { Applicability } from '@servicenow/sdk/core'

Applicability({
$id: Now.ID['itil_applicability'],
name: 'ITIL Users',
description: 'Visible to ITIL and admin roles',
roleNames: 'itil,admin',
})

applicability-with-description

// Source: packages/core/src/uxf/Applicability.ts (type definition)
import { Applicability } from '@servicenow/sdk/core'

Applicability({
$id: Now.ID['admin_only_applicability'],
name: 'Admin Only Access',
description: 'Restricts visibility to admin users',
active: true,
roles: ['admin'],
})

applicability-with-role-refs

// Source: examples/workspace/src/fluent/index.now.ts

import { Applicability, Role } from '@servicenow/sdk/core'

const role1 = Role({
name: 'x_snc_uxlist.user',
containsRoles: ['canvas_user'],
})

const role2 = Role({
name: 'x_snc_uxlist.admin',
containsRoles: ['canvas_admin'],
})

export const ApplicabilityWithRoleRefsExample = Applicability({
$id: Now.ID['list_applicability'],
name: 'List Audience',
roles: [role1, role2],
})