Skip to main content
POST
/
outbound
/
maintenance
/
schedule
curl -X POST https://api.avoca.ai/v1/outbound/maintenance/schedule \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "X-Workspace-ID: YOUR_WORKSPACE_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "team_id": 123,
    "customer_name": "Bob Wilson",
    "phone_number": "+13105551234",
    "last_service_date": "2023-07-15",
    "equipment_type": "HVAC System",
    "maintenance_due": "2024-01-25",
    "equipment_details": {
      "brand": "Carrier",
      "model": "58CVA090",
      "age_years": 8,
      "warranty_status": "expired"
    },
    "maintenance_plan": {
      "plan_type": "premium",
      "expires": "2024-12-31",
      "services_included": ["Spring tune-up", "Fall tune-up", "Filter changes"],
      "discount_percentage": 15
    },
    "schedule_options": {
      "days_before_due": 10,
      "preferred_days": ["tuesday", "wednesday", "thursday"],
      "preferred_time": "morning"
    },
    "incentive_offer": {
      "type": "discount",
      "value": "$30 off when you book this week",
      "expires": "2024-01-20"
    }
  }'
{
  "success": true,
  "data": {
    "id": "maint_call_789",
    "customer_id": "cust_456",
    "scheduled_for": "2024-01-15T10:00:00Z",
    "status": "scheduled",
    "campaign_type": "premium_maintenance_reminder"
  },
  "meta": {
    "request_id": "req_abc123",
    "timestamp": "2024-01-05T09:00:00Z"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.avoca.ai/llms.txt

Use this file to discover all available pages before exploring further.

Maintenance calls proactively reach out to customers when their equipment is due for service, helping prevent breakdowns and generating predictable revenue through maintenance agreements.

Request

team_id
number
required
Your ServiceTitan team/tenant ID
customer_name
string
required
Customer’s full name
phone_number
string
required
Customer’s phone number
last_service_date
string
required
Date of last maintenance service (YYYY-MM-DD)
equipment_type
string
required
Type of equipment needing maintenance:
  • HVAC System
  • AC Unit
  • Furnace
  • Water Heater
  • Heat Pump
  • Boiler
  • Generator
maintenance_due
string
required
Date when maintenance is due (YYYY-MM-DD)
equipment_details
object
Equipment information for personalized calls
maintenance_plan
object
Customer’s maintenance agreement details
schedule_options
object
When to place the maintenance call
incentive_offer
object
Special offer to encourage booking
assistant_id
string
Specific AI assistant for maintenance calls

Response

success
boolean
Whether the maintenance call was scheduled successfully
data
object
Maintenance call details
curl -X POST https://api.avoca.ai/v1/outbound/maintenance/schedule \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "X-Workspace-ID: YOUR_WORKSPACE_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "team_id": 123,
    "customer_name": "Bob Wilson",
    "phone_number": "+13105551234",
    "last_service_date": "2023-07-15",
    "equipment_type": "HVAC System",
    "maintenance_due": "2024-01-25",
    "equipment_details": {
      "brand": "Carrier",
      "model": "58CVA090",
      "age_years": 8,
      "warranty_status": "expired"
    },
    "maintenance_plan": {
      "plan_type": "premium",
      "expires": "2024-12-31",
      "services_included": ["Spring tune-up", "Fall tune-up", "Filter changes"],
      "discount_percentage": 15
    },
    "schedule_options": {
      "days_before_due": 10,
      "preferred_days": ["tuesday", "wednesday", "thursday"],
      "preferred_time": "morning"
    },
    "incentive_offer": {
      "type": "discount",
      "value": "$30 off when you book this week",
      "expires": "2024-01-20"
    }
  }'
{
  "success": true,
  "data": {
    "id": "maint_call_789",
    "customer_id": "cust_456",
    "scheduled_for": "2024-01-15T10:00:00Z",
    "status": "scheduled",
    "campaign_type": "premium_maintenance_reminder"
  },
  "meta": {
    "request_id": "req_abc123",
    "timestamp": "2024-01-05T09:00:00Z"
  }
}

Maintenance Call Completion Webhook

When the maintenance call completes, receive detailed results:
{
  "event": "maintenance_call.completed",
  "timestamp": "2024-01-15T10:15:00Z",
  "data": {
    "id": "maint_call_789",
    "customer_id": "cust_456",
    "status": "completed",
    "duration": 156,
    "connected": true,
    "appointment_scheduled": true,
    "appointment_details": {
      "date": "2024-01-25",
      "time": "10:00 AM - 12:00 PM",
      "service_type": "HVAC Maintenance",
      "technician": "Available"
    },
    "offer_accepted": true,
    "callback_requested": false,
    "opt_out": false,
    "transcript_url": "https://api.avoca.ai/v1/calls/call_123/transcript"
  }
}

Best Practices

  1. Timing: Call 2-3 weeks before maintenance is due
  2. Personalization: Reference specific equipment and last service
  3. Value Proposition: Emphasize preventing breakdowns and saving money
  4. Offers: Include time-limited incentives to drive action
  5. Frequency: Don’t call same customer more than once per quarter