Upload a chat attachment to a knowledge library
Attach a file to the current Complexity message. Select your mailbox and enable uploadKnowledgeAttachment. The file must pass ClamAV scanning. Choose an accessible knowledge library.
The model supplies attachmentId, libraryId, and optional folderId. The server reads filename, MIME type, size, and bytes. Model input cannot contain file content or an arbitrary storage key.
AdminService checks knowledge.files.upload, the separate tool grant, active MailGen license, current run/mailbox ownership, and current library manage access. It finds the attachment in the assistant run's parent user message.
BFF reads the scanned actor/chat-scoped file and uses canonical /knowledge actions upload.start, upload.part, and upload.finish. Every chunk checks mailbox access. The server checks agent grant and destination access before creation and again before finish.
If processing stops before BFF requests finish, BFF attempts canonical file.delete to release the reservation. Unavailable cleanup leaves the backend expiry mechanism to close abandoned uploads. Cancellation does not delete an accepted queued file.
The chat attachment ceiling is 50 MiB. Human Knowledge uploads follow their separate policy limits. This tool cannot generate bytes or fetch an arbitrary external URL. queued confirms upload admission, not completed extraction or search readiness. Follow the file until ready.