***

title: set_functions
slug: /reference/python/agents/context-builder/step/set-functions
description: Set which SWAIG functions are available during this step.
max-toc-depth: 3
---------------------

For a complete index of all SignalWire documentation pages, fetch https://signalwire.com/docs/llms.txt

[ref-step]: /docs/server-sdks/reference/python/agents/context-builder/step

Set which SWAIG functions are available during this step. Restricting functions
per step prevents the AI from calling irrelevant tools.

## **Parameters**

<ParamField path="functions" type="str | list[str]" required={true} toc={true}>
  Either `"none"` to disable all functions, or a list of function names to allow.
</ParamField>

## **Returns**

[`Step`][ref-step] -- Self for method chaining.

## **Example**

```python {9,12}
from signalwire import AgentBase

agent = AgentBase(name="my-agent", route="/agent")

contexts = agent.define_contexts()
ctx = contexts.add_context("default")
greet = ctx.add_step("greet")
greet.set_text("Welcome the caller.")
greet.set_functions("none")
verify = ctx.add_step("verify")
verify.set_text("Verify the caller's identity.")
verify.set_functions(["lookup_account", "verify_identity"])

agent.serve()
```