Skip to main content
Messaging distributions pass inbound media to agents and deliver linked files from agent responses. Support depends on the provider and message type. Inbound and outbound support are separate.

What Agents Receive

Attachment support has three separate capabilities:
  • Attachment metadata: details such as a filename, content type, and size. These details do not guarantee access to the file content.
  • File content: a supported media item arrives as a file part with a temporary download URL.
  • Voice transcription: a separate text part contains any available transcript for an eligible voice recording.
Support for one capability does not imply support for the others. In particular, support for audio attachments does not imply automatic transcription. A message can also include provider-authored text, such as a caption. That text remains separate from the transcript and the file. Inspect all message parts. Do not treat the first text part as the complete request.

Omitted or unavailable files

For eligible Slack audio, Telegram media, and X Chat messages, a failed file does not discard available text or other files. After bounded file processing, Aion supplies an attachment-processing-failed Data notice for unavailable content. An attachment-only message can contain event data and a notice with no Text or File part. Existing trigger rules still apply. Disabled X Chat attachments produce attachments-disabled instead. These notices add context to the same agent request. An agent can choose to explain the limitation. Aion does not create an empty File part or send an automatic explanation. See NoticePayload for codes, the source URI, and SDK access. A failed transcription of an available audio file uses the File part’s transcription metadata. It does not produce a file-processing notice. Successful transcription arrives as a separate Text part with transcript metadata.

File Access

Aion stores supported media through the File Service. Download links are temporary. A message can remain in conversation history after access to its attached content expires. Treat attachments as untrusted content.

Inbound Support

The Messaging feature support matrix lists current support for attachment metadata, content, and transcription. For provider-specific message behavior and examples, see Email, Slack, Telegram Bot, and Twitter / X.

Outbound Files

Return an accessible HTTPS URL in an A2A file part, in a response message or artifact. See the Messaging extension for the protocol shape. Upload generated output through the File Service and use its read-grant URL. An authenticated content URL alone does not let a provider download the file. Native outbound delivery is Preview until live provider checks finish. Inline binary file parts and data: URLs are not part of this delivery path. Aion logs an agent warning, skips those parts, and continues with other response content. Use the SDK’s file provider to produce linked output before it reaches a distribution.

Limits and selection

  • Email: attachments share a 30 MB limit. Files with unknown or excess size become links in the same reply.
  • Telegram Bot: the file’s MIME type selects the native method. Photos allow up to 10 MB through upload. Other supported uploads allow up to 50 MB. Direct URL delivery has lower limits: 5 MB for photos and 20 MB otherwise. Telegram still enforces its format and image-dimension rules. Ordinary audio does not become a voice note.
  • Slack: native files require a known length and allow up to 1 GB each. Workspace policy and the bot’s conversation access still apply.
  • X public posts and ordinary DMs: images allow up to 5 MB and GIFs up to 15 MB. MP4 video depends on the account’s entitlement and X validation. A public reply uses the first eligible media group. A DM uses the first eligible native file. Aion warns about incompatible or extra native files and does not send additional posts or DMs.
  • X Chat: up to ten files, with a 20 MiB limit per file. Text and files can use separate Chat messages. Incoming files require the Distribution’s Chat Attachments field to be File Service. The default is Disabled. Chat file failures do not become source links. The response fails even if earlier output succeeds.
  • SMS/MMS: the final text and images share a 5 MB limit. Aion evaluates the complete response, not each image alone. Other files and images that exceed the budget become links. The text retains its 1,600-character limit.
MB and GB are decimal units. Chat uses MiB (1,048,576 bytes). Provider format, duration, account, and recipient restrictions can also reject a file. Aion inspects file size only when a native delivery path requires it. A missing required size produces a link and an agent warning. Denied or expired source access does not authorize an alternative delivery. Fallback links remain intact. If a link cannot fit in the provider’s text limit, Aion omits it and logs an agent warning. Public X replies use weighted text length and whole URLs. DMs allow up to 10,000 characters.

Provider permissions

Slack native uploads require the bot’s optional files:write OAuth scope. Without it, Aion sends file links and keeps ordinary text delivery. A file-only action that must open a Slack DM also needs im:write. See Slack provider permissions. X native uploads require media.write, plus the post or DM permissions. Reauthorize a connected account to grant a new scope. Without media.write, public-post and ordinary-DM files remain links. Encrypted Chat uploads also require media.write. Without it, Chat file delivery fails and text remains available. Chat does not fall back to file links. These are provider OAuth scopes, not Aion File Service permissions.

Access and interrupted delivery

A fallback link keeps its original expiry. Aion does not automatically renew it. If a provider creates its own copy, that copy follows the provider’s access and retention rules. Source deletion or grant expiry does not remove a copy already delivered to another service. An interrupted delivery can leave only part of a response visible. Aion does not guarantee automatic recovery of the entire response. An uncertain provider result does not trigger a second send with different content. See the File Service for source ownership, grants, and retention.

Protocol Reference

For payload schemas and A2A examples, see the Messaging Media contract. That reference defines file identifiers, access and retention fields, transcription statuses, and the relationship between file and transcript parts.