WAKATODOCS

Phone

Space MCP tools in the Phone scope (phone). Reach these with a wks_live_ key over space-mcp or space-api.

Tools in the phone scope, callable over space-mcp (tools/call) or space-api (REST) with a wks_live_* key that grants phone.

control_call_campaign

Scope: phone:run

Pause, resume, or cancel a running/scheduled call campaign.

ParameterTypeRequiredDescription
campaign_idstringyes
actionpause | resume | cancelyes

create_call_campaign

Scope: phone:write

Create a DRAFT outbound call campaign: a Cloud Agent dials each contact in an audience. Requires (before it can start) a voice-enabled cloud_agent_id, an audience_id, and an active from_phone_number_id — none are required to draft. call_script_id is optional. Use list_cloud_agents / list_audiences / list_phone_numbers / list_call_scripts to discover ids.

ParameterTypeRequiredDescription
namestringyes
cloud_agent_idstringVoice-enabled Cloud Agent that places the calls.
audience_idstringContact audience to dial.
from_phone_number_idstringActive space number to dial from.
call_script_idstringOptional call script to override opening line + goals per call.
max_concurrentnumberSimultaneous calls in flight (1–50, default 3).
retry_policyobject{ max_retries, retry_delay_minutes, retry_on: ['no_answer','busy','failed'] }
time_windowobjectOptional { start_hour, end_hour, days:[0-6] } — dials are parked outside these hours (UTC).

create_call_script

Scope: phone:write

Create a reusable call script a Cloud Agent follows on a voice call. opening_line is what the agent says first; instructions set tone/guardrails; goals are ordered objectives; end_action is what happens when the call wraps up. Supports {{merge_tags}} like {{contact.first_name}} and {{space.name}}. A call script is OPTIONAL for a call — the agent's own persona drives the call; a script layers a specific opening + goals + end action on top.

ParameterTypeRequiredDescription
namestringyes
descriptionstringWhen/why this script is used (internal note).
opening_linestringWhat the agent says first when the call connects.
instructionsstringTone, persona, guardrails for the call.
goalsobject[]Ordered objectives the agent should work through.
end_actionhang_up | transfer | send_sms | book_meeting | noneWhat to do once the call wraps up.
end_action_configobjectAction-specific config: transfer { phone_number }, send_sms { template_id | body }, book_meeting { calendar_event_type }.
default_agent_idstringOptional Cloud Agent this script defaults to.
variablesobject[]

create_sms_campaign

Scope: phone:write

Create a DRAFT SMS campaign (broadcast or drip). A connected SMS-capable number is NOT required to draft — only to send. Defaults the sender to the space's first eligible number when one exists.

ParameterTypeRequiredDescription
namestringyes
campaign_typebroadcast | drip
bodystringBroadcast message body. Supports {{merge_tags}}.
from_phone_number_idstringOptional — defaults to the first SMS-capable space number.
audience_idstring
enrollment_modeone_shot | continuous
trigger_audience_idstring
opt_out_footerboolean
stepsobject[]Drip steps in order.

create_sms_template

Scope: phone:write

Create a reusable SMS template. Supports {{merge_tags}} like {{first_name}}.

ParameterTypeRequiredDescription
namestringyes
bodystringyes
variablesobject[]

delete_call_script

Scope: phone:write

Delete a call script. Call campaigns referencing it keep running but lose the script override.

ParameterTypeRequiredDescription
script_idstringyes

get_call_campaign

Scope: phone:read

Get one call campaign plus a sample of its per-contact dial runs (dispositions, durations).

ParameterTypeRequiredDescription
campaign_idstringyes

get_call_recording

Scope: phone:read

Fetch a recorded call's playback URL (freshly signed, 1h) and its transcript when one exists. Pass the call id from list_call_history. Returns recorded:false when the call wasn't recorded.

ParameterTypeRequiredDescription
call_room_idstringyesCall id from list_call_history.

get_call_script

Scope: phone:read

Get one call script including its opening line, instructions, goals, and end-of-call action.

