For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Log inSign up
Support
GuidesReference
GuidesReference
    • Core
      • Overview
    • Agents
      • Overview
      • AgentBase
        • add_answer_verb
        • add_function_include
        • add_hint
        • add_hints
        • add_internal_filler
        • add_language
        • add_mcp_server
        • add_pattern_hint
        • add_post_ai_verb
        • add_post_answer_verb
        • add_pre_answer_verb
        • add_pronunciation
        • add_skill
        • add_swaig_query_params
        • as_router
        • auto_map_sip_usernames
        • clear_post_ai_verbs
        • clear_post_answer_verbs
        • clear_pre_answer_verbs
        • clear_swaig_query_params
        • define_contexts
        • define_tool
        • define_tools
        • enable_debug_events
        • enable_debug_routes
        • enable_mcp_server
        • enable_sip_routing
        • get_app
        • get_basic_auth_credentials
        • get_full_url
        • get_name
        • get_post_prompt
        • get_prompt
        • handle_serverless_request
        • has_skill
        • list_skills
        • manual_set_proxy_url
        • on_debug_event
        • on_function_call
        • on_summary
        • on_swml_request
        • prompt_add_section
        • prompt_add_subsection
        • prompt_add_to_section
        • prompt_has_section
        • register_routing_callback
        • register_sip_username
        • register_swaig_function
        • remove_skill
        • reset_contexts
        • run
        • serve
        • set_dynamic_config_callback
        • set_function_includes
        • set_global_data
        • set_internal_fillers
        • set_languages
        • set_native_functions
        • set_param
        • set_params
        • set_post_prompt
        • set_post_prompt_llm_params
        • set_post_prompt_url
        • set_prompt_llm_params
        • set_prompt_pom
        • set_prompt_text
        • set_pronunciations
        • set_web_hook_url
        • setup_graceful_shutdown
        • update_global_data
        • validate_basic_auth
      • AgentServer
      • BedrockAgent
      • CLI Tools
      • Configuration
      • ContextBuilder
      • DataMap
      • FunctionResult
      • Helper Functions
      • LiveWire
      • MCP Gateway
      • PomBuilder
      • Prefabs
      • Search
      • SkillBase
      • Skills
      • SWAIGFunction
      • SWMLBuilder
      • SWMLService
      • WebService
    • RELAY
      • Overview
      • Actions
      • Call
      • Constants
      • Events
      • Message
      • RelayClient
      • RelayError
    • REST Client
      • Overview
      • Addresses
      • Calling
      • Chat
      • Compat
      • Datasphere
      • Fabric
      • Imported Numbers
      • Logs
      • Lookup
      • MFA
      • Number Groups
      • Phone Numbers
      • Project
      • PubSub
      • Queues
      • Recordings
      • Registry
      • RestClient
      • Short Codes
      • SignalWireRestError
      • SIP Profile
      • Verified Callers
      • Video
LogoLogoSignalWire Docs
Log inSign up
Support
On this page
  • Parameters
  • Returns
  • Example
AgentsAgentBase

set_prompt_pom

|View as Markdown|Open in Claude|
Was this page helpful?
Edit this page
Previous

set_prompt_text

Next
Built with

Set the prompt directly as a POM (Prompt Object Model) dictionary structure. This is a low-level method that accepts the POM data format directly. For most cases, use prompt_add_section() to build POM prompts incrementally.

The POM format structures prompts into titled sections with body text, bullet points, and nested subsections. This structure helps the AI model parse complex instructions more reliably than flat text.

Parameters

pom
list[dict[str, Any]]Required

POM dictionary structure. Each item in the list is a section with keys:

  • title (str) — Section heading
  • body (str) — Section body text
  • bullets (list[str]) — Optional bullet points
  • numbered (bool) — Whether the section is numbered
  • subsections (list[dict]) — Optional nested sections with the same keys

Returns

AgentBase — Returns self for method chaining.

Example

1from signalwire import AgentBase
2
3agent = AgentBase(name="support", route="/support")
4agent.set_prompt_pom([
5 {
6 "title": "Role",
7 "body": "You are a customer support agent for Acme Corp."
8 },
9 {
10 "title": "Guidelines",
11 "body": "",
12 "bullets": [
13 "Always greet the caller by name if available",
14 "Never share internal pricing details",
15 "Escalate to a human if the caller requests it"
16 ]
17 },
18 {
19 "title": "Capabilities",
20 "body": "You can help with the following:",
21 "subsections": [
22 {"title": "Orders", "body": "Look up order status, process returns"},
23 {"title": "Billing", "body": "Check balances, explain charges"}
24 ]
25 }
26])
27agent.serve()