Chat SDK Attachments
Handle inbound email attachments with the Chat SDK adapter.
When someone sends an email with file attachments, the adapter makes them available on message.raw.attachments. Each attachment includes the filename, MIME type, and a URL to download the content.
Attachment shape
Section titled “Attachment shape”interface ResendAttachment {
filename: string;
contentType: string;
url?: string;
}| Field | Type | Description |
|---|---|---|
filename |
string |
Original filename (e.g., invoice.pdf) |
contentType |
string |
MIME type (e.g., application/pdf) |
url |
string |
Optional download URL for the attachment content |
Detecting and processing attachments
Section titled “Detecting and processing attachments”chat.onNewMention(async (thread, message) => {
const attachments = message.raw?.attachments ?? [];
if (attachments.length === 0) {
await thread.subscribe();
await thread.post('Got your email — no attachments found.');
return;
}
const summary = attachments
.map((a) => `${a.filename} (${a.contentType})`)
.join(', ');
await thread.subscribe();
await thread.post(`Received ${attachments.length} attachment(s): ${summary}`);
});For more on receiving email attachments outside the Chat SDK, see Receiving Attachments.
Try it yourself
Section titled “Try it yourself”Attachments Example
Detects attachments and replies with a summary