***

title: add_section
slug: /reference/python/agents/pom-builder/add-section
description: Add a new top-level section to the POM.
max-toc-depth: 3
---------------------

For a complete index of all SignalWire documentation pages, fetch https://signalwire.com/docs/llms.txt

[ref-pombuilder]: /docs/server-sdks/reference/python/agents/pom-builder

Add a new top-level section to the POM.

## **Parameters**

<ParamField path="title" type="str" required={true} toc={true}>
  Section title.
</ParamField>

<ParamField path="body" type="str" default="" toc={true}>
  Section body text.
</ParamField>

<ParamField path="bullets" type="Optional[list[str]]" toc={true}>
  List of bullet points for this section.
</ParamField>

<ParamField path="numbered" type="bool" default="False" toc={true}>
  Whether to number this section in the rendered output.
</ParamField>

<ParamField path="numbered_bullets" type="bool" default="False" toc={true}>
  Whether to number bullet points instead of using bullet markers.
</ParamField>

<ParamField path="subsections" type="Optional[list[dict[str, Any]]]" toc={true}>
  List of subsection objects, each with `"title"`, optional `"body"`, and
  optional `"bullets"` keys.
</ParamField>

## **Returns**

[`PomBuilder`][ref-pombuilder] -- Self for method chaining.

## **Example**

```python {5,10,19}
from signalwire.core.pom_builder import PomBuilder

pom = PomBuilder()

pom.add_section(
    "Role",
    body="You are a customer service representative for Acme Corp."
)

pom.add_section(
    "Guidelines",
    bullets=[
        "Always greet the customer by name when available",
        "Be concise and professional",
        "Never make promises about timelines you cannot keep"
    ]
)

pom.add_section(
    "Product Knowledge",
    body="You have access to the product catalog.",
    subsections=[
        {
            "title": "Pricing",
            "body": "Always quote current prices from the catalog."
        },
        {
            "title": "Returns",
            "body": "30-day return policy for all items."
        }
    ]
)

print(pom.render_markdown())
```