ParameterTypeRequiredDescription
script_idstringyes

get_sms_campaign

Scope: phone:read

Get one SMS campaign, including its drip steps if it's a drip.

ParameterTypeRequiredDescription
campaign_idstringyes

list_call_campaigns

Scope: phone:read

List outbound call campaigns in the space, optionally filtered by status.

ParameterTypeRequiredDescription
statusstring
limitnumber

list_call_history

Scope: phone:read

List recent calls in the space.

ParameterTypeRequiredDescription
limitnumber

list_call_scripts

Scope: phone:read

List reusable call scripts (voice scripts a Cloud Agent follows on a call) in the space.

ParameterTypeRequiredDescription
limitnumber

list_phone_numbers

Scope: phone:read

List active phone numbers in the space.

list_sms_campaigns

Scope: phone:read

List SMS campaigns (broadcasts + drip sequences) in the space.

ParameterTypeRequiredDescription
statusstring
limitnumber

list_sms_templates

Scope: phone:read

List reusable SMS templates in the space.

ParameterTypeRequiredDescription
limitnumber

make_call

Scope: phone:run

Place an outbound phone call handled live by a voice-enabled cloud agent in this space (consequential, billable — voice minutes charge the space wallet). The agent speaks with the callee in real time. Requires to (E.164). cloud_agent_id is optional when exactly one agent in the space owns a phone number. Use purpose to tell the agent why it is calling and what to accomplish.

ParameterTypeRequiredDescription
tostringyesDestination phone number (E.164, e.g. +15551234567).
cloud_agent_idstringCloud agent that makes the call. Optional when only one agent owns a number.
purposestringWhy the agent is calling and what to accomplish — becomes the agent's call objective.
callee_namestringName of the person being called (optional).
fromstringSpecific owned number to call from (optional; defaults to the agent's number).

send_sms

Scope: phone:run

Send an SMS from a space number (consequential, billable). Requires to (E.164) and message.

ParameterTypeRequiredDescription
tostringyes
messagestringyes
fromstringSpecific space number to send from (optional).

send_sms_campaign

Scope: phone:run

Consequential + billable: schedule a broadcast SMS send (scheduled_at defaults to now) or start a drip. Requires a sender number, an audience, and message content.

ParameterTypeRequiredDescription
campaign_idstringyes
scheduled_atstringISO timestamp; omit to send ASAP.

start_call_campaign

Scope: phone:run

Consequential + billable: launch a call campaign. Validates it has a voice-enabled agent, an audience, and an active sender number, then schedules it — the runner enrolls the audience and starts dialing on its next tick.

ParameterTypeRequiredDescription
campaign_idstringyes
scheduled_atstringISO timestamp; omit to start ASAP.

update_call_campaign

Scope: phone:write

Edit a draft/paused/scheduled call campaign (agent, audience, sender, script, throttling, retry, time window).

ParameterTypeRequiredDescription
campaign_idstringyes
namestring
cloud_agent_idstring
audience_idstring
from_phone_number_idstring
call_script_idstring
max_concurrentnumber
retry_policyobject
time_windowobject

update_call_script

Scope: phone:write

Edit a call script. Passing goals REPLACES the full goal list.

ParameterTypeRequiredDescription
script_idstringyes
namestring
descriptionstring
opening_linestring
instructionsstring
goalsobject[]
end_actionhang_up | transfer | send_sms | book_meeting | none
end_action_configobject
default_agent_idstring
variablesobject[]

update_sms_campaign

Scope: phone:write

Edit a draft/paused/scheduled SMS campaign. Passing steps REPLACES all drip steps.

ParameterTypeRequiredDescription
campaign_idstringyes
namestring
bodystring
from_phone_number_idstring
audience_idstring
enrollment_modeone_shot | continuous
trigger_audience_idstring
opt_out_footerboolean
stepsobject[]

update_sms_template

Scope: phone:write

Edit an SMS template (name, body, variables).

ParameterTypeRequiredDescription
template_idstringyes
namestring
bodystring
variablesobject[]

On this page