Macha

Attaching Files to Chat: Documents, Images & Audio

Abbas, Customer Support & AI, Macha

Written by

Ankeet Guha, Co-founder & CTO, Macha

Reviewed by

Published July 27, 2026

Updated July 27, 2026

A surprising amount of support work is trapped inside files. A customer pastes a screenshot of an error instead of describing it. A teammate forwards a 12-page PDF contract and asks "are we covered here?" Someone drops a voice memo from a sales call and wants the action items. Text-only chat makes all of that a copy-paste chore — you end up transcribing, summarizing, and retyping things by hand before the AI can even start.

Attaching Files to Chat: Documents, Images & Audio

Macha's chat handles files directly. You can drag and drop documents, images, and audio onto the chat input, and the agent reads them the way you'd hope: it extracts text from documents, looks at images with a vision model, and transcribes audio into words it can reason over. This shipped on March 1, 2026, and it turns the chat box from a text field into a place where you can hand the agent the actual artifact instead of describing it.

This post walks through how it works for each file type, what happens to the file after you send it, where the credits go, and — importantly — when you should not use a one-off chat upload and should set up a permanent knowledge source instead.

One framing note up front: Macha is an AI agent layer that sits on top of your helpdesk (Zendesk, Freshdesk, Gorgias, Front), not a helpdesk itself. Chat is where you build, test, and talk to those agents — and where attachments are the fastest way to give an agent context it doesn't already have.

The basics: drag, drop, send

There are two ways to attach a file to a message: drag and drop it onto the input, or click the file picker and browse for it. Either way, the file rides along with your next message, and the agent processes it as part of that turn.

The Chat tab in Macha's agent builder, where you talk to an agent and can attach files to a message.
The Chat tab in Macha's agent builder, where you talk to an agent and can attach files to a message.

Three categories are supported, and each is handled differently under the hood:

File typeExamplesWhat the agent does
DocumentsPDF, DOCX, CSV, XLSXExtracts the text and adds it to the conversation context
ImagesJPEG, PNG, GIF, WebPSends the image to a vision-capable model for visual analysis
AudioVoice memos, call recordingsTranscribes speech to text via the ElevenLabs connector

The distinction matters because it changes what the model actually receives. A document becomes text. An image becomes pixels the model can see. Audio becomes a transcript. Let's take them one at a time.

Three files attached to the Macha chat input as removable chips before sending — a PDF, a PNG screenshot, and an audio file, each with its size and an X to remove it.
Three files attached to the Macha chat input as removable chips before sending — a PDF, a PNG screenshot, and an audio file, each with its size and an X to remove it.

Each attached file shows up as a chip with its type icon, name, and size, plus an × to drop it before you send — so you can stage several files in one message and prune anything you grabbed by mistake.

How this compares to other AI chat tools

If you've used a general-purpose AI chat, attaching files will feel familiar — the mechanics are now table stakes. Where tools differ is in limits and in what happens next. A quick, honest ballpark from the consumer tools most people know (numbers as published in 2026, treat as approximate — vendors change them often):

ToolPer-file size (approx.)Files per message/chatNotable cap
ChatGPT~512 MB (images 20 MB, spreadsheets 50 MB)10 per message~2M-token limit on text docs (OpenAI)
Claude.ai~30 MB~20 per conversationPDFs work best under ~100 pages (Anthropic)
MachaNo published hard capNo fixed per-message countBounded by the model's context window (see below)

The pattern is consistent: every one of these tools eventually runs into the model's context window, not an arbitrary file-count rule. The difference with Macha is the destination. In a consumer chat, the file's content informs an answer and stops there. In Macha, the extracted text, the vision read, or the transcript becomes context an agent can act on — drafting a Zendesk reply, posting to Slack, or generating a file back out. That support-ops loop is the point, and it's covered more below.

Is there a file-size limit?

Macha doesn't publish a hard per-file byte cap for chat attachments, and in practice you won't hit one with the files real support work involves — a contract PDF, a screenshot, a few minutes of audio. The real constraint isn't disk size, it's the model's context window. For documents specifically, the extracted text has to fit alongside your message, the agent's system prompt, its knowledge, and the rest of the conversation. A short PDF is nothing; an 80-page contract can crowd everything else out and degrade the answer.

