Skip to main content
Updated in 2026.13.1 By default, users can’t attach files to chat messages. However, you can configure File Storage in the Endpoint settings that allows users to upload files in the chat interface. To configure file storage, you need to create a connection to a third-party storage provider. After uploading a file to the chat interface, the file is saved in third-party storage and can be viewed by both the sender and the recipient.

Key Features

  • Improved Conversational Experience. Users can upload screenshots to illustrate technical issues and share various documents, such as contracts, invoices, order confirmations, and photos of purchased goods. File uploads enable richer interactions and additional capabilities for your Flow.
  • File Manipulation. You can retrieve file data, resize images, and validate files.
  • Security Measures. Cognigy.AI performs a virus scan on the file before uploading it to the cloud storage provider, checking for potential malware or viruses, and preventing harmful content from being stored or shared through the cloud.

Prerequisites

  • You have access to one of the following third-party storage providers:
  • Files are accessed using the configured storage credentials, so no anonymous or public read access is needed. Configure the storage container or bucket as private:
    • For Azure Blob Storage, set the container access level to Private (no anonymous access).
    • For Amazon S3, enable Block all public access in the bucket’s permissions settings.
    • For Google Cloud Storage, set Public access prevention to Enforced in the bucket configuration.

Restrictions

How to Use the File Storage

Create Connections to File Storage Providers

To enable file uploads, connect to one of the following file storage providers:
  1. Go to the Azure portal and select Storage Accounts in the Azure services section.
  2. On the Storage accounts page, select the account from the Name column.
  3. In the navigation menu, go to Data storage > Containers. Copy the name of the target container from the Name column. This container will store user-uploaded files. Save the container name for later use.
  4. Select the container, then click Change access level. Set the access level to Private (no anonymous access) and click OK. The service uses storage credentials to access files, so anonymous access isn’t needed.
  5. In the navigation menu, go to Security + networking and select Networking. Under Public network access, ensure the setting is Enabled from all networks. This keeps the storage account accessible over the internet so the service can authenticate using credentials.
  6. In Security + networking, select Access Keys. On the Access Keys page, copy the name from the Storage account name field and the key from the Key field for later use.
  1. Open the Project that contains the Endpoint for which you want to configure file storage. Go to Deploy > Endpoints and select an Endpoint or create one.
  2. Depending on the Endpoint you select, proceed as follows:
    • Webchat v3 — activate the Allow Attachment Upload setting in Webchat Behavior in the Attachment Upload section and select Azure from the File Storage Provider list.
    • Other Endpoints — go to the File Storage section and select Azure from the File Storage Provider list.
  3. Next to the Azure Connection, click + and fill in the following fields:
    • Container Name — enter the name of the container that you copied and saved previously.
    • Account Name — enter the storage account name that you copied and saved previously.
    • Account Key — enter the key that you copied and saved previously.
  4. Click Create, then Save.
To test file uploads for the Webchat v2 and Webchat v3 Endpoints, use Demo Webchat. Upload a file in the Demo Webchat interface by either dragging it from your computer or clicking attachment-icon. For other Endpoints, testing only works in the production environment. Upload a file to the chat interface and go to the file storage on your provider’s side. If the file appears in the storage, the file was successfully uploaded.

Access the File Storage through the Input Object

By default, the data of uploaded files is stored in the input.data.attachments array. Each file object in this array contains a file name, type, and URL pointing to the uploaded file:

Resize Images

For image file types, such as JPEG, PNG, GIF, WebP, and others, you can automatically resize images based on the query parameters in the URL. The available parameters are in the table.
HTTP Error Codes

More Information

Last modified on June 29, 2026