Attachment

  • 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 Attachment (Zurich Release)

    The Attachment variable in ServiceNow’s Zurich release allows users to upload, download, update, and delete file attachments as part of catalog item requests. It supports managing attachments during request submission and fulfillment stages, enabling flexibility in handling files related to requested items and catalog tasks.

    Show full answer Show less

    Key Features

    • File Upload and Management: Users can upload attachments for catalog item questions, with options to download, update, or delete files both before and after request submission.
    • File Size and Extension Restrictions: File size limits can be set using the maxfilesize variable attribute or the system property glide.sc.variable.attachment.defaultmaxsize (default 20 MB). The global limit defined by com.glide.attachment.maxsize applies across the ServiceNow AI Platform.
    • Attachment Handling: Editing an attachment removes the existing file and uploads a new one. Attachments are stored in the Attachment [sysattachment] table but only committed upon item submission, cart addition, or record save.
    • Attachment Copying Scenarios:
      • In order guides, attachments are cascaded to catalog items but individual variable attributes (such as allowed file types) are initially ignored for cascaded attachments.
      • In record producers, attachments map only to File Attachment fields in task tables.
      • After copying, attachments are independent; changes to one do not affect others.
    • API and Scripting Support: The gform.setValue() API is supported in catalog client scripts for this variable.
    • Security and Performance: Attachments undergo system-wide antivirus checks on request submission or cart addition. Large attachments can impact system performance due to copying.
    • Limitations: Not supported in multi-row variable sets or item variable assignment in order guides, but supported within flows, workflows, and condition builders.

    Practical Implications for ServiceNow Customers

    This variable enables you to collect and manage file attachments efficiently within service catalog requests, with control over file types and sizes to align with organizational policies. Understanding the behavior of attachment copying in order guides and record producers helps prevent confusion and ensures data consistency. The antivirus integration and size limits help maintain system security and performance. Additionally, scripting support allows customization of attachment handling in client-side processes.

    When submitting a catalog item request, this variable lets you upload an attachment for a question of the item.

    After you upload the attachment, you can also download, update, and delete it. Even when fulfilling the request, you can download, update, and delete the attachment in a requested item or catalog task. You can specify restrictions for file size and extensions using the max_file_size and allowed_extensions variable attributes. For information on these variable attributes, see Service Catalog variable attributes.
    Important:
    • You should specify only an integer value for the following:
      • The max_file_size variable attribute
      • The glide.sc.variable.attachment.default_max_size system property (catalog-level). The default value is 20.
    • If the max_file_size variable attribute is not specified, the glide.sc.variable.attachment.default_max_size system property value is considered as the upper limit for the attachment file size.
    • Irrespective of the file size allowed in the variable, the attachment file size cannot exceed the size specified in com.glide.attachment.max_size system property, which is applicable for attachments across ServiceNow AI Platform.
    • The g_form.setValue() API is supported in catalog client scripts.
    Note:
    When you edit an attachment, the existing attachment is removed and a new attachment is uploaded.

    When you upload an attachment to this variable, an entry is created in the Attachment [sys_attachment] table. The variable is not updated until you submit the item request, add it to the cart, or save the record while editing it (in fulfiller flows). If you delete or update the attachment before submitting the corresponding catalog item, the entry in the Attachment [sys_attachment] table is cleared.

    The attachment uploaded for this variable is copied in the following scenarios:
    • In an order guide, when the variable is cascaded to a catalog item in the rule base
      Important:
      The individual variable attributes are not honored for the catalog items in the rule base. For example, let us consider that a variable in the Describe Needs section allows a .pdf attachment and the variable of a catalog item in the rule base allows a .txt attachment. When you upload an attachment of .pdf type for a variable in the Describe Needs section, it is initially cascaded to the variable in the catalog item as well and the variable attributes specified in the catalog item are not honored. However, if you delete this initially cascaded attachment from an individual item and try to upload a new attachment, then the individual variable attributes of the catalog item are honored.
    • In a record producer, when the variable is mapped to a task table field. This variable can be mapped only to the File Attachment field type of a task table.
    Important:
    After an attachment is copied, the changes to the individual attachments are independent. For example, any change to an attachment in the order guide does not impact the same attachment cascaded to the catalog item in the rule base.
    Warning:
    Since the attachments are copied, a larger size can lead to performance issues.
    If the system-wide anti-virus check is enabled, the anti-virus check is performed on the attachment when you:
    • Submit a request for the corresponding catalog item
    • Add the catalog item to the cart or wish list
    Note:
    • This variable is not supported in a multi-row variable set.
    • This variable is supported in flows and workflows.
    • This variable is available in condition builder
    • For this variable, item variable assignment is not supported in order guide.
    Figure 1. Attachment variable
    The Attachment variable