> 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. # addSwaigQueryParams > Append query parameters to all SWAIG webhook URLs. [ref-agentbase]: /docs/server-sdks/reference/typescript/agents/agent-base Add query parameters that will be included in all SWAIG webhook URLs generated by this agent. This is particularly useful for preserving dynamic configuration state across SWAIG callbacks -- for example, passing a tenant identifier or feature tier so the same configuration is applied when SignalWire invokes tool webhooks. ## **Parameters** **`params`** `Record` — required Object of query parameters to merge into every SWAIG URL. Subsequent calls merge into (not replace) the existing set. Pass the same key again to overwrite its value. --- ## **Returns** [`AgentBase`][ref-agentbase] -- Returns `this` for method chaining. ## **Example** ```typescript {11} import { AgentBase } from '@signalwire/sdk'; const agent = new AgentBase({ name: 'assistant', route: '/assistant' }); agent.setPromptText('You are a helpful assistant.'); agent.setDynamicConfigCallback(async (queryParams, bodyParams, headers, agentCopy) => { const tier = queryParams.tier ?? 'free'; if (tier === 'premium') { agentCopy.setParams({ end_of_speech_timeout: 500 }); } agentCopy.addSwaigQueryParams({ tier }); }); await agent.serve(); ``` > Append query parameters to all SWAIG webhook URLs.