Skip to navigation

Add an ai verb to the main section. Starts an AI-powered conversation on the call.

This is a dynamic verb method that accepts a generic config object. The config is passed directly as the AI verb’s configuration payload in the SWML document.

Parameters

config
AiVerbConfig | undefined

Optional configuration object for the AI verb. The structure matches the SWML AI verb specification and may include keys such as prompt, post_prompt, post_prompt_url, swaig, hints, languages, params, and global_data.

The SDK’s TypeScript typings declare prompt as string | Record<string, unknown>[], but the builder validates against the SWML schema, which requires an object such as { text: '...' }. Cast the value (as never) to pass it, as the example does.

The prompt key accepts either a text string or a POM (Prompt Object Model) structure — these are mutually exclusive. Do not set both prompt.text and prompt.pom in the same config.

Returns

this — The builder instance for method chaining.

Example

import { SwmlBuilder } from '@signalwire/sdk';
const builder = new SwmlBuilder();
builder.answer();
builder.ai({
// The SDK types prompt as string | object[]; SWML requires an object
prompt: { text: 'You are a helpful assistant.' } as never,
post_prompt_url: 'https://example.com/summary',
});
console.log(builder.render());