So the practical "limit" is a budget, not a ceiling:

  • Documents are bounded by tokens, not megabytes. Attach the relevant pages, not the whole binder, and a long document is a signal it should be a knowledge source (chunked and searched on demand) rather than pasted into one turn.
  • Images are read as vision content, so a normal screenshot or photo is fine; absurdly large images cost more tokens and add latency.
  • Audio length drives transcription time and cost — a voice memo transcribes fast, a 90-minute recording is more work.

If you need to work with something genuinely large repeatedly, that's the knowledge-source path, not a chat attachment — see the watch-outs.

Documents: text extraction into context

When you attach a PDF, DOCX, CSV, or XLSX, Macha automatically extracts the text and injects it into the conversation context. You don't paste anything; the words from the file simply become available to the agent for that conversation, alongside your message.

That makes the obvious questions trivial:

  • "Summarize the key terms in this contract." (attach the PDF)
  • "Which of these 300 orders are flagged for review?" (attach the spreadsheet)
  • "Draft a reply to this customer based on the policy in this doc." (attach the policy)

Because the content lands in context as text, the agent can quote it, reason over it, cross-reference it against a connected tool, or use it to draft a response. A CSV of orders becomes something the agent can filter and count; a DOCX policy becomes something it can apply to a specific ticket.

Two practical limits worth knowing. First, extraction pulls text, so a scanned PDF that's really just images of pages won't yield much — for that you want the image path (below) or proper OCR upstream. Second, very large documents consume context: a single 80-page PDF can crowd out the rest of the conversation. If a document is something you'll reference repeatedly, it belongs in a knowledge source, not pasted into every chat — more on that in the watch-outs section.

Images: the agent actually looks

Attached images don't get flattened into a text blob and discarded — they're sent to the model as vision content, so a vision-capable model genuinely sees the picture. That's the same capability Macha agents use when they encounter an image attachment on a Zendesk ticket: the agent downloads the image, encodes it, and passes it to the model for visual analysis.

In practice the agent can:

  • Describe a screenshot a customer sent of an error or a broken UI state
  • Read text inside an image — a label, an error dialog, a handwritten note
  • Identify a product from a photo
  • Parse a receipt or invoice into structured fields

Vision is only as good as the model behind it. As of the April 2026 vision release, the vision-capable models include GPT-5.4 Mini, GPT-5 Mini, GPT-4o Mini, Claude Sonnet 4.5, and Claude Sonnet 4. If your agent is set to a model without vision (some Groq models, for instance), it will gracefully tell you image reading isn't supported rather than silently ignore the picture — so if an agent "can't see" your screenshot, check the model selector first.

This is the same engine behind reading image attachments on tickets — we go deeper on what the model can and can't reliably pull from a picture in How AI vision reads screenshots, receipts & product photos.

A Macha chat turn: a customer error screenshot is attached to the message, and the agent reads back the exact error code, order number, support reference, and full message text from inside the image.
A Macha chat turn: a customer error screenshot is attached to the message, and the agent reads back the exact error code, order number, support reference, and full message text from inside the image.

Here the agent didn't just acknowledge a file — it pulled ERR_PAYMENT_DECLINED_402, order KTD-48817, and the support reference straight out of the pixels, then quoted the full error text. That's vision doing OCR-grade reading on a screenshot a customer might paste into a ticket.

Audio: transcription as a tool action

Audio is the one that surprises people, and it works differently from documents and images. Speech isn't handled by the base model — it runs through the ElevenLabs connector's Transcribe Audio tool, an AI-powered Speech-to-Text action. The tool takes an audio or video file (it accepts MP3, WAV, M4A, MP4, WebM and other common formats), returns the full transcript as text, and that transcript becomes context the agent can summarize, mine for action items, or reply to.

The ElevenLabs connector's
The ElevenLabs connector's "Transcribe Audio" tool in Macha — a Speech-to-Text action that turns an audio or video file into a full transcript. The connector is configured with an API key before the tool is available.

Two things follow from how this is built. First, it's a tool, not a built-in — the ElevenLabs connector has to be connected (you paste an ElevenLabs API key once, as shown above) before an agent can transcribe anything. Documents and images work out of the box; audio depends on this connector. If you ask an agent to transcribe before it's connected, it will tell you it doesn't have that capability rather than guess — so the connector is step one.

