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

# Insert Text Box

> Add text boxes with content to Google Slides presentations

The **Insert Text Box** node adds new text boxes with custom content to Google Slides presentations. You can control the position, size, and styling of the text box. This is an **AI-powered node** that can understand natural language instructions.

<Note>
  **Markdown Formatting Supported!** Your text content can include basic markdown formatting:

  * `**bold**` for **bold** text
  * `*italic*` for *italic* text
  * `[link text](url)` for clickable hyperlinks
</Note>

***

## When to Use It

* Add custom text content to slides
* Insert dynamic text from workflow data
* Create text elements at specific positions
* Add labels, titles, or descriptions to slides
* Build text-heavy presentations programmatically
* Insert formatted text content from data sources

***

## Inputs

| Field               | Type   | Required    | Description                                                                                   |
| ------------------- | ------ | ----------- | --------------------------------------------------------------------------------------------- |
| **Presentation**    | Text   | Yes         | Google Slides presentation URL or ID                                                          |
| **Identifier Type** | Select | Yes         | Method to identify the target slide                                                           |
| **Slide Number**    | Number | Conditional | Slide position (1-based, required for Slide Number type)                                      |
| **Slide ID**        | Text   | Conditional | Unique slide ID (required for Slide ID type)                                                  |
| **Text**            | Text   | Yes         | Content to insert into the text box. Supports markdown: `**bold**`, `*italic*`, `[text](url)` |
| **Position X**      | Number | No          | X coordinate in points (default: 100)                                                         |
| **Position Y**      | Number | No          | Y coordinate in points (default: 100)                                                         |
| **Width**           | Number | No          | Text box width in points (default: 400)                                                       |
| **Height**          | Number | No          | Text box height in points (default: 100)                                                      |
| **Alt Text**        | Text   | No          | Alternative text for identification in later operations                                       |

### Identifier Type Options

| Type             | Description                        | When to Use                                 |
| ---------------- | ---------------------------------- | ------------------------------------------- |
| **Slide Number** | Use slide position (1, 2, 3, etc.) | Simple workflows, known slide order         |
| **Slide ID**     | Use unique slide identifier        | Complex workflows, dynamic slide references |

### Position and Size Guidelines

**Position Coordinates:**

* **Origin (0,0)**: Top-left corner of the slide
* **X axis**: Distance from left edge (increases rightward)
* **Y axis**: Distance from top edge (increases downward)
* **Units**: Points (PT) - 72 points = 1 inch

**Common Positions:**

* **Title area**: X: 50, Y: 50
* **Center content**: X: 200, Y: 250
* **Bottom notes**: X: 50, Y: 450

**Size Recommendations:**

* **Title text**: Width: 600, Height: 80
* **Body text**: Width: 400, Height: 200
* **Labels**: Width: 200, Height: 50

***

## Output

Returns details about the created text box:

```json theme={"dark"}
{
  "text_box_id": "ELEMENT_456DEF789GHI",
  "slide_id": "SLIDE_123ABC456DEF",
  "slide_number": 2,
  "text_content": "Monthly Performance Summary",
  "position": {
    "x": 100,
    "y": 100
  },
  "dimensions": {
    "width": 400,
    "height": 100
  },
  "alt_text": "performance_summary"
}
```

### Output Fields:

| Field             | Description                                            |
| ----------------- | ------------------------------------------------------ |
| **text\_box\_id** | Unique identifier for the text box element             |
| **slide\_id**     | Unique identifier of the slide containing the text box |
| **slide\_number** | Position of the slide in the presentation              |
| **text\_content** | The text content that was inserted                     |
| **position**      | X and Y coordinates of the text box                    |
| **dimensions**    | Width and height of the text box                       |
| **alt\_text**     | Alternative text for element identification            |

***

## Credit Cost

* **Cost per run**: 1 credit

***

## Common Workflows

**Dynamic Content Insertion:**

```
[Get Report Data] → [Insert Text Box: Title] → [Insert Text Box: Summary] → [Insert Text Box: Key Metrics]
```

**Template Population:**

```
[Add Slide] → [Insert Text Box: Header] → [Insert Text Box: Body] → [Insert Text Box: Footer]
```

**Data-Driven Text:**

```
[Calculate Metrics] → [Format Text] → [Insert Text Box with Results] → [Style Text Box]
```

***

## Tips

**Alt Text Usage:**

* **Use descriptive alt text** for elements you'll update later
* **Examples**: "revenue\_total", "campaign\_name", "summary\_text"
* **Enables targeting** with Replace Text and Update Text Style nodes

**Position Strategy:**

* **Start with defaults** (100, 100) and adjust as needed
* **Use consistent spacing** between text boxes
* **Consider slide layout** when positioning multiple elements
* **Test on different slide sizes** if presentations will be shared

**Text Formatting:**

* **Line breaks**: Use `\n` for new lines in text content
* **Bold text**: Use `**text**` for bold formatting
* **Italic text**: Use `*text*` for italic formatting
* **Hyperlinks**: Use `[link text](url)` for clickable links
* **Keep text concise** - large blocks may overflow the text box
* **Use multiple text boxes** for different formatting needs
* **Style after insertion** using Update Text Style node
