> This page is for Server SDKs.

> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes.

# prompt_add_section

> Add a new section to the agent's structured prompt.

[ref-agentbase]: /docs/server-sdks/reference/python/agents/agent-base

Add a new section to the prompt. Sections give the AI structured instructions that
are easier to follow than a single block of text. Each section has a title and
optional body text, bullet points, and subsections.

> **Warning**
>
> POM sections cannot be mixed with `set_prompt_text()` in the same agent. Use one
> approach or the other.

## **Parameters**

**`title`** `str` — required

Section heading displayed to the AI.

---

**`body`** `str`

Section body text.

---

**`bullets`** `list[str] | None` — default: None

List of bullet point strings.

---

**`numbered`** `bool` — default: False

Whether the section itself should be numbered.

---

**`numbered_bullets`** `bool` — default: False

Whether bullet points should be numbered instead of bulleted.

---

**`subsections`** `list[dict[str, Any]] | None` — default: None

List of subsection dictionaries, each with `title`, `body`, and optional `bullets`.

---

## **Returns**

[`AgentBase`][ref-agentbase] -- Returns self for method chaining.

## **Example**

```python {4,7}
from signalwire import AgentBase

agent = AgentBase(name="support", route="/support")
agent.prompt_add_section("Role",
    body="You are a customer support agent for Acme Corp.")

agent.prompt_add_section("Guidelines", bullets=[
    "Always greet the caller by name if available",
    "Never share internal pricing details",
    "Escalate to a human if the caller asks"
])
agent.serve()
```