Second, because transcription runs as a tool call, it surfaces live the way every Macha tool call does: the chat shows a real-time status while the tool executes ("Using Transcribe Audio"), then the transcript lands in the conversation as plain text. From there you can immediately follow up — "pull out the three commitments we made" or "draft a recap email." The tool is designed to take a file by URL — for example, an audio attachment already sitting on a Zendesk ticket — which is exactly the support-ops case: a customer leaves a voicemail, it lands on a ticket, and the agent transcribes and acts on it without anyone hitting play.

That's the difference between a generic chat that accepts an audio file and a support agent that can act on it: the transcript doesn't dead-end, it flows into the next step — a Zendesk reply, a Slack message, a row in a spreadsheet the agent generates. See the integrations directory for the ElevenLabs connector.

Where the credits go

Macha bills in credits, per AI action — not per file and not per "resolution." Attaching a file isn't itself a charge; the cost comes from what the model does with it.

  • Documents add extracted text to context, so they're billed as part of the normal message response — credits depend on the model you've selected (roughly 0.5–9 credits by model, with the default GPT-5.4 Mini at the low end).
  • Image vision is processed by the same response, on a vision-capable model.
  • Audio transcription is a separate tool action (Transcribe Audio), so it consumes credits for that action in addition to the response that uses the transcript.

The honest takeaway: large documents and long audio files cost more because they involve more tokens and more work, not because attachments carry a surcharge. If you're cost-conscious, attach the relevant pages rather than the whole binder, and pick a lean model for routine extraction. Full per-model credit costs live on the pricing page, and you can try all of this on the 7-day free trial, no credit card required.

One-off uploads vs. permanent knowledge

This is the most important decision, and it's easy to get wrong. Chat attachments are per-conversation: the file is context for this chat, and Macha automatically cleans it up — conversations auto-delete after 45 days of inactivity, and chat attachments expire automatically. That's exactly what you want for a one-time question. It's exactly what you don't want for a document the agent should always know about.

If you find yourself attaching the same return policy, the same pricing sheet, or the same troubleshooting guide over and over, stop. That content belongs in a knowledge source, where the agent searches it on every relevant conversation without you re-uploading anything.

Uploading a file as a knowledge source in Macha — the permanent alternative to a one-off chat attachment.
Uploading a file as a knowledge source in Macha — the permanent alternative to a one-off chat attachment.

Macha's knowledge layer handles size intelligently: small files are injected directly into the prompt, while larger files are chunked, embedded, and searched on demand — so a 200-page manual stays usable without flooding context. You can also connect Google Docs and Notion pages as live sources, so when the underlying document changes, the agent reads the latest version automatically — no re-uploading. For the full picture of uploads, crawls, and live sources, see Giving agents knowledge: uploads, website crawl & live sources.

A simple rule of thumb:

Use a chat attachment when…Use a knowledge source when…
It's a one-time question about this fileThe agent needs this content on every relevant chat
The file is unique to this conversationThe file is a standing reference (policy, FAQ, manual)
You want the answer now, no setupThe content updates over time (live Google Doc / Notion)

For the full setup, see the Macha docs.

Closing the loop: files out, not just in

Attachments are the input side. It's worth knowing the output side exists too, because a lot of real workflows need both. Macha's File Tools connector lets agents generate files on the fly — XLSX spreadsheets, CSVs, PDFs, and DOCX documents — with no setup required. So a complete workflow can look like: attach a messy spreadsheet → the agent cleans and analyzes it → the agent hands back a tidy CSV or a formatted PDF report. Files in, files out, no leaving the chat.

Watch-outs and when not to use it

A few honest limits so this doesn't bite you:

  • Scanned documents are images, not text. A "PDF" that's really photos of pages won't text-extract well. Treat it as an image (vision) or run OCR before uploading.
  • Don't paste a knowledge base into every chat. Re-attaching the same big document is slow, expensive, and forgetful. Make it a knowledge source once.
  • Audio needs the ElevenLabs connector. Documents and images work immediately; transcription doesn't until that connector is enabled.
  • Vision needs a vision-capable model. Check your agent's model if it "can't see" an image — a non-vision model will say so rather than guess.
  • Very large files eat context and credits. Attach the pages that matter, not the entire archive. For routine extraction, a leaner model keeps costs sane.
  • Attachments are ephemeral by design. They expire with the conversation. If you need a permanent record, the source of truth should live in your helpdesk or a knowledge source, not in a chat attachment.

FAQ

