***

title: say
slug: /reference/typescript/agents/swml-builder/say
description: The say method does not exist on SwmlBuilder.
max-toc-depth: 3
---------------------

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

[play]: /docs/server-sdks/reference/typescript/agents/swml-builder/play

[addverb]: /docs/server-sdks/reference/typescript/agents/swml-builder/add-verb

<Warning>
  `say` is **not** a method on `SwmlBuilder`. The SWML schema does not define a `say`
  verb, so no dynamic method is generated for it.
</Warning>

To produce text-to-speech output, use the [`play()`][play] verb with a `say:` URL
prefix, or pass the `say:` URL directly via [`addVerb()`][addverb]:

```typescript {7}
import { SwmlBuilder } from '@signalwire/sdk';

const builder = new SwmlBuilder();
builder.answer();

// Use the play verb with a say: URL prefix for text-to-speech
builder.play({ url: 'say:Hello, welcome to our service.' });

// Or use addVerb directly
builder.addVerb('play', { url: 'say:Goodbye!' });
```