---
sourceDocument: Brazil ServiceNow AI Platform Capabilities
sourceDocumentLink: https://www.servicenow.com/docs/r/servicenow-platform

 Release :

    - brazil

ft:locale :

    - en-US

ft:publication_title :

    - Brazil ServiceNow AI Platform Capabilities

ft:clusterId :

    - platcap

bundleId :

    - platcap

workflow :

    - Platform


---

# Attachment

# Attachment {#ariaid-title1}

Release version: Brazil  
Updated September 10, 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 Attachment Variable in Service Catalog

The Attachment variable in ServiceNow's Service Catalog allows users to upload files as part of a catalog item request.
Users can upload, download, update, or delete attachments both during request submission and while fulfilling requests on requested items or catalog tasks.
This feature enhances the ability to collect and manage file-based information directly within catalog items.
Show full answer Show less  

## Key Features

* **File Restrictions:** You can specify maximum file size and allowed file extensions using `maxfilesize` and `allowedextensions` attributes. The max file size must be set as an integer and is capped by both the variable attribute, a catalog-level system property (`glide.sc.variable.attachment.defaultmaxsize`, default 20 MB), and a global system property (`com.glide.attachment.maxsize`), which applies platform-wide.
* **Attachment Management:** Editing an attachment replaces the existing file. Uploading creates an entry in the Attachment \[sysattachment\] table, but changes only finalize after submitting the request, adding to the cart, or saving the record during fulfillment.
* **Attachment Copying:** Attachments are copied in scenarios such as order guides cascading variables to catalog items and record producers mapping to task table fields. After copying, attachments are independent; changes in one do not affect the other.
* **API Support:** The `gform.setValue()` API is supported for client scripts on catalog forms.
* **Anti-virus Scanning:** If enabled system-wide, attachments are scanned when requests are submitted or items are added to carts or wish lists.
* **Limitations:** Not supported in multi-row variable sets or item variable assignment in order guides. Supported in flows, workflows, and condition builder.

## Practical Considerations for ServiceNow Customers

