File Attachments
RapiDesq supports file attachments across every channel and surface where they're relevant — customer chat conversations, email replies, ticket attachments, internal team chat, knowledge base documents, and branding assets. Every file is scanned for viruses before anyone can download it, and customer data stays isolated per tenant. This guide covers where files can be attached, how uploads and downloads work, virus scanning, file storage, and the option to connect your own cloud storage.
Overview
File attachments are consistent across the platform: same upload flow, same scanning, same access control, same retention. That consistency is the point — agents, customers, and admins shouldn't have to learn a different file handling model for each feature.
Every upload is scanned for viruses before anyone can download it. Every file is stored in per-tenant isolation so one tenant's files are never accessible to another. Files respect the same data residency commitments as the rest of your data — they stay in the region where your tenant was created.
Where Files Can Be Attached
- Chat conversations — customers upload through the chat widget; users upload from the user workspace. Images display inline; other files show as downloadable attachments with filename and size.
- Email channel — inbound emails with attachments flow into the ticket automatically; users can attach files to outbound replies.
- Tickets — attach files directly to a ticket without them being messages. Useful for reference documents, screenshots, or evidence.
- Internal team chat — users share files in one-to-one and group conversations.
- Knowledge base — upload documents to a knowledge base so AI features can index and cite them.
- Custom fields — a custom field of type "File Upload" can hold an attached file on the records that use it.
- Branding assets — tenant logo, chat widget avatar, bot avatars, user profile photos.
Upload Flow
Users upload files the ways you'd expect: clicking an attachment button, drag-and-drop into a conversation pane, or pasting from the clipboard (useful for screenshots). Regardless of entry point, the pipeline is the same:
- The file is uploaded directly from the user's browser to per-tenant storage using a short-lived secure upload URL. The upload doesn't pass through RapiDesq's application servers, which keeps the system scalable and reduces latency.
- The upload is registered against the context it belongs to (conversation, ticket, team chat, etc.) but marked as pending scan.
- Virus scanning runs asynchronously in the background. For most files this completes within seconds.
- Once scanning passes, the file becomes available to download. If it fails, the file is blocked and never becomes downloadable.
From a user perspective, the file appears immediately with a small indicator that scanning is in progress. For the typical case (clean files scanned in seconds), the delay is barely noticeable.
Virus Scanning
Every uploaded file is scanned before it becomes available for download. While a file is pending or being scanned, it appears with an in-progress indicator and cannot be downloaded. Files that fail scanning are:
- Blocked from download — no download link is ever issued for a file that failed scanning.
- Clearly marked — the attachment is shown as blocked wherever it appears, so everyone in the conversation knows the file wasn't delivered.
Supported Formats and Size Limits
RapiDesq accepts common file types — documents, images, archives, audio, video, and other business file formats. Executable files are blocked because they're a common malware vector.
Files can be up to 25 MB each; the composer shows the limit when attaching. Inbound email attachments are additionally subject to your email provider's own attachment size limits.
File Storage
By default, RapiDesq manages file storage for you: every tenant's files live in platform-managed, per-tenant isolated storage, encrypted in transit and at rest, in your tenant's home region — respecting the same data residency commitments as the rest of your data. No configuration is required.
The storage configuration lives at Admin > Settings > File Storage. The page shows your current configuration — Platform Managed by default, or the provider and bucket you've connected.
Bring Your Own Storage
From the same page, you can connect your own cloud storage bucket for file attachments. Supported providers are Amazon S3, Google Cloud Storage, and Azure Blob Storage; S3-compatible storage with a custom endpoint is also supported. You provide the bucket name, region, access credentials, and an optional key prefix.
Before saving, Test Configuration runs a full connection test against your bucket so misconfigured credentials are caught up front. After cutover, a built-in migration moves existing files to the new bucket, with progress tracking, verification, and the ability to roll back. You can also Revert to Platform Storage later.
Bring-your-own storage is useful when:
- Compliance requirements specify that data must live in customer-owned infrastructure
- The organization has existing data governance tooling (DLP, retention, backup) that it wants applied to support files
Access Control
File access follows the access control of the object the file is attached to:
- A file attached to a conversation is visible to the participants in that conversation (customer, assigned users, supervisors of the relevant team).
- A file attached to a ticket is visible to anyone with permission to view that ticket.
- Internal team chat files are visible only to conversation participants.
- Knowledge base documents are available to the admins who manage the knowledge base and to the AI features that index them.
Clipboard Paste and Drag-Drop
For users, pasting from the clipboard is the fastest way to share screenshots. Copy an image (OS screenshot shortcut), focus the conversation compose area, paste, done. The file uploads and appears inline.
Drag-and-drop works across the user workspace: drag a file from the desktop onto a conversation, ticket, or team chat and it uploads to the right context.
Retention and Deletion
Files are retained according to the tenant's data retention policy (see Data Retention & GDPR). When a ticket, conversation, or contact is deleted, the associated files are deleted along with it. Files referenced only by archived content follow the retention policy for that archived content.
GDPR right-to-erasure requests remove files along with the associated customer data. Legal holds suspend deletion for files attached to the items on hold.
Best Practices
- Use the knowledge base for reusable content, not ticket attachments. Content that answers a common question belongs in a knowledge base the bot can cite, not as a one-off attachment to many tickets.
- For regulated industries, consider bringing your own storage. If your DLP, backup, or audit tooling applies to storage, connecting your own bucket brings support files under the same governance.
- Always run Test Configuration before saving a storage change. The full lifecycle test catches credential and permission problems before any files are affected.
Related Topics
- Chat Widget — file upload in customer-facing chat.
- Email Channel — attachments in inbound and outbound email.
- Ticket Management — attaching files directly to tickets.
- Data Retention & GDPR — retention policies for files and right-to-erasure handling.