Set Up Phone System
set_up_phone_systemTurn the business's number into a hosted phone system: Kai is installed as extension 700, the owner's mobile joins a team ring group, and a dial plan rings the team first and hands the call to Kai when nobody picks up. Idempotent and resumable — a re-run reuses everything already created and reports it under reused. Needs a complete US street address on file (the emergency-services and tax location) and the owner's mobile: when either is missing the tool fails with code missing_address or missing_owner_mobile plus required_field and next_action saying exactly what to collect — pass it back as business_address or owner_mobile. Returns the status shape (extension, ring group, dial plan ids, the phone-system line) and next_step, the one line to relay to the owner (forward your line here / dial 700 from any office phone). Mirrors POST /api/v1/phone-system action=provision.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| persona | No | Which phones the business runs on, if the owner said: cell_only (just the owner's cell) or office (desk phones / an existing office line that will forward in). Shapes next_step; optional. | |
| business_id | No | Business ID (required when the token can access multiple businesses). | |
| owner_mobile | No | The owner's own mobile number (US). Optional when set_owner_phone already saved one; required when the last attempt returned missing_owner_mobile. | |
| business_address | No | The business street address to save before provisioning. Optional when a complete address is already on file; required when the last attempt returned missing_address. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No | ||
| code | No | Present when success is false. | |
| line | No | The phone-system line (E.164), if a number is attached. | |
| error | No | Present when success is false | |
| reused | No | ||
| created | No | ||
| success | Yes | Whether the tool completed successfully | |
| warnings | No | ||
| next_step | No | The one line to relay to the owner. | |
| business_id | No | ||
| next_action | No | What to collect and how to retry, when blocked. | |
| provisioned | No | ||
| kai_extension | No | ||
| required_field | No | Present when setup is blocked on a missing input. |