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 allow for richer interactions and more 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 in the third-party storage are publicly accessible.
Restrictions
- Only the following Endpoints support file uploads:
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:- Azure Blob Storage Container
- Amazon S3 Bucket
- Google Cloud Storage Bucket
- Go to the Azure portal and select Storage Accounts in the Azure services section.
- On the Storage accounts page, select the account from the Name column.
- In the left-side menu, navigate 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.
- In the left-side menu, go to Security + networking and 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.
- On the Cognigy.AI side, open the Project that contains the Endpoint for which you want to configure a file storage. Go to Deploy > Endpoints and select an Endpoint or create one.
- 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.
- 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.
- Click Create, then Save.
Access the File Storage through the Input Object
By default, the data of uploaded files is stored in theinput.data.attachments
array. Each file object in this array contains a file name, type, and URL pointing to the uploaded file:
Use Cases
Use Cases
Use Case | Description | CognigyScript | Example Output |
---|---|---|---|
Confirm uploaded files | To ensure the user uploaded the correct file, display the file name for confirmation. | {{input.data.attachments[0].name}} | example_file.png |
Provide the direct file URL | Share the direct URL of the uploaded file with the user. | {{input.data.attachments[0].url}} | https://example.com/uploads/example_file.png |
Validate attachments | To check if a valid file has been uploaded in the most recent user input, verify the length of the input.data.attachments array. | {{input.data.attachments.length}} > 0 | - |
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.Query Parameter | Description |
---|---|
maxWidth | The maximum width of the image. |
maxHeight | The maximum height of the image. |
maxFileSizeInBytes | The maximum file size of the image, specified in bytes. |
Use Cases
Use Cases
Use Case | Description | Example | URL Example |
---|---|---|---|
Attach image without changes | An attachment is uploaded with the original URL. | The image has dimensions of 3840 x 2160 and a size of 8 MB. | https://files-trial.cognigy.ai/123/456/789 |
Resize to specific dimensions | If you provide the maxWidth and maxHeight parameters, the image is resized to fit these parameters while maintaining the aspect ratio. | To resize the image to a maximum of 640x480, append the maxWidth=640 and maxHeight=480 parameters. | https://files-trial.cognigy.ai/123/456/789?maxWidth=640&maxHeight=480 |
Limit file size | If you provide the maxFileSizeInBytes parameter, the image quality is gradually reduced until the image file size meets the specified file size. | To ensure the image is less than 100 KB (102,400 bytes), use the maxFileSizeInBytes=102400 parameter. | https://files-trial.cognigy.ai/123/456/789?maxFileSizeInBytes=102400 |
Error Code | Description |
---|---|
500 | Returns if the image can’t be resized according to the specified parameters. For example, if the maxFileSizeInBytes can’t be reached. |