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

# Message Formatting

> Rich formatting features available in agent conversations

Agent responses in conversations support rich formatting, making information clearer and easier to follow. This page describes the formatting features you may encounter when interacting with an agent.

## Text Formatting

Agent responses can include standard text formatting:

* **Bold** text for emphasis
* *Italic* text for titles or subtle emphasis
* ~~Strikethrough~~ for corrections or removed information
* Headings to organize longer responses
* Horizontal rules to separate sections visually

## Lists

Agents can use several types of lists:

* **Bullet lists** with multiple nesting levels, each using a different marker style (filled circle, hollow circle, square)
* **Numbered lists** with automatic sub-numbering (1, 2, 3 at the first level; a, b, c at the second; i, ii, iii at the third)
* **Task lists** with checkboxes to track steps or requirements

## Links

Links in agent responses are clickable. External links open in a new tab, while internal documentation links navigate within the platform.

Agents can also include special-purpose links such as:

| Link type           | What it does                    |
| ------------------- | ------------------------------- |
| **Email**           | Opens your default email client |
| **Phone**           | Initiates a phone call          |
| **SMS**             | Opens your messaging app        |
| **WhatsApp**        | Opens WhatsApp                  |
| **Microsoft Teams** | Opens Teams                     |
| **Zoom**            | Opens Zoom                      |
| **FaceTime**        | Initiates a FaceTime call       |

## Code

Agents can include code in two ways:

* **Inline code** appears within a sentence with a subtle background highlight, useful for referencing function names, file paths, or short commands.
* **Code blocks** display multi-line code with full syntax highlighting, line numbers, and code folding. A header bar shows the language and provides two actions:
  * **Copy** -- copies the entire code block to your clipboard
  * **Download** -- saves the code as a file with the appropriate extension

Code blocks support syntax highlighting for over 25 languages including JavaScript, Python, TypeScript, SQL, HTML, CSS, Go, Rust, Java, Ruby, PHP, Shell, and many more.

## Tables

Agent responses can include formatted tables with headers and aligned columns. Tables support all inline formatting (bold, italic, links, code) within cells, as well as callout boxes for contextual information inside table rows.

## Images

When an agent response includes images, they appear inline as thumbnails. Click any image to open it in a full-screen overlay for a closer look. Click anywhere outside the image or press **Escape** to close the overlay.

## Blockquotes

Blockquotes appear as indented text with a vertical bar on the left side. Agents use these to highlight quoted text, key takeaways, or important passages.

## Callout Boxes

Agent responses can include colored callout boxes to draw attention to specific information:

| Callout type      | Purpose                                                         |
| ----------------- | --------------------------------------------------------------- |
| **Note**          | General supplementary information                               |
| **Caution**       | Warnings about potential issues                                 |
| **Prerequisites** | Requirements before proceeding                                  |
| **Best Practice** | Recommended approaches                                          |
| **Error**         | Error-related information                                       |
| **Details**       | Collapsible sections -- click to expand or collapse the content |

## Diagrams

Agents can generate interactive diagrams directly in conversations, including flowcharts, sequence diagrams, class diagrams, state diagrams, and more.

### Interacting with Diagrams

Rendered diagrams support the following interactions:

| Action         | How                                                 |
| -------------- | --------------------------------------------------- |
| **Zoom in**    | Pinch out on touchscreen, or click the **+** button |
| **Zoom out**   | Pinch in on touchscreen, or click the **-** button  |
| **Pan**        | Click and drag the diagram                          |
| **Reset view** | Click the reset button in the toolbar               |

A floating toolbar appears in the top-right corner of each diagram with zoom and reset controls.

### Theme Support

Diagrams automatically adapt to your current theme. Light mode uses the default diagram theme, and dark mode uses a dark-optimized theme.

### Error Handling

If a diagram cannot be rendered (for example, due to syntax errors), the raw diagram code is displayed instead, allowing you to review the source. During streaming, the agent's previous successful render is preserved until the updated diagram is complete.

## Citations

When an agent cites sources, numbered references appear as superscript badges within the text. Click a citation number to jump to the corresponding source at the bottom of the response.

## Section Anchors

In longer responses, headings include a link icon that appears when you hover over them. Click this icon to copy a direct link to that section, making it easy to share a specific part of a conversation.

***

## Writing Content with AGO Markdown

When writing knowledge base articles or prompt templates, you can use **AGO Markdown** -- an extended markdown syntax that renders rich formatting in the chat and the knowledge portal. AGO Markdown supports all standard markdown features plus a set of custom directives for callout boxes and collapsible sections.

### Callout Boxes

Use the `:::` directive syntax to create colored callout boxes:

```markdown theme={null}
:::note
This is a general note with supplementary information.
:::
```

Available callout types:

| Directive                          | Purpose                                                  | Color  |
| ---------------------------------- | -------------------------------------------------------- | ------ |
| `:::note`                          | General supplementary information                        | Purple |
| `:::caution`                       | Warnings about potential issues                          | Yellow |
| `:::prerequisites` or `:::success` | Requirements before proceeding, or success confirmations | Green  |
| `:::bestpractice` or `:::info`     | Recommended approaches or informational content          | Blue   |
| `:::error`                         | Error-related information                                | Red    |

#### Example

```markdown theme={null}
:::prerequisites
Make sure you have an API key before continuing.
:::

:::caution
This action cannot be undone.
:::

:::bestpractice
Use descriptive titles for your knowledge articles to improve search accuracy.
:::
```

### Collapsible Sections

Use `:::details` with `::summary` to create expandable content:

```markdown theme={null}
:::details
::summary[Click to see more details]

This content is hidden by default. The user clicks the summary text to expand it.

You can include any markdown inside: **bold**, lists, code blocks, etc.
:::
```

### Nesting Directives

To nest one directive inside another, use additional colons on the outer directive. The inner directive must use fewer colons than the outer one:

```markdown theme={null}
::::note
This is an outer note.

:::caution
This is a nested caution inside the note.
:::

::::
```

You can use 3, 4, 5, or more colons. The rule is: the opening and closing tags must use the **same number** of colons, and nested directives must use fewer.

### Custom Heading IDs

Add a custom anchor ID to any heading using `{#custom-id}` syntax:

```markdown theme={null}
## Getting Started {#getting-started}

## FAQ {#faq}
```

This generates a direct link to that section (e.g., `#getting-started`) that you can reference from other articles.

### Video Embeds

Links to supported video platforms (such as Vimeo) are automatically converted to embedded video players when they appear as standalone links in the content.

### Standard Markdown

All standard markdown features are fully supported:

* **Bold**, *italic*, ~~strikethrough~~
* Headings (`##`, `###`, etc.)
* Bullet and numbered lists
* Links and images
* Code blocks with syntax highlighting
* Tables (GitHub Flavored Markdown)
* Blockquotes
