update_dialer_campaign
Change a campaign's name, rate, concurrency, hours, retries, budget, callback URL or AMD. Only the fields you pass change; mode cannot change.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"campaign_id": "<campaign_id>"
},
"name": "update_dialer_campaign"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| amd | No | answering-machine detection: {mode:off|detect|detect_and_act,on_machine:hangup|leave_message|mark_only,max_analysis_seconds,machine_message: text spoken to a machine, required (max 500 chars) when on_machine is leave_message} | |
| mode | No | switch between progressive and predictive; only while the campaign is a draft or paused | |
| name | No | campaign label (avoid PII) | |
| hours | No | DND hours: {windows:[{days:[1..5],start_minute,end_minute}],blackouts:[YYYY-MM-DD],timezone} | |
| retry | No | retry policy: {max_attempts,backoff_minutes:[..],retry_on:[no_answer,busy,failed,voicemail,machine],min_gap_minutes,ordering:fifo|best_time} | |
| purpose | No | Required on tools that read data or reports; recommended on every tool. One sentence: what you are doing and why (for example "finding this caller's open ticket to answer them"). Building a report, dashboard, analytics or an export is a SautiDesk Pro feature done by the report tools, not by pulling records. | |
| timezone | No | IANA timezone, e.g. Africa/Nairobi | |
| warn_pct | No | percent of budget that fires dialer.budget.warning (1 to 100) | |
| caller_id | No | E.164 number on this workspace to dial from | |
| ratio_max | No | predictive only: most calls out per free agent, 1.0 to 3.0 (default 1.5) | |
| campaign_id | Yes | campaign UUID | |
| budget_minor | No | hard campaign budget in minor currency units; dialing stops when it is spent | |
| callback_url | No | https URL on a public host (no localhost or private addresses) that receives the answer event and returns the verbs to run | |
| max_concurrent | No | most calls in flight at once, 1 to 200 (default 20) | |
| abandon_target_pct | No | predictive only: abandon percentage the pacing holds to, 0.1 to 10 (default 3) | |
| daily_budget_minor | No | daily budget in minor currency units | |
| release_rate_per_sec | No | calls released per second, 0.01 to 10 (default 1) |