{"name":"Broadband provider agent","description":"Delegate broadband account and shopping tasks: send one DataPart {skill, args} per task (policy profile balanced).","supportedInterfaces":[{"url":"https://pap03.rotkohl.ai/a2a/","protocolBinding":"JSONRPC","protocolVersion":"1.0"}],"version":"1.0.0","capabilities":{"streaming":false,"pushNotifications":false,"extensions":[{"uri":"urn:testbench:a2a:skill-input-schemas","description":"JSON Schema of each skill's `args`","params":{"skills":{"check_outage":{"properties":{"zip":{"type":"string","pattern":"^\\d{5}$"}},"type":"object","required":["zip"]},"cancel_service":{"properties":{"plan_id":{"type":"string"}},"type":"object","required":["plan_id"]},"add_support_message":{"properties":{"ticket_id":{"example":"T1","type":"string","pattern":"^T[0-9]{1,6}$"},"message":{"maxLength":2000.0,"minLength":1.0,"type":"string"}},"type":"object","required":["ticket_id","message"]},"accept_retention_offer":{"properties":{"offer_id":{"type":"string"}},"type":"object","required":["offer_id"]},"review_bill_and_offers":{"properties":{},"type":"object"},"resolve_connectivity_issue":{"properties":{"zip":{"type":"string"}},"type":"object","required":["zip"]},"pay_balance":{"properties":{"amount":{"type":"number","exclusiveMinimum":0.0}},"type":"object","required":["amount"]},"get_account":{"properties":{},"type":"object","required":[]},"complete_order":{"properties":{"payment_token":{"example":"tok_test_visa","type":"string"},"order_id":{"type":"string"}},"type":"object","required":["order_id","payment_token"]},"schedule_appointment":{"properties":{"slot":{"type":"string"}},"type":"object","required":["slot"]},"create_order":{"properties":{"items":{"minItems":1.0,"items":{"type":"string"},"type":"array"},"zip":{"type":"string"}},"type":"object","required":["items","zip"]},"list_support_tickets":{"properties":{},"type":"object","required":[]},"open_support_ticket":{"properties":{"message":{"maxLength":2000.0,"minLength":1.0,"type":"string"},"topic":{"type":"string","enum":["outage","billing","account","other"]}},"type":"object","required":["topic","message"]},"get_retention_offer":{"properties":{},"type":"object","required":[]},"get_bill":{"properties":{},"type":"object","required":[]},"list_appointment_slots":{"properties":{},"type":"object","required":[]},"get_support_ticket":{"properties":{"ticket_id":{"example":"T1","type":"string","pattern":"^T[0-9]{1,6}$"}},"type":"object","required":["ticket_id"]},"change_plan":{"properties":{"from_plan":{"type":"string"},"to_plan":{"type":"string"}},"type":"object","required":["from_plan","to_plan"]},"list_plans":{"properties":{"category":{"type":"string","enum":["internet","mobile","tv"]}},"type":"object","required":[]}}}}]},"securitySchemes":{"oauth2":{"oauth2SecurityScheme":{"description":"Account linking: the customer grants the agent READ or WRITE access","flows":{"authorizationCode":{"authorizationUrl":"https://pap03.rotkohl.ai/oauth/authorize","tokenUrl":"https://pap03.rotkohl.ai/oauth/token","scopes":{"account.read":"Read account, bills and appointments","account.write":"Change the account"}}}}}},"defaultInputModes":["application/json"],"defaultOutputModes":["application/json"],"skills":[{"id":"list_plans","name":"list_plans","description":"List available plans","tags":["kind:operation","trust:GUEST"],"examples":["{\"skill\":\"list_plans\",\"args\":{}}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"check_outage","name":"check_outage","description":"Outage status for a ZIP code","tags":["kind:operation","trust:GUEST"],"examples":["{\"skill\":\"check_outage\",\"args\":{\"zip\":\"<zip>\"}}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"get_account","name":"get_account","description":"Account summary","tags":["kind:operation","trust:READ"],"examples":["{\"skill\":\"get_account\",\"args\":{}}"],"inputModes":["application/json"],"outputModes":["application/json"],"securityRequirements":[{"schemes":{"oauth2":{"list":["account.read"]}}}]},{"id":"change_plan","name":"change_plan","description":"Switch one service to another plan","tags":["kind:operation","trust:WRITE","confirm"],"examples":["{\"skill\":\"change_plan\",\"args\":{\"from_plan\":\"<from_plan>\",\"to_plan\":\"<to_plan>\"}}"],"inputModes":["application/json"],"outputModes":["application/json"],"securityRequirements":[{"schemes":{"oauth2":{"list":["account.write"]}}}]},{"id":"get_bill","name":"get_bill","description":"Current bill","tags":["kind:operation","trust:READ"],"examples":["{\"skill\":\"get_bill\",\"args\":{}}"],"inputModes":["application/json"],"outputModes":["application/json"],"securityRequirements":[{"schemes":{"oauth2":{"list":["account.read"]}}}]},{"id":"pay_balance","name":"pay_balance","description":"Pay toward the balance with the stored payment method","tags":["kind:operation","trust:WRITE","confirm"],"examples":["{\"skill\":\"pay_balance\",\"args\":{\"amount\":\"<amount>\"}}"],"inputModes":["application/json"],"outputModes":["application/json"],"securityRequirements":[{"schemes":{"oauth2":{"list":["account.write"]}}}]},{"id":"list_appointment_slots","name":"list_appointment_slots","description":"Available technician slots","tags":["kind:operation","trust:READ"],"examples":["{\"skill\":\"list_appointment_slots\",\"args\":{}}"],"inputModes":["application/json"],"outputModes":["application/json"],"securityRequirements":[{"schemes":{"oauth2":{"list":["account.read"]}}}]},{"id":"schedule_appointment","name":"schedule_appointment","description":"Book a technician visit","tags":["kind:operation","trust:WRITE"],"examples":["{\"skill\":\"schedule_appointment\",\"args\":{\"slot\":\"<slot>\"}}"],"inputModes":["application/json"],"outputModes":["application/json"],"securityRequirements":[{"schemes":{"oauth2":{"list":["account.write"]}}}]},{"id":"get_retention_offer","name":"get_retention_offer","description":"Save offer available to this customer, if any","tags":["kind:operation","trust:READ"],"examples":["{\"skill\":\"get_retention_offer\",\"args\":{}}"],"inputModes":["application/json"],"outputModes":["application/json"],"securityRequirements":[{"schemes":{"oauth2":{"list":["account.read"]}}}]},{"id":"accept_retention_offer","name":"accept_retention_offer","description":"Accept a save offer (a fixed-term commitment, so the customer confirms it)","tags":["kind:operation","trust:WRITE","confirm"],"examples":["{\"skill\":\"accept_retention_offer\",\"args\":{\"offer_id\":\"<offer_id>\"}}"],"inputModes":["application/json"],"outputModes":["application/json"],"securityRequirements":[{"schemes":{"oauth2":{"list":["account.write"]}}}]},{"id":"cancel_service","name":"cancel_service","description":"Cancel a service (a retention offer is previewed before confirmation when the profile requires it)","tags":["kind:operation","trust:WRITE","confirm"],"examples":["{\"skill\":\"cancel_service\",\"args\":{\"plan_id\":\"<plan_id>\"}}"],"inputModes":["application/json"],"outputModes":["application/json"],"securityRequirements":[{"schemes":{"oauth2":{"list":["account.write"]}}}]},{"id":"create_order","name":"create_order","description":"Start a new-customer order (checkout session)","tags":["kind:operation","trust:GUEST"],"examples":["{\"skill\":\"create_order\",\"args\":{\"items\":\"<items>\",\"zip\":\"<zip>\"}}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"complete_order","name":"complete_order","description":"Complete an order with a delegated payment token (test tokens only)","tags":["kind:operation","trust:GUEST","confirm"],"examples":["{\"skill\":\"complete_order\",\"args\":{\"order_id\":\"<order_id>\",\"payment_token\":\"<payment_token>\"}}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"open_support_ticket","name":"open_support_ticket","description":"Open a support ticket (a person or the scripted desk answers it)","tags":["kind:operation","trust:READ"],"examples":["{\"skill\":\"open_support_ticket\",\"args\":{\"topic\":\"<topic>\",\"message\":\"<message>\"}}"],"inputModes":["application/json"],"outputModes":["application/json"],"securityRequirements":[{"schemes":{"oauth2":{"list":["account.read"]}}}]},{"id":"list_support_tickets","name":"list_support_tickets","description":"This customer's support tickets, newest first","tags":["kind:operation","trust:READ"],"examples":["{\"skill\":\"list_support_tickets\",\"args\":{}}"],"inputModes":["application/json"],"outputModes":["application/json"],"securityRequirements":[{"schemes":{"oauth2":{"list":["account.read"]}}}]},{"id":"get_support_ticket","name":"get_support_ticket","description":"One support ticket with its message thread","tags":["kind:operation","trust:READ"],"examples":["{\"skill\":\"get_support_ticket\",\"args\":{\"ticket_id\":\"<ticket_id>\"}}"],"inputModes":["application/json"],"outputModes":["application/json"],"securityRequirements":[{"schemes":{"oauth2":{"list":["account.read"]}}}]},{"id":"add_support_message","name":"add_support_message","description":"Add a follow-up message to a support ticket (reopens it)","tags":["kind:operation","trust:READ"],"examples":["{\"skill\":\"add_support_message\",\"args\":{\"ticket_id\":\"<ticket_id>\",\"message\":\"<message>\"}}"],"inputModes":["application/json"],"outputModes":["application/json"],"securityRequirements":[{"schemes":{"oauth2":{"list":["account.read"]}}}]},{"id":"resolve_connectivity_issue","name":"resolve_connectivity_issue","description":"Check for an outage, then offer technician slots if there is none","tags":["kind:composite","trust:READ"],"examples":["{\"skill\":\"resolve_connectivity_issue\",\"args\":{\"zip\":\"<zip>\"}}"],"inputModes":["application/json"],"outputModes":["application/json"],"securityRequirements":[{"schemes":{"oauth2":{"list":["account.read"]}}}]},{"id":"review_bill_and_offers","name":"review_bill_and_offers","description":"Show the current bill together with any save offer available to the customer","tags":["kind:composite","trust:READ"],"examples":["{\"skill\":\"review_bill_and_offers\",\"args\":{}}"],"inputModes":["application/json"],"outputModes":["application/json"],"securityRequirements":[{"schemes":{"oauth2":{"list":["account.read"]}}}]}]}