> 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. # Context > A named conversation workflow containing steps, prompts, and navigation rules. [contextbuilder]: /docs/server-sdks/reference/python/agents/context-builder [step]: /docs/server-sdks/reference/python/agents/context-builder/step [addbullets]: /docs/server-sdks/reference/python/agents/context-builder/context/add-bullets [addenterfiller]: /docs/server-sdks/reference/python/agents/context-builder/context/add-enter-filler [addexitfiller]: /docs/server-sdks/reference/python/agents/context-builder/context/add-exit-filler [addsection]: /docs/server-sdks/reference/python/agents/context-builder/context/add-section [addstep]: /docs/server-sdks/reference/python/agents/context-builder/context/add-step [addsystembullets]: /docs/server-sdks/reference/python/agents/context-builder/context/add-system-bullets [addsystemsection]: /docs/server-sdks/reference/python/agents/context-builder/context/add-system-section [getstep]: /docs/server-sdks/reference/python/agents/context-builder/context/get-step [movestep]: /docs/server-sdks/reference/python/agents/context-builder/context/move-step [removestep]: /docs/server-sdks/reference/python/agents/context-builder/context/remove-step [setconsolidate]: /docs/server-sdks/reference/python/agents/context-builder/context/set-consolidate [setenterfillers]: /docs/server-sdks/reference/python/agents/context-builder/context/set-enter-fillers [setexitfillers]: /docs/server-sdks/reference/python/agents/context-builder/context/set-exit-fillers [setfullreset]: /docs/server-sdks/reference/python/agents/context-builder/context/set-full-reset [setisolated]: /docs/server-sdks/reference/python/agents/context-builder/context/set-isolated [setpostprompt]: /docs/server-sdks/reference/python/agents/context-builder/context/set-post-prompt [setprompt]: /docs/server-sdks/reference/python/agents/context-builder/context/set-prompt [setsystemprompt]: /docs/server-sdks/reference/python/agents/context-builder/context/set-system-prompt [setuserprompt]: /docs/server-sdks/reference/python/agents/context-builder/context/set-user-prompt [setvalidcontexts]: /docs/server-sdks/reference/python/agents/context-builder/context/set-valid-contexts [setvalidsteps]: /docs/server-sdks/reference/python/agents/context-builder/context/set-valid-steps A Context represents a distinct conversation mode -- like "sales", "support", or "billing" -- within a [`ContextBuilder`][contextbuilder]. Each context holds an ordered sequence of [`Step`][step] objects and configures its own prompt, system prompt, fillers, and navigation rules. You obtain a Context by calling `add_context()` on a ContextBuilder or by calling `get_context()` to retrieve one that already exists. ## **Properties** **`name`** `str` — required Unique context name. When using a single context inside a ContextBuilder, this must be `"default"`. --- ## **Methods** #### [add\_bullets](/docs/server-sdks/reference/python/agents/context-builder/context/add-bullets) Add a POM section with bullet points to the context prompt. #### [add\_enter\_filler](/docs/server-sdks/reference/python/agents/context-builder/context/add-enter-filler) Add enter fillers for a specific language. #### [add\_exit\_filler](/docs/server-sdks/reference/python/agents/context-builder/context/add-exit-filler) Add exit fillers for a specific language. #### [add\_section](/docs/server-sdks/reference/python/agents/context-builder/context/add-section) Add a POM section to the context prompt. #### [add\_step](/docs/server-sdks/reference/python/agents/context-builder/context/add-step) Add a new step to this context. #### [add\_system\_bullets](/docs/server-sdks/reference/python/agents/context-builder/context/add-system-bullets) Add a POM section with bullets to the system prompt. #### [add\_system\_section](/docs/server-sdks/reference/python/agents/context-builder/context/add-system-section) Add a POM section to the system prompt. #### [get\_step](/docs/server-sdks/reference/python/agents/context-builder/context/get-step) Get an existing step by name. #### [move\_step](/docs/server-sdks/reference/python/agents/context-builder/context/move-step) Move an existing step to a specific position in the step order. #### [remove\_step](/docs/server-sdks/reference/python/agents/context-builder/context/remove-step) Remove a step from this context. #### [set\_consolidate](/docs/server-sdks/reference/python/agents/context-builder/context/set-consolidate) Set whether to consolidate conversation history when entering this context. #### [set\_enter\_fillers](/docs/server-sdks/reference/python/agents/context-builder/context/set-enter-fillers) Set all enter fillers at once. #### [set\_exit\_fillers](/docs/server-sdks/reference/python/agents/context-builder/context/set-exit-fillers) Set all exit fillers at once. #### [set\_full\_reset](/docs/server-sdks/reference/python/agents/context-builder/context/set-full-reset) Set whether to completely replace the system prompt when entering this context. #### [set\_history](/docs/server-sdks/reference/python/agents/context-builder/context/set-history) Set the default history visibility mode for every step in this context. #### [set\_initial\_step](/docs/server-sdks/reference/python/agents/context-builder/context/set-initial-step) Set which step the context starts on when entered. #### [set\_isolated](/docs/server-sdks/reference/python/agents/context-builder/context/set-isolated) Set whether to truncate conversation history when entering this context. #### [set\_post\_prompt](/docs/server-sdks/reference/python/agents/context-builder/context/set-post-prompt) Override the post-prompt text while this context is active. #### [set\_prompt](/docs/server-sdks/reference/python/agents/context-builder/context/set-prompt) Set the context's prompt text directly. #### [set\_system\_prompt](/docs/server-sdks/reference/python/agents/context-builder/context/set-system-prompt) Set a new system prompt that takes effect when this context is entered. #### [set\_user\_prompt](/docs/server-sdks/reference/python/agents/context-builder/context/set-user-prompt) Inject a user message when entering this context. #### [set\_valid\_contexts](/docs/server-sdks/reference/python/agents/context-builder/context/set-valid-contexts) Set which contexts the agent can navigate to from this context. #### [set\_valid\_steps](/docs/server-sdks/reference/python/agents/context-builder/context/set-valid-steps) Set which steps can be navigated to from any step in this context. ## **Example** ```python from signalwire import AgentBase agent = AgentBase(name="support-agent", route="/support") contexts = agent.define_contexts() main = contexts.add_context("default") main.add_step("menu").set_text("Ask whether the caller needs sales or support.") support = contexts.add_context("support") # System prompt for this context support.set_system_prompt("You are a patient technical support engineer.") support.set_consolidate(True) # Fillers for smooth transitions support.add_enter_filler("en-US", [ "Let me connect you with support...", "Transferring you now..." ]) support.add_exit_filler("en-US", [ "Thank you for contacting support.", "Glad I could help." ]) # Navigation support.set_valid_contexts(["default"]) # Steps support.add_step("diagnose", task="Understand the customer's issue and gather relevant details.", criteria="Issue is clearly identified", functions=["lookup_account", "check_status"], valid_steps=["resolve"] ) support.add_step("resolve", task="Resolve the issue or escalate to a specialist.", functions=["create_ticket", "transfer_call"], valid_steps=["farewell"] ) support.add_step("farewell") \ .set_text("Thank the caller and end the conversation.") \ .set_functions("none") \ .set_end(True) agent.serve() ``` > A named conversation workflow containing steps, prompts, and navigation rules. ## Docs - [add_bullets](https://signalwire.com/docs/server-sdks/reference/python/agents/context-builder/context/add-bullets.md): Add a POM section with bullet points to the context prompt. - [add_enter_filler](https://signalwire.com/docs/server-sdks/reference/python/agents/context-builder/context/add-enter-filler.md): Add enter fillers for a specific language. - [add_exit_filler](https://signalwire.com/docs/server-sdks/reference/python/agents/context-builder/context/add-exit-filler.md): Add exit fillers for a specific language. - [add_section](https://signalwire.com/docs/server-sdks/reference/python/agents/context-builder/context/add-section.md): Add a POM section to the context prompt. - [add_step](https://signalwire.com/docs/server-sdks/reference/python/agents/context-builder/context/add-step.md): Add a new step to this context. - [add_system_bullets](https://signalwire.com/docs/server-sdks/reference/python/agents/context-builder/context/add-system-bullets.md): Add a POM section with bullets to the system prompt. - [add_system_section](https://signalwire.com/docs/server-sdks/reference/python/agents/context-builder/context/add-system-section.md): Add a POM section to the system prompt. - [get_step](https://signalwire.com/docs/server-sdks/reference/python/agents/context-builder/context/get-step.md): Get an existing step by name. - [move_step](https://signalwire.com/docs/server-sdks/reference/python/agents/context-builder/context/move-step.md): Move an existing step to a specific position in the step order. - [remove_step](https://signalwire.com/docs/server-sdks/reference/python/agents/context-builder/context/remove-step.md): Remove a step from this context. - [set_consolidate](https://signalwire.com/docs/server-sdks/reference/python/agents/context-builder/context/set-consolidate.md): Set whether to consolidate conversation history when entering this context. - [set_enter_fillers](https://signalwire.com/docs/server-sdks/reference/python/agents/context-builder/context/set-enter-fillers.md): Set all enter fillers at once. - [set_exit_fillers](https://signalwire.com/docs/server-sdks/reference/python/agents/context-builder/context/set-exit-fillers.md): Set all exit fillers at once. - [set_full_reset](https://signalwire.com/docs/server-sdks/reference/python/agents/context-builder/context/set-full-reset.md): Set whether to completely replace the system prompt when entering this context. - [set_history](https://signalwire.com/docs/server-sdks/reference/python/agents/context-builder/context/set-history.md): Set the default history visibility mode for every step in this context. - [set_initial_step](https://signalwire.com/docs/server-sdks/reference/python/agents/context-builder/context/set-initial-step.md): Set which step the context starts on when entered. - [set_isolated](https://signalwire.com/docs/server-sdks/reference/python/agents/context-builder/context/set-isolated.md): Set whether to truncate conversation history when entering this context. - [set_post_prompt](https://signalwire.com/docs/server-sdks/reference/python/agents/context-builder/context/set-post-prompt.md): Override the post-prompt text while this context is active. - [set_prompt](https://signalwire.com/docs/server-sdks/reference/python/agents/context-builder/context/set-prompt.md): Set the context's prompt text directly. - [set_system_prompt](https://signalwire.com/docs/server-sdks/reference/python/agents/context-builder/context/set-system-prompt.md): Set a new system prompt that takes effect when this context is entered. - [set_user_prompt](https://signalwire.com/docs/server-sdks/reference/python/agents/context-builder/context/set-user-prompt.md): Inject a user message when entering this context. - [set_valid_contexts](https://signalwire.com/docs/server-sdks/reference/python/agents/context-builder/context/set-valid-contexts.md): Set which contexts the agent can navigate to from this context. - [set_valid_steps](https://signalwire.com/docs/server-sdks/reference/python/agents/context-builder/context/set-valid-steps.md): Set which steps can be navigated to from any step in this context.