addedInput schema / properties / brief
Added value: +{
+ "additionalProperties": false,
+ "description": "The structured errand brief. destination may be given here or at the top level.",
+ "properties": {
+ "allowed_commitments": {
+ "description": "The only things the assistant may agree to, e.g. 'accept any slot Tue–Thu after 14:00'. For anything else it says it will check and come back, and lists it in the report. Payments, contracts and cancellations are never allowed.",
+ "items": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "maxItems": 10,
+ "type": "array"
+ },
+ "assistant_name": {
+ "description": "Optional. The name the assistant uses on this call instead of the AI assistant settings name.",
+ "maxLength": 40,
+ "type": "string"
+ },
+ "callback": {
+ "additionalProperties": false,
+ "properties": {
+ "events": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "webhook_url": {
+ "description": "https URL for task events.",
+ "format": "uri",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "callee_is_business": {
+ "description": "Optional. True when the callee is a business.",
+ "type": "boolean"
+ },
+ "callee_name": {
+ "description": "Who you are calling, e.g. 'FedEx UK Import Clearance' or 'Dr Cohen's clinic'.",
+ "maxLength": 120,
+ "type": "string"
+ },
+ "caller_identity_id": {
+ "description": "Optional identity id. Omit it and Widely picks the caller ID the same way the app does.",
+ "maxLength": 64,
+ "type": "string"
+ },
+ "client_reference": {
+ "description": "Your own reference.",
+ "maxLength": 100,
+ "type": "string"
+ },
+ "connect_user": {
+ "default": false,
+ "description": "When true, the assistant asks the callee to hold at the end, rings the user's phones into the call, and leaves.",
+ "type": "boolean"
+ },
+ "destination": {
+ "description": "Number to call, E.164 (+44…, +972…, +1…) or local. Emergency and premium-rate numbers are refused.",
+ "maxLength": 32,
+ "type": "string"
+ },
+ "escalation": {
+ "additionalProperties": false,
+ "properties": {
+ "blockers": {
+ "items": {
+ "enum": [
+ "verification_failed",
+ "asks_for_account_holder",
+ "payment_requested",
+ "legal_or_dispute",
+ "callee_requests_human",
+ "unknown_fact_needed"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "mode": {
+ "default": "on_blocker",
+ "enum": [
+ "never",
+ "on_request",
+ "on_human",
+ "on_blocker"
+ ],
+ "type": "string"
+ },
+ "notify": {
+ "default": "app",
+ "enum": [
+ "app",
+ "whatsapp",
+ "both"
+ ],
+ "type": "string"
+ },
+ "ring_user_after_seconds": {
+ "default": 60,
+ "maximum": 600,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "facts_to_collect": {
+ "description": "Questions to ask and the information to bring back.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "confirm_back": {
+ "default": true,
+ "type": "boolean"
+ },
+ "description": {
+ "description": "The question to ask or the information needed.",
+ "maxLength": 300,
+ "type": "string"
+ },
+ "key": {
+ "pattern": "^[a-z0-9_]{1,40}$",
+ "type": "string"
+ },
+ "required": {
+ "default": true,
+ "type": "boolean"
+ },
+ "type": {
+ "default": "string",
+ "enum": [
+ "string",
+ "number",
+ "date",
+ "boolean",
+ "money",
+ "reference"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "key",
+ "description"
+ ],
+ "type": "object"
+ },
+ "maxItems": 20,
+ "type": "array"
+ },
+ "facts_to_give": {
+ "description": "Facts the assistant may give. Card numbers, CVVs, PINs and passwords are refused.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "disclose": {
+ "default": "if_asked",
+ "enum": [
+ "freely",
+ "if_asked",
+ "only_to_verified_human",
+ "never"
+ ],
+ "type": "string"
+ },
+ "key": {
+ "description": "Short label, e.g. 'order_number'.",
+ "maxLength": 80,
+ "type": "string"
+ },
+ "value": {
+ "description": "The fact.",
+ "maxLength": 300,
+ "type": "string"
+ }
+ },
+ "required": [
+ "key",
+ "value"
+ ],
+ "type": "object"
+ },
+ "maxItems": 30,
+ "type": "array"
+ },
+ "forbidden": {
+ "description": "Things the assistant must not say or agree to.",
+ "items": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "maxItems": 10,
+ "type": "array"
+ },
+ "goal": {
+ "description": "The outcome you want, in one or two sentences.",
+ "maxLength": 500,
+ "minLength": 8,
+ "type": "string"
+ },
+ "if_unknown": {
+ "default": "say_will_check_back",
+ "description": "What to do when asked something the brief does not cover.",
+ "enum": [
+ "say_will_check_back",
+ "escalate",
+ "end_politely"
+ ],
+ "type": "string"
+ },
+ "ivr_hints": {
+ "description": "Phone menu hints, e.g. 'choose imports'.",
+ "items": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "maxItems": 20,
+ "type": "array"
+ },
+ "language": {
+ "description": "BCP-47 such as en-GB or he-IL, or auto-from-seat.",
+ "maxLength": 40,
+ "type": "string"
+ },
+ "limits": {
+ "additionalProperties": false,
+ "properties": {
+ "max_call_minutes": {
+ "default": 30,
+ "maximum": 120,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "max_cost": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "max_hold_minutes": {
+ "default": 20,
+ "maximum": 90,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "max_ivr_minutes": {
+ "default": 6,
+ "maximum": 15,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "retry": {
+ "additionalProperties": false,
+ "properties": {
+ "gap_minutes": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "on_busy_or_no_answer": {
+ "default": 0,
+ "maximum": 3,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "on_behalf_of": {
+ "additionalProperties": false,
+ "description": "Who the call is for. person is required.",
+ "properties": {
+ "company": {
+ "description": "Company, if the call is for a business.",
+ "maxLength": 120,
+ "type": "string"
+ },
+ "person": {
+ "description": "Name of the person the call is for.",
+ "maxLength": 120,
+ "type": "string"
+ },
+ "relationship": {
+ "description": "e.g. 'account holder', 'director', 'parent'.",
+ "maxLength": 120,
+ "type": "string"
+ }
+ },
+ "required": [
+ "person"
+ ],
+ "type": "object"
+ },
+ "opening_line": {
+ "description": "Optional. What to say first, after the assistant introduces itself and plays the mandatory notice.",
+ "maxLength": 200,
+ "type": "string"
+ },
+ "purpose_category": {
+ "description": "Kind of call. Marketing, sales, surveys, debt collection, political and fundraising calls are refused.",
+ "enum": [
+ "service_enquiry",
+ "account_admin",
+ "booking",
+ "logistics",
+ "complaint",
+ "other_non_marketing"
+ ],
+ "type": "string"
+ },
+ "save_as_default": {
+ "default": false,
+ "description": "With assistant_name, also save it as the default name in Widely AI assistant settings.",
+ "type": "boolean"
+ },
+ "schedule_at": {
+ "description": "When to call, ISO date-time, at most 14 days ahead. Omit it to call now.",
+ "format": "date-time",
+ "type": "string"
+ },
+ "success_criteria": {
+ "description": "How to tell the call worked, e.g. 'they confirm the delivery date'.",
+ "items": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "maxItems": 10,
+ "minItems": 1,
+ "type": "array"
+ },
+ "time_window": {
+ "additionalProperties": false,
+ "description": "Optional calling window, at least 10 minutes long and within 14 days. The call is placed inside it.",
+ "properties": {
+ "not_after": {
+ "description": "ISO date-time with offset.",
+ "format": "date-time",
+ "type": "string"
+ },
+ "not_before": {
+ "description": "ISO date-time with offset.",
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "required": [
+ "not_before",
+ "not_after"
+ ],
+ "type": "object"
+ },
+ "voicemail": {
+ "default": "leave_message",
+ "description": "On voicemail: leave_message (default), hang_up_and_retry (uses limits.retry), or hang_up.",
+ "enum": [
+ "leave_message",
+ "hang_up_and_retry",
+ "hang_up"
+ ],
+ "type": "string"
+ },
+ "voicemail_message": {
+ "description": "Optional. If absent, the assistant leaves a short message from the goal and on_behalf_of, with no sensitive facts.",
+ "maxLength": 300,
+ "type": "string"
+ }
+ },
+ "required": [
+ "callee_name",
+ "goal",
+ "on_behalf_of",
+ "purpose_category",
+ "success_criteria"
+ ],
+ "type": "object"
+}