Methods overview
Methods in SWML control the program flow and execute functions. This includes setting and unsetting variables, conditional statements, making calls, and sending faxes etc.
The AI
method​
The ai
method is an incredibly powerful tool to instantiate an AI agent
that holds a natural conversation with the caller, and perform actions based on their input.
Control-flow methods​
execute
and return
​
The execute
method is similar to a function call in most languages. It can be sent parameters,
and it can return values using the return
object. The SWML function to be executed can
exist as a subsection in the same SWML document, but it can also be a separate SWML document hosted on
an internet-accessible web-server.
transfer
​
The transfer
statement transfers the execution to a different section or
a different SWML document. Unlike the execute
statement, the transfer
statement doesn't return
back to the calling section.
goto
and label
​
The goto
statement can jump to a specified label
either depending on a
given condition or unconditionally, and repeatedly for a specified number of repetitions.
cond
and switch
​
The cond
statement is a general purpose conditional branching statement that
executes SWML code based on the evaluation of a JavaScript expression.
The switch
statement allows switch-case like conditional execution depending on whether a certain variable is
a certain value.
Call related methods​
answer
and hangup
​
Use these methods to decide when to answer
the call
and when to hangup
. Some other methods (like play
)
will automatically answer calls, but you can use these methods to be more
specific about when it happens.
denoise
and stop_denoise
​
The denoise
method starts the noise reduction filter and the
stop_denoise
method stops it.
live_transcribe
​
The live_transcribe
method starts a live transcription of the call.
live_translate
​
The live_translate
method starts a live translation of the call.
play
and prompt
​
The play
method can be used to send TTS speech, play audio files, send different rings etc.
The prompt
method also plays TTS or URLs like play
but it can receive
keypad or speech input in response.
connect
​
Use the connect
method to connect the caller to other phone or SIP calls.
You can set it up to dial multiple numbers in series, parallel or a combination of the two.
join_room
​
The join_room
method seamlessly connects your call to a
video room, enabling participants to
join from various sources, including mobile apps, web browsers, or phone calls.
receive_fax
​
The receive_fax
method will interpret the call as a fax and process it.
record
, record_call
and stop_record_call
​
The record
and the record_call
methods will record
the call. The record
method, however, waits for the recording to terminate before continuing
execution. The record_call
method starts a call recording in the
background, and it stops recording when you call stop_record_call
.
tap
and stop_tap
​
The tap
method starts streaming the call to an RTP or a web socket sink.
The stop_tap
method stops it.
sip_refer
​
The sip_refer
method transfer a SIP call by sending a SIP REFER
message.
send_sms
​
Use send_sms
to send an SMS to a phone number.
send_digits
​
Use send_digits
to send digits as DTMF tones.