* Set file size and type restrictions carefully to balance user needs and system performance, especially since attachments are copied in some workflows and large files can impact performance.
* Understand that variable attributes for attachments might not be honored immediately in cascaded variables within order guides but are enforced after the initially cascaded attachment is deleted.
* Use this variable when you need users to submit files as part of requests and when tracking, updating, or validating attachments during fulfillment is important.
* Ensure attachment size limits align with your organization's global settings and performance guidelines.
* Leverage attachment variables in flows and workflows to automate processes involving file uploads.  
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](https://www.servicenow.com/docs/ZgEltaCGp47m_kPHe5yO2w "There are a few Service Catalog variables support specific attributes to define the behavior and restrictions for variables.").  
Important:  
* You should specify only an integer value for the following:
  * The <kbd class="ph userinput">max_file_size</kbd> variable attribute
  * The glide.sc.variable.attachment.default_max_size system property (catalog-level). The default value is 20.
  {#attachment__ul_qm3_2h5_3mb}
* If the <kbd class="ph userinput">max_file_size</kbd> 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.
{#attachment__ul_wvx_1zt_3mb}  
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.

{#attachment__ul_bxv_3wy_dmb}  
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
{#attachment__ul_vvr_fw4_3mb}  
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.
{#attachment__ul_vzg_qvg_bmb}  
Figure 1. Attachment variable
**Related concepts**   

* [Break](https://www.servicenow.com/docs/lJmcNMWnQgrZPpm7g8dL1A "The break variable displays a horizontal line across the form.")
* [Check box](https://www.servicenow.com/docs/hbVAqwKDPgvQ7nx1PzK2Pg "The check box variable lets you enable and disable options by selecting and clearing it.")
* [Container start, container split, and container end](https://www.servicenow.com/docs/nZRgEh16naqZgCVHPboj4w "The container start, container split, and container end variables define a layout for a container that can hold more variables.")
* [Date, Date and time, and Duration](https://www.servicenow.com/docs/oGTDaIDcOIbtJ2vhuXnm7w "The date variable creates a widget with a field and calendar to select a date.")
* [Email](https://www.servicenow.com/docs/5RG7CkzE3wpkzobgWgKIKg "The email variable creates a widget to enter and select an email address.")
* [HTML](https://www.servicenow.com/docs/_7_4PVWz1hEn1ZyhwizfUw "The HTML variable lets you provide content with advanced formatting, including images, for a catalog item.")
* [IP Address](https://www.servicenow.com/docs/ASDUwj90AWSrt5m_9Oecwg "Use the IP address variable to specify the IPv4 and IPv6 data for a catalog item.")
* [Label](https://www.servicenow.com/docs/oo2azfmNSYR~GmBCF8h0fw "The label variable displays a label across the form. Labels are formatting elements. No data is collected.")
* [List collector](https://www.servicenow.com/docs/dA~5R3PldOOud6BP5V63Kw "The list collector variable creates an interface that lets you select and add multiple records from a table.")
* [Lookup multiple choice](https://www.servicenow.com/docs/X3wim5c3p4BgXSEiyxBL0Q "The lookup multiple choice variable creates radio buttons using data from a table. Its functionality is similar to the lookup select box variable, which creates a choice list from queried data.")
* [Lookup select box](https://www.servicenow.com/docs/xxiYjINiR6UhUnJDwa66jQ "The lookup select box variable creates a choice list using data queried from a table. Its functionality is similar to the lookup multiple choice variable, which creates radio buttons from queried data.")
* [Custom and Custom with label](https://www.servicenow.com/docs/gauASiD55OfmRRhpyNxYVA "The custom variable inserts a UI macro into the catalog item. Custom with label variable inserts a UI macro with a label.")
* [Masked](https://www.servicenow.com/docs/ChxuIq3NR85jTYkQYJMjoQ "The masked variable inserts a field that masks the text entered.")
* [Multi-line text](https://www.servicenow.com/docs/cRu5NbeSoB0TFGYqBDr8NA "The multi-line text variable creates a field that lets you enter multiple lines of text.")
* [Multiple choice](https://www.servicenow.com/docs/QjIPYX0U_vDSsuhCKDp_MQ "The multiple choice variable creates radio buttons for question choices.")
* [Numeric scale](https://www.servicenow.com/docs/rT~u9lAZIn0sE1Ns~h6wnA "The numeric scale variable creates a set of radio buttons for a range of options, like a Likert scale.")
* [Reference](https://www.servicenow.com/docs/mDOZCqSxZ3nWDY7~dDHimw "A reference variable references a record in another table. For example, a variable named point_of_contact references the User [sys_user] table.")
* [Requested for](https://www.servicenow.com/docs/Ck6RVxW~js9Z8D4I3ITvGw "Before submitting a catalog item request, this variable helps you specify who this request can be submitted for.")
* [Rich Text Label](https://www.servicenow.com/docs/A06XJz1gz5BXeggNzv0MbQ "This variable displays a formatted label on a catalog item form.")
* [Select box](https://www.servicenow.com/docs/~73NXG_jE87bgzn1hvdjWQ "The select box variable creates a list from predefined question choices.")
* [Single-line text](https://www.servicenow.com/docs/WwBE84R0u6OnRuhDPJD3pg "The single-line text variable creates a field to enter a single line of text.")
* [UI page](https://www.servicenow.com/docs/h~~3B24quPkYR9b2pOw1_A "The UI page variable inserts a UI page into the catalog item.")
* [URL](https://www.servicenow.com/docs/i_GOnjgb8mQw5aKD7i5Z8Q "The URL variable creates a widget for users to enter URLs.")
* [Wide single-line text](https://www.servicenow.com/docs/AwsKrg7IeXeNMp9zy4xqzg "The wide single-line text variable creates a field that spans the form, letting users enter longer lines of text.")
* [Yes/No](https://www.servicenow.com/docs/mVtw1uwmVeC6_lbuxeejcw "The Yes or No variable creates a choice list with Yes and No as options.")  
**Related reference**   

* [Variable support in various channels](https://www.servicenow.com/docs/vqdq~tCjn1r5g9EsY_pl4w "Service Catalog variables are supported in various channels.")

