toSwaigFunction

View as MarkdownOpen in Claude

Convert this DataMap to a SWAIG function definition object. Register the result with your agent using agent.registerSwaigFunction().

Returns

Record<string, unknown> — An object containing the function name, description, parameter schema, and data_map configuration (instead of a webhook URL).

Example

1import { DataMap, FunctionResult } from '@signalwire/sdk';
2
3const dm = new DataMap('get_weather');
4dm.purpose('Look up weather');
5dm.parameter('city', 'string', 'City name', { required: true });
6dm.webhook('GET', 'https://api.weather.com/v1/current?q=${args.city}');
7dm.output(new FunctionResult('Weather: ${response.current.temp_f}F'));
8
9const swaigDef = dm.toSwaigFunction();
10console.log(JSON.stringify(swaigDef, null, 2));