Sample payload for Citrix software install records

  • Release version: Zurich
  • Updated July 31, 2025
  • 2 minutes to read
  • Summarize
    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 Sample payload for Citrix software install records

    This content provides a detailed example of a payload used with the Citrix publisher pack in ServiceNow to populate software install records and license consumption data related to Citrix products. It supports two product types—virtual applications and virtual desktops—with concurrent and user/device licensing models.

    Show full answer Show less

    The Citrix publisher pack populates the Software Installation [cmdbsamswinstall] table and several other related tables, enabling accurate license reconciliation and usage tracking.

    Key Features

    • CI Identifier Rules: Two key identifiers are used to create records:
      • Citrix License Server [cmdbciappllicenseserver]: Populates Client Access License (CAL) entries and license consumption tables.
      • Citrix Delivery Controller [cmdbciappldeliverycontroler]: Creates software install records and populates seven Citrix-related tables.
    • License Consumption Tables:
      • sampconcurrentlicenseconsumption: Tracks concurrent licenses using attributes like productcode and number of licenses.
      • sampuserdevicelicenseconsumption: Tracks user/device licenses using productcode, consumer, and consumertype.
      Both tables are populated in a single payload related to the parent license server CI.
    • Scheduled Jobs:
      • SAM-Create Citrix CAL entries: Updates the Client Access [sampswclientaccess] table after payload processing to reflect user/device counts per product. Configuration of this job to run post-payload processing is essential.
      • SAM-Create Citrix Software installs: Runs after populating the seven Citrix tables via the Delivery Controller identifier to create software installation records in the Software Installation table.
    • Payload Structure: The payload includes parent CI entries with related child entries for license consumption and software installs. Relationships between the parent and child tables are explicitly specified to maintain data integrity.
    • Key Attributes: For each table involved, specific key attributes must be included in the payload to ensure proper record creation and linkage. For example, the Delivery Controller’s related entries require criterion attributes available via the “Related Entries” lookup.

    Practical Application for ServiceNow Customers

    ServiceNow customers integrating Citrix licensing data from third-party discovery tools can use this sample payload as a template to:

    • Accurately populate license consumption data aligning with their Citrix licensing entitlements.
    • Ensure proper linkage between license servers, delivery controllers, and software install records to facilitate license reconciliation and compliance.
    • Automate client access record updates and software install record creation via scheduled jobs, streamlining license management processes.
    • Understand the necessary attributes and relationships to include in API payloads when ingesting Citrix data into ServiceNow SAM tables.

    Following this structured approach enables effective tracking and management of Citrix virtual application and desktop licenses within ServiceNow’s Software Asset Management framework.

    A sample payload for the Citrix publisher pack that populates the Software Installation [cmdb_sam_sw__install] table with software install records from third-party discovery sources.

    The Citrix publisher pack supports two products: virtual applications and virtual desktop. For these products, Citrix supports concurrent licensing and user/device licensing.
    Note:
    For information on license metrics, see Software License Metrics

    The IRE API relies on two CI identifier rules for creating Citrix software install records. The Citrix License server [cmdb_ci_appl_license_server] identifier populates the CAL entries and the Citrix Delivery Controller [cmdb_ci_appl_delivery_controler] identifier creates the software install records.

    The CAL entries are used during reconciliation to compare against the purchased rights in entitlements to get the correct license position for Citrix products​. The Citrix License server identifier provides information on the samp_concurrent_license_consumption and the samp_user_device_license_consumption tables. Based on your licensing entitlements, you need to populate either of these two tables.

    Send a payload to populate the samp_concurrent_license_consumption or the samp_user_device_license_consumption table. Ensure that you mention the key attributes for the tables in the payload:
    • samp_concurrent_license_consumption: product_code and number
    • samp_user_device_license_consumption: product_code, consumer, and consumer_type
    Note:
    The two tables are passed in one payload since both are related entries of the parent CI table, cmdb_ci_appl_license_server. In the payload, specify the relationship between the tables and the CI parent table.
    Once you send the payload, entries are created in the samp_concurrent_license_consumption and the samp_user_device_license_consumption tables. Now execute the scheduled job, SAM- Create Citrix CAL entries, to update the Client Access [samp_sw_client_access] table. Client access records are created for each product with user/device count. ​
    Note:
    Ensure that you configure the schedule job, SAM- Create Citrix CAL entries to execute after processing the payload successfully.
    Using the Citrix Delivery Controller [cmdb_ci_appl_delivery_controler] identifier, send a payload to populate all the 7 Citrix tables. Make sure that you mention the key attributes for the 7 tables in the payload.
    Note:
    Click Related Entries in the Citrix Delivery Controller identifier to look up the key attributes (Criterion attributes) for the Citrix tables.
    Once the entries are created in the tables, execute the scheduled job, SAM- Create Citrix Software installs. The Citrix sofware install records are created in the Software Installation [cmdb_sam_sw_install] table.
    { 'items': [{'className':'cmdb_ci_appl_license_server',
                  'related': [
                              {
                              'className':'samp_concurrent_license_consumption',
                                'values':{
                                 'product_code':'MW2ZPSE0001',
                                 'in_use_count':511,
                                 'overdraft':11,
                                 'pooled_available':0,
                                 'total_count':500
                                  }
                              },
                              {
                               'className':'samp_user_device_license_consumption',
                                'values':{
                                 'product_code':'XDT_PLT_CCS',
                                 'consumer':'consumer1',
                                 'consumer_type':'user'
                                 
                                  }
                              },
                               {
                               'className':'samp_user_device_license_consumption',
                                'values':{
                                 'product_code':'XDT_PLT_CCS',
                                 'consumer':'Device1',
                                 'consumer_type':'device'
                                  }
                              },
                               {
                               'className':'samp_user_device_license_consumption',
                                'values':{
                                'product_code':'XDT_PLT_CCS',
                                 'consumer':'consumer2',
                                 'consumer_type':'user'
                                  }
                              },
                               {
                               'className':'samp_user_device_license_consumption',
                                'values':{
                                'product_code':'XDT_PLT_CCS',
                                 'consumer':'consumer3',
                                 'consumer_type':'user'
                                  }
                              },
                              {
                               'className':'samp_user_device_license_consumption',
                                'values':{
                                'product_code':'XDT_PLT_CCS',
                                 'consumer':'consumer4',
                                 'consumer_type':'user'
                                  }
                              },
                              {
                               'className':'samp_user_device_license_consumption',
                                'values':{
                                'product_code':'MW2ZPSE0001',
                                 'consumer':'consumer5',
                                 'consumer_type':'user'
                                  }
                              },
                               {
                               'className':'samp_user_device_license_consumption',
                                'values':{
                                 'product_code':'MW2ZPSE0001',
                                 'consumer':'Device1',
                                 'consumer_type':'device'
                                  }
                              }
                            ],
                  'values': {
                      'name': 'ACME License Server 2',
                      'tcp_port': 22,
                       'install_directory': 'Documents'
                      }
                  },
                  {
                    'className':'cmdb_ci_win_server',
                    'values': {'name':'samlabvm450'}
                          }
                  ],
                  'relations':[{
                       'type':'Runs on::Runs',
                       'parent':0,
                       'child':1
                     }]
                }