> For the complete documentation index, see [llms.txt](https://angoor-ai.gitbook.io/angoor-ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://angoor-ai.gitbook.io/angoor-ai/basics/configuration/flows/content-components.md).

# Content components

Content components send something to the user — a message, a piece of media, a template, or an email. They are the steps that produce the visible output of a conversation. You will find them under **Content** in the step palette.

<figure><img src="/files/gB2MBdQmg73eDRUHWXjH" alt=""><figcaption></figcaption></figure>

Most content components let you choose *when* the message is sent: immediately, at the end of the current path, or at the end of the flow. Message bodies support template variables, so you can weave flow data into what you send.

### Text

Sends a text message to the user.

<figure><img src="/files/768evn64refC7TM9ZtJ6" alt=""><figcaption></figcaption></figure>

You configure the message body, including any template variables, and the send timing. Text works on WhatsApp, Instagram Direct Message, the web widget, and Slack. No prerequisites.

### Nudge

Sends a nudge or lightweight notification to the user.

<figure><img src="/files/n0emhQpVBXUDMVPBByR4" alt=""><figcaption></figcaption></figure>

You configure the nudge body and send timing. Nudge works on website widget.&#x20;

### Comment

Sends a reply comment on the original message. This is specific to Instagram and Facebook right now.

You configure the comment text with template variables. The step must be triggered from an Instagram comment context.

### Image

Sends an image to the user.

<figure><img src="/files/qwlwcdUY6x2qMkPrDn3a" alt=""><figcaption></figcaption></figure>

Note: while uploading the media on our platform under knowledge base, you have to enable the checkbox which says make public. Otherwise users won't be able to see the image.

### Video

Sends a video to the user.

You provide the media as a flow variable containing a video URL or an upload, and set the send timing. Video works on WhatsApp, Instagram Direct Message, email (as an attachment), and the web widget. You need a valid video URL or uploaded file.

### Document

Sends a document — a PDF, a Word file, and similar — to the user.

You provide the file as a flow variable containing a document URL or an upload, and set the send timing. Document works on WhatsApp, email, and the web widget. You need a valid document URL or uploaded file.

### Audio&#x20;

Sends an audio file to the user.

You provide the audio as a flow variable containing a URL or upload, and set the send timing. Audio is planned for WhatsApp and the web widget.

### Template

Sends a pre-approved WhatsApp template message. You populate the template's variables in the flow before it is sent.

<figure><img src="/files/jCPT6TRlT4DNifDiFL0H" alt=""><figcaption></figcaption></figure>

You select a template from those available, optionally set the WhatsApp Business Account number to send from, and supply the template variables. The preserve session variables toggle controls whether the session's existing variables stay available after the template is sent: on keeps them, off clears them. Template is WhatsApp only, and requires a WhatsApp Business Account with an approved template whose header and body parameters match the variables you supply.

### Email

Sends a custom email with a dynamic body.

<figure><img src="/files/AOswGEmD9mountCjHWp3" alt=""><figcaption></figcaption></figure>

You select the Gmail account to send from and compose the body using template variables and dynamic content. Email only. Requires a configured Gmail integration.

### Email Template

Sends a pre-designed email template with its variables filled in.

<figure><img src="/files/qSGpG043w2HeJgm0ptHr" alt=""><figcaption></figcaption></figure>

You select the email template, the Gmail account to send from, and the template variables — which can include things like a user identifier, a campaign, or product blocks — and choose whether to preserve session variables. Email only. Requires a configured Gmail integration and an email template with defined variables.

### Slack

Sends a message to a Slack channel.

<figure><img src="/files/FJNdwRFQHoaAw5lZ7rH7" alt=""><figcaption></figcaption></figure>

You select the Slack workspace and target channel, compose the message body with template variables, and optionally enable an update toggle so the message is updated per conversation rather than posted anew. Slack only. Requires a configured Slack integration, and the bot must be a member of the target channel.

### Collect Payment

Initiates a WhatsApp payment collection request.

<figure><img src="/files/VvcGFPFXA2XeypMs4VzH" alt=""><figcaption></figcaption></figure>

You configure the payment prompt and the order or payment details — amount, currency, and so on — through input variables. WhatsApp only. Requires a WhatsApp Business Account with payment enabled, and a valid user identifier in the input data.

### Insta Comment to DM

Converts an Instagram comment into a direct message: instead of replying as a comment, the assistant replies in the user's DMs.

You configure the message body with template variables. The step must be triggered from an Instagram comment context and requires the Meta integration. Sends as an Instagram Direct Message.

### Product&#x20;

Sends a product catalog item or listing to the user.

You select the product from a catalog and configure its details and variants. Planned for WhatsApp (via product catalogs), Instagram, and the web widget. Requires a product catalog integration.

### Order&#x20;

Sends order details or an order status update to the user.

You select or create the order and configure its items, totals, and shipping or payment information. Planned for WhatsApp, email, and the web widget. Requires an order management integration.
