Documentation Index
Fetch the complete documentation index at: https://resend.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
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)
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)
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)
Try it yourself