What file types can I attach to a Macha chat? Documents (PDF, DOCX, CSV, XLSX), images (JPEG, PNG, GIF, WebP), and audio files. Documents are text-extracted into context, images are sent to a vision model, and audio is transcribed.

Does the AI actually read images, or just file names? It reads the image. Uploaded images are sent as vision content to a vision-capable model (GPT-5.4 Mini, GPT-5 Mini, GPT-4o Mini, Claude Sonnet 4.5, or Claude Sonnet 4), so the agent can describe screenshots, read text in the image, identify products, or parse a receipt.

How do I attach a file? Drag and drop it onto the chat input, or use the file picker. The file is processed with your next message.

How does audio transcription work? Audio is transcribed by the ElevenLabs connector's Transcribe Audio tool. You'll see a "Using Transcribe Audio" status while it runs, then the transcript becomes text the agent can summarize or act on. The connector must be enabled in your workspace.

Do attachments cost extra credits? Attaching a file isn't a separate fee — credits are charged per AI action. Document extraction and image vision are part of the message response; audio transcription is its own tool action and consumes credits accordingly. See pricing for per-model costs.

What happens to my files after the chat? They're ephemeral. Conversations auto-delete after 45 days of inactivity and chat attachments expire automatically. For content the agent should always know, use a knowledge source instead.

When should I use a knowledge source instead of an attachment? Whenever the same document needs to be available across many conversations — a policy, FAQ, or manual. Knowledge sources are searched automatically and support live Google Docs and Notion pages that stay up to date.


Ready to hand your agents real files instead of describing them? Start a 7-day free trial, no credit card required and try documents, images, and audio in chat, or read the chat documentation.

Macha

About Macha

Macha is an AI agent platform that works on top of the help desk you already use — Zendesk, Freshdesk, Gorgias, or Front — and connects to the rest of your stack, even your own internal systems. Its AI agents resolve tickets and automate entire workflows end to end, all set up in plain English, no code. Learn more about Macha →

Zendesk
5.0 on Zendesk Marketplace

Loved by support teams worldwide

See what support teams are saying about Macha AI.

The application seems excellent to me! We are still testing, and we need support for some details and they were extremely efficient too!

Daniela Costa

Daniela Costa

Head of Support, Seabra

Macha has been a great addition to our support toolkit. It generates clear, well-organized responses that fit naturally into our workflow. One feature we particularly appreciate is its ability to automatically reply in the same language as the ticket.

Marius F

Marius F

Support Head, Zentana

We've been using Macha for a little while now and it's been really great addition so far! It's powerful, convenient, and makes getting work done a lot easier for our agents.

Alexander Wedén

Alexander Wedén

Head of Support

Support team is very helpful and responsive. Really enjoy how lightweight this is within Zendesk itself vs other more intrusive tools.

Cathleen Wright

Cathleen Wright

Zendesk Admin, Cortex IO

So far it's pretty good! Our queries are a little nuanced, so we can't always use it, but it's got enough utility for us. It can even incorporate our bilingual country with greetings in a second language.

Jae Oliver

Jae Oliver

Head of Support, Wise

Really enjoying using Macha, it has made a noticeable difference to our support team in a short amount of time. I really like the ticket summary feature, saves us a lot of time.

Harry Jackson

Harry Jackson

Head of Support, Crumb

Macha AI is a great addition to my workspace! It's powerful, convenient, and it really makes productivity so much easier for our agents!

Dave G

Dave G

Head of Support, Cyber Power Systems

Very impressed! AI integration for Zendesk has certainly come a long way and Macha seems to set the standard for now. This will for sure save lot of time in our support team.

Pauli Juel

Pauli Juel

Head of CS, Dokument24

Macha has been working great for us so far! The auto-responses are accurate and our resolution time has dropped significantly.

Lana T

Lana T

Zendesk Admin, Swotzy

Macha AI is a great addition. The knowledge base feature means our agents always have the right answers at their fingertips.

Mischa Wolf

Mischa Wolf

Head of Support, Topi

We're enjoying this integration so far. It's made our support team more efficient and our customers get faster responses.

Paula G

Paula G

Head of Customer Support, Xly Studio

The team enjoys using it. It saves considerable time on common questions and the integration options are excellent.

Kilian Leister

Kilian Leister

Support Head, Didriksons

Ready to supercharge your team with AI?

Get started in minutes. Connect your tools, configure your agents, and let AI handle the rest.

500 free credits · no time limit, no credit card