> 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/typescript/agents/context-builder [step]: /docs/server-sdks/reference/typescript/agents/context-builder/step [addbullets]: /docs/server-sdks/reference/typescript/agents/context-builder/context/add-bullets [addenterfiller]: /docs/server-sdks/reference/typescript/agents/context-builder/context/add-enter-filler [addexitfiller]: /docs/server-sdks/reference/typescript/agents/context-builder/context/add-exit-filler [addsection]: /docs/server-sdks/reference/typescript/agents/context-builder/context/add-section [addstep]: /docs/server-sdks/reference/typescript/agents/context-builder/context/add-step [addsystembullets]: /docs/server-sdks/reference/typescript/agents/context-builder/context/add-system-bullets [addsystemsection]: /docs/server-sdks/reference/typescript/agents/context-builder/context/add-system-section [getstep]: /docs/server-sdks/reference/typescript/agents/context-builder/context/get-step [movestep]: /docs/server-sdks/reference/typescript/agents/context-builder/context/move-step [removestep]: /docs/server-sdks/reference/typescript/agents/context-builder/context/remove-step [setconsolidate]: /docs/server-sdks/reference/typescript/agents/context-builder/context/set-consolidate [setenterfillers]: /docs/server-sdks/reference/typescript/agents/context-builder/context/set-enter-fillers [setexitfillers]: /docs/server-sdks/reference/typescript/agents/context-builder/context/set-exit-fillers [setfullreset]: /docs/server-sdks/reference/typescript/agents/context-builder/context/set-full-reset [setisolated]: /docs/server-sdks/reference/typescript/agents/context-builder/context/set-isolated [setpostprompt]: /docs/server-sdks/reference/typescript/agents/context-builder/context/set-post-prompt [setprompt]: /docs/server-sdks/reference/typescript/agents/context-builder/context/set-prompt [setsystemprompt]: /docs/server-sdks/reference/typescript/agents/context-builder/context/set-system-prompt [setuserprompt]: /docs/server-sdks/reference/typescript/agents/context-builder/context/set-user-prompt [setvalidcontexts]: /docs/server-sdks/reference/typescript/agents/context-builder/context/set-valid-contexts [setvalidsteps]: /docs/server-sdks/reference/typescript/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 `addContext()` on a ContextBuilder or by calling `getContext()` to retrieve one that already exists. ## **Properties** **`name`** `string` — required Unique context name. When using a single context inside a ContextBuilder, this must be `"default"`. --- ## **Methods** #### [addBullets](/docs/server-sdks/reference/typescript/agents/context-builder/context/add-bullets) Add a POM section with bullet points to the context prompt. #### [addEnterFiller](/docs/server-sdks/reference/typescript/agents/context-builder/context/add-enter-filler) Add enter fillers for a specific language. #### [addExitFiller](/docs/server-sdks/reference/typescript/agents/context-builder/context/add-exit-filler) Add exit fillers for a specific language. #### [addSection](/docs/server-sdks/reference/typescript/agents/context-builder/context/add-section) Add a POM section to the context prompt. #### [addStep](/docs/server-sdks/reference/typescript/agents/context-builder/context/add-step) Add a new step to this context. #### [addSystemBullets](/docs/server-sdks/reference/typescript/agents/context-builder/context/add-system-bullets) Add a POM section with bullets to the system prompt. #### [addSystemSection](/docs/server-sdks/reference/typescript/agents/context-builder/context/add-system-section) Add a POM section to the system prompt. #### [getStep](/docs/server-sdks/reference/typescript/agents/context-builder/context/get-step) Get an existing step by name. #### [moveStep](/docs/server-sdks/reference/typescript/agents/context-builder/context/move-step) Move an existing step to a specific position in the step order. #### [removeStep](/docs/server-sdks/reference/typescript/agents/context-builder/context/remove-step) Remove a step from this context. #### [setConsolidate](/docs/server-sdks/reference/typescript/agents/context-builder/context/set-consolidate) Set whether to consolidate conversation history when entering this context. #### [setEnterFillers](/docs/server-sdks/reference/typescript/agents/context-builder/context/set-enter-fillers) Set all enter fillers at once. #### [setExitFillers](/docs/server-sdks/reference/typescript/agents/context-builder/context/set-exit-fillers) Set all exit fillers at once. #### [setHistory](/docs/server-sdks/reference/typescript/agents/context-builder/context/set-history) Set the default history visibility mode for every step. #### [setFullReset](/docs/server-sdks/reference/typescript/agents/context-builder/context/set-full-reset) Set whether to fully reset conversation history when entering this context. #### [setInitialStep](/docs/server-sdks/reference/typescript/agents/context-builder/context/set-initial-step) Set which step the context starts on when entered. #### [setIsolated](/docs/server-sdks/reference/typescript/agents/context-builder/context/set-isolated) Set whether to truncate conversation history when entering this context. #### [setPostPrompt](/docs/server-sdks/reference/typescript/agents/context-builder/context/set-post-prompt) Override the post-prompt text while this context is active. #### [setPrompt](/docs/server-sdks/reference/typescript/agents/context-builder/context/set-prompt) Set the context's prompt text directly. #### [setSystemPrompt](/docs/server-sdks/reference/typescript/agents/context-builder/context/set-system-prompt) Set a new system prompt that takes effect when this context is entered. #### [setUserPrompt](/docs/server-sdks/reference/typescript/agents/context-builder/context/set-user-prompt) Inject a user message when entering this context. #### [setValidContexts](/docs/server-sdks/reference/typescript/agents/context-builder/context/set-valid-contexts) Set which contexts the agent can navigate to from this context. #### [setValidSteps](/docs/server-sdks/reference/typescript/agents/context-builder/context/set-valid-steps) Set which steps can be navigated to from any step in this context. ## **Example** ```typescript {4,7} import { ContextBuilder } from '@signalwire/sdk'; const builder = new ContextBuilder(); const main = builder.addContext('default'); main.addStep('menu').setText('Ask whether the caller needs sales or support.'); const support = builder.addContext('support'); // System prompt for this context support.setSystemPrompt('You are a patient technical support engineer.'); support.setConsolidate(true); // Fillers for smooth transitions support.addEnterFiller('en-US', [ 'Let me connect you with support...', 'Transferring you now...', ]); support.addExitFiller('en-US', [ 'Thank you for contacting support.', 'Glad I could help.', ]); // Navigation support.setValidContexts(['default']); // Steps support.addStep('diagnose', { task: 'Understand the customer\'s issue and gather relevant details.', criteria: 'Issue is clearly identified', functions: ['lookup_account', 'check_status'], validSteps: ['resolve'], }); support.addStep('resolve', { task: 'Resolve the issue or escalate to a specialist.', functions: ['create_ticket', 'transfer_call'], validSteps: ['farewell'], }); support.addStep('farewell') .setText('Thank the caller and end the conversation.') .setFunctions('none') .setEnd(true); ``` > A named conversation workflow containing steps, prompts, and navigation rules. ## Docs - [addBullets](https://signalwire.com/docs/server-sdks/reference/typescript/agents/context-builder/context/add-bullets.md): Add a POM section with bullet points to the context prompt. - [addEnterFiller](https://signalwire.com/docs/server-sdks/reference/typescript/agents/context-builder/context/add-enter-filler.md): Add enter fillers for a specific language. - [addExitFiller](https://signalwire.com/docs/server-sdks/reference/typescript/agents/context-builder/context/add-exit-filler.md): Add exit fillers for a specific language. - [addSection](https://signalwire.com/docs/server-sdks/reference/typescript/agents/context-builder/context/add-section.md): Add a POM section to the context prompt. - [addStep](https://signalwire.com/docs/server-sdks/reference/typescript/agents/context-builder/context/add-step.md): Add a new step to this context. - [addSystemBullets](https://signalwire.com/docs/server-sdks/reference/typescript/agents/context-builder/context/add-system-bullets.md): Add a POM section with bullets to the system prompt. - [addSystemSection](https://signalwire.com/docs/server-sdks/reference/typescript/agents/context-builder/context/add-system-section.md): Add a POM section to the system prompt. - [getStep](https://signalwire.com/docs/server-sdks/reference/typescript/agents/context-builder/context/get-step.md): Get an existing step by name. - [moveStep](https://signalwire.com/docs/server-sdks/reference/typescript/agents/context-builder/context/move-step.md): Move an existing step to a specific position in the step order. - [removeStep](https://signalwire.com/docs/server-sdks/reference/typescript/agents/context-builder/context/remove-step.md): Remove a step from this context. - [setConsolidate](https://signalwire.com/docs/server-sdks/reference/typescript/agents/context-builder/context/set-consolidate.md): Set whether to consolidate conversation history when entering this context. - [setEnterFillers](https://signalwire.com/docs/server-sdks/reference/typescript/agents/context-builder/context/set-enter-fillers.md): Set all enter fillers at once. - [setExitFillers](https://signalwire.com/docs/server-sdks/reference/typescript/agents/context-builder/context/set-exit-fillers.md): Set all exit fillers at once. - [setFullReset](https://signalwire.com/docs/server-sdks/reference/typescript/agents/context-builder/context/set-full-reset.md): Set whether to fully reset conversation history when entering this context. - [setHistory](https://signalwire.com/docs/server-sdks/reference/typescript/agents/context-builder/context/set-history.md): Set the default history visibility mode for every step in this context. - [setInitialStep](https://signalwire.com/docs/server-sdks/reference/typescript/agents/context-builder/context/set-initial-step.md): Set which step the context starts on when entered. - [setIsolated](https://signalwire.com/docs/server-sdks/reference/typescript/agents/context-builder/context/set-isolated.md): Set whether this context is isolated from other contexts' conversation history. - [setPostPrompt](https://signalwire.com/docs/server-sdks/reference/typescript/agents/context-builder/context/set-post-prompt.md): Override the post-prompt text while this context is active. - [setPrompt](https://signalwire.com/docs/server-sdks/reference/typescript/agents/context-builder/context/set-prompt.md): Set the context's prompt text directly. - [setSystemPrompt](https://signalwire.com/docs/server-sdks/reference/typescript/agents/context-builder/context/set-system-prompt.md): Set a new system prompt that takes effect when this context is entered. - [setUserPrompt](https://signalwire.com/docs/server-sdks/reference/typescript/agents/context-builder/context/set-user-prompt.md): Inject a user message when entering this context. - [setValidContexts](https://signalwire.com/docs/server-sdks/reference/typescript/agents/context-builder/context/set-valid-contexts.md): Set which contexts the agent can navigate to from this context. - [setValidSteps](https://signalwire.com/docs/server-sdks/reference/typescript/agents/context-builder/context/set-valid-steps.md): Set which steps can be navigated to from any step in this context.