# Show Modal

> Show a modal dialog in response to an interaction.

- ID: `show_modal`
- Type: Block
- Category: [Interactions](https://inventor.bot/docs/reference/blocks/interactions.md)

- Only works in flows started by an interaction trigger (slash commands, buttons, dropdowns, modals, context menus).

**Inputs**

| Name | Required | Description | Value |
| --- | --- | --- | --- |
| `custom_id` | yes | Custom ID for the modal (1-100 chars). | e.g. `"report_modal_123"` |
| `title` | yes | Modal title (1-45 chars). | e.g. `"Bug Report"` |
| `components` | yes | Between 1 and 5 modal components. | blocks: `func() { ... }` with only `modalcmp_layout_label*` blocks |

**Example**

```go
show_modal(Args{
	custom_id: "report_modal_123",
	title:     "Bug Report",
	components: func() {
		modalcmp_layout_label(Args{label: "Reason"})
	},
})
```

## Blocks inside

These blocks can only be placed inside this one:

- [Modal Label](https://inventor.bot/docs/reference/blocks/modals/modalcmp-layout-label.md) (`modalcmp_layout_label`), in `components`