create_dialer_campaign
Create a DRAFT drip dialer campaign (does not dial anyone). Set caller_id, callback_url, release rate, concurrency, DND hours, retries, a hard budget and AMD (on_machine leave_message needs amd.machine_message). The response includes callback_secret, the key that signs the answer callback: it is shown ONCE, so give it to the user to store. Add contacts, then start.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "create_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 | drip (default); progressive and predictive need the Pro plan | |
| 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) | |
| 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) |