Tool tree
A WebMCP-powered dispatcher workspace that turns route gaps into safe, profitable customer opportunities.
Implementation
gradeNot graded
gradeNot graded
inspect_scheduleAnswer
Read a technician schedule and its open gaps. Does not change data.
View tool JSON
{
"name": "inspect_schedule",
"kind": "answer",
"impl": "imperative",
"description": "Read a technician schedule and its open gaps. Does not change data.",
"inputSchema": {
"type": "object",
"properties": {
"technician_id": {
"type": "string",
"description": "Technician ID",
"pattern": "^[a-z]+-[a-z0-9-]+$"
},
"date": {
"type": "string",
"format": "date"
}
},
"required": [
"technician_id",
"date"
],
"additionalProperties": false
}
}analyze_route_gapAction
Analyze one existing gap and visualize its capacity and route constraints on the live page.
View tool JSON
{
"name": "analyze_route_gap",
"kind": "act",
"impl": "imperative",
"description": "Analyze one existing gap and visualize its capacity and route constraints on the live page.",
"inputSchema": {
"type": "object",
"properties": {
"gap_id": {
"type": "string",
"description": "Open schedule gap ID",
"pattern": "^[a-z]+-[a-z0-9-]+$"
}
},
"required": [
"gap_id"
],
"additionalProperties": false
}
}find_eligible_customersAnswer
Rank and visualize nearby customers who are eligible, consented, due, and fit the selected gap.
View tool JSON
{
"name": "find_eligible_customers",
"kind": "answer",
"impl": "imperative",
"description": "Rank and visualize nearby customers who are eligible, consented, due, and fit the selected gap.",
"inputSchema": {
"type": "object",
"properties": {
"gap_id": {
"type": "string",
"description": "Open schedule gap ID",
"pattern": "^[a-z]+-[a-z0-9-]+$"
},
"radius_miles": {
"type": "number",
"minimum": 1,
"maximum": 15,
"default": 5
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"default": 5
}
},
"required": [
"gap_id"
],
"additionalProperties": false
}
}calculate_offer_optionsAction
Calculate and record price, discount, drive time, and margin-safe options for one eligible customer.
View tool JSON
{
"name": "calculate_offer_options",
"kind": "act",
"impl": "imperative",
"description": "Calculate and record price, discount, drive time, and margin-safe options for one eligible customer.",
"inputSchema": {
"type": "object",
"properties": {
"gap_id": {
"type": "string",
"description": "Open schedule gap ID",
"pattern": "^[a-z]+-[a-z0-9-]+$"
},
"customer_id": {
"type": "string",
"description": "Eligible customer ID",
"pattern": "^[a-z]+-[a-z0-9-]+$"
},
"service_type_id": {
"type": "string",
"description": "Service type ID",
"pattern": "^[a-z]+-[a-z0-9-]+$"
}
},
"required": [
"gap_id",
"customer_id",
"service_type_id"
],
"additionalProperties": false
}
}preview_campaignAction
Create one immutable outreach draft in the live page audit. This does not contact anyone.
View tool JSON
{
"name": "preview_campaign",
"kind": "act",
"impl": "imperative",
"description": "Create one immutable outreach draft in the live page audit. This does not contact anyone.",
"inputSchema": {
"type": "object",
"properties": {
"gap_id": {
"type": "string",
"description": "Open schedule gap ID",
"pattern": "^[a-z]+-[a-z0-9-]+$"
},
"customer_id": {
"type": "string",
"description": "Eligible customer ID",
"pattern": "^[a-z]+-[a-z0-9-]+$"
},
"offer_option_id": {
"type": "string",
"description": "Calculated offer option ID",
"pattern": "^[a-z]+-[a-z0-9-]+$"
},
"channel": {
"type": "string",
"enum": [
"sms"
]
}
},
"required": [
"gap_id",
"customer_id",
"offer_option_id",
"channel"
],
"additionalProperties": false
}
}request_campaign_approvalSensitive Action
Open a visible dispatcher approval gate. Only the human can approve or reject; the tool waits for that choice.
View tool JSON
{
"name": "request_campaign_approval",
"kind": "transact",
"impl": "imperative",
"description": "Open a visible dispatcher approval gate. Only the human can approve or reject; the tool waits for that choice.",
"inputSchema": {
"type": "object",
"properties": {
"campaign_id": {
"type": "string",
"description": "Draft campaign ID",
"pattern": "^[a-z]+-[a-z0-9-]+$"
}
},
"required": [
"campaign_id"
],
"additionalProperties": false
}
}verify_scheduleAction
After the customer page books, read and verify the appointment, filled gap, route metrics, margin, and receipt evidence.
View tool JSON
{
"name": "verify_schedule",
"kind": "act",
"impl": "imperative",
"description": "After the customer page books, read and verify the appointment, filled gap, route metrics, margin, and receipt evidence.",
"inputSchema": {
"type": "object",
"properties": {
"booking_id": {
"type": "string",
"description": "Customer booking receipt ID",
"pattern": "^[a-z]+-[a-z0-9-]+$"
}
},
"required": [
"booking_id"
],
"additionalProperties": false
}
}