> 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. # fromSections > Create a new PomBuilder from an array of section data objects (static). [ref-tojson]: /docs/server-sdks/reference/typescript/agents/pom-builder/to-json [ref-todict]: /docs/server-sdks/reference/typescript/agents/pom-builder/to-dict Static factory method that reconstructs a `PomBuilder` from an array of `PomSectionData` objects. Use this to restore a prompt serialized via [`toJson()`][ref-tojson] or [`toDict()`][ref-todict]. ## **Parameters** **`sections`** `PomSectionData[]` — required Array of section data objects. Each may include `title`, `body`, `bullets`, `numbered`, `numberedBullets`, and nested `subsections`. Untitled sections are allowed and still render, but they are **not** addressable by title — they are dropped from the title lookup, so `hasSection()` and `getSection()` cannot find them. --- ## **Returns** `PomBuilder` -- a new builder populated with the given sections. ## **Example** ```typescript {8} import { PomBuilder } from '@signalwire/sdk'; const data = [ { title: 'Intro', body: 'Welcome.' }, { title: 'Rules', bullets: ['Be nice.', 'Stay on topic.'] }, ]; const pom = PomBuilder.fromSections(data); console.log(pom.renderMarkdown()); ``` > Create a new PomBuilder from an array of section data objects (static).