> ## Documentation Index
> Fetch the complete documentation index at: https://fliqr.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Send messages and media in a Flow

> Use Message, Quick Replies, and Cards in Fliqr AI Flows — plus per-channel media formats, sizes, and interactive limits.

Message blocks are how your Flow talks to contacts. Choose the right interactive pattern, keep media inside channel limits, and prefer Omnichannel content when you can.

## Message blocks

| Block               | Use when                                                    |
| ------------------- | ----------------------------------------------------------- |
| **Message**         | Send text and/or media with no required tap target          |
| **Quick Replies**   | Offer short tap choices that disappear after selection      |
| **Buttons / Cards** | Show cards (title, image, subtitle) with persistent buttons |

<Tip>
  Prefer Omnichannel message types for multi-channel Flows. Switch to channel-specific content only when you need a native control (lists, product cards, etc.).
</Tip>

## Interactive patterns

<AccordionGroup>
  <Accordion title="Quick Replies">
    Best for menus and short decisions. Keep labels short. Each option should continue to a clear next block. After the contact taps, quick replies typically disappear from the thread.
  </Accordion>

  <Accordion title="Buttons and cards">
    Use for richer choices with imagery or multiple CTAs. Respect per-channel button caps (often up to 3 buttons per card on Meta channels). Link buttons can open URLs; postback-style buttons continue the Flow.
  </Accordion>

  <Accordion title="Free text instead of buttons">
    If the channel or context has no buttons (for example SMS), ask numbered replies (`Reply 1 for Sales`) and branch with a [Condition](/docs/core-concepts/flows/conditions).
  </Accordion>
</AccordionGroup>

## Send a business location

On WhatsApp, Telegram, and Viber you can send a location card with your business coordinates so contacts can open maps.

1. Add the location / map message type for that channel (or Omnichannel where supported).
2. Set latitude, longitude, and an optional label.
3. Publish and test on a real device.

To **collect** the contact’s location instead, see [Request location](/docs/channels/request-location).

## Media formats and sizes

Fliqr AI also enforces a general **25MB** upload ceiling in many surfaces. Channel networks may be stricter.

<Tabs>
  <Tab title="WhatsApp">
    | Media    | Formats                      | Max size    |
    | -------- | ---------------------------- | ----------- |
    | Image    | png, jpeg                    | 5MB         |
    | Video    | 3gp, mp4                     | 16MB        |
    | Audio    | aac, m4a, ogg, mp4, mp3, amr | 16MB        |
    | Document | valid MIME types             | up to 100MB |
  </Tab>

  <Tab title="Instagram">
    | Media | Formats                  | Max size |
    | ----- | ------------------------ | -------- |
    | Image | png, jpeg, gif           | 8MB      |
    | Video | mp4, ogg, avi, mov, webm | 25MB     |
    | Audio | aac, m4a, wav, mp4       | 25MB     |
  </Tab>

  <Tab title="Messenger">
    | Media    | Formats                  | Max size |
    | -------- | ------------------------ | -------- |
    | Image    | png, jpeg, gif           | 25MB     |
    | Video    | mp4, ogg, avi, mov, webm | 25MB     |
    | Audio    | aac, m4a, wav, mp4       | 25MB     |
    | Document | valid MIME types         | 25MB     |
  </Tab>

  <Tab title="Telegram">
    | Media    | Formats          | Max size |
    | -------- | ---------------- | -------- |
    | Image    | png, jpeg, webp  | 5MB      |
    | Video    | mp4              | 20MB     |
    | Audio    | mpeg             | 20MB     |
    | Document | valid MIME types | 20MB     |
  </Tab>

  <Tab title="Viber">
    | Media    | Formats                  | Max size |
    | -------- | ------------------------ | -------- |
    | Image    | png, jpeg, jpg, gif      | 200MB    |
    | Video    | mp4                      | 200MB    |
    | Document | doc(x), xls(x), csv, pdf | 200MB    |
  </Tab>
</Tabs>

<Warning>
  Large gallery or video files often fail above **25MB**. Host oversized media on HTTPS and send the link instead of uploading the file into the Flow.
</Warning>

## Personalization in messages

Use `{{field_name}}` placeholders. Example: `Thanks {{first_name}} — we booked you for {{appointment_slot}}.`

Guard empty fields with a Condition, or set field defaults under [Contacts](/docs/core-concepts/contacts).

## Next

<CardGroup cols={2}>
  <Card title="Collect data" icon="database" href="/docs/core-concepts/flows/collect-data">
    Ask questions and store answers.
  </Card>

  <Card title="Dynamic choices" icon="list" href="/docs/core-concepts/flows/dynamic-choices">
    Build multiple-choice options from an API or sheet.
  </Card>
</CardGroup>
