Skip to main content
POST
/
outbound
/
happy-calls
/
schedule
curl -X POST https://api.avoca.ai/v1/outbound/happy-calls/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": "Jane Smith",
    "phone_number": "+13105551234",
    "job_id": "12345",
    "service_date": "2024-01-19",
    "technician_name": "Mike Johnson",
    "service_type": "AC Repair",
    "invoice_total": 450.00,
    "schedule_options": {
      "delay_hours": 24,
      "preferred_time": "afternoon",
      "timezone": "America/Los_Angeles"
    },
    "questions": [
      {
        "id": "satisfaction",
        "text": "How satisfied were you with our service?",
        "type": "rating",
        "required": true
      },
      {
        "id": "technician_rating",
        "text": "How would you rate your technician, Mike?",
        "type": "rating",
        "required": true
      },
      {
        "id": "recommend",
        "text": "Would you recommend us to friends and family?",
        "type": "yes_no",
        "required": true
      }
    ],
    "review_platforms": ["google", "facebook"]
  }'
{
  "success": true,
  "data": {
    "id": "happy_call_456",
    "job_id": "12345",
    "scheduled_for": "2024-01-20T15:00:00Z",
    "status": "scheduled"
  },
  "meta": {
    "request_id": "req_xyz789",
    "timestamp": "2024-01-19T16:00:00Z"
  }
}
Happy calls are automated follow-up calls made after service completion to ensure customer satisfaction, gather feedback, and identify opportunities for additional services or reviews.

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
job_id
string
required
ServiceTitan job ID for reference
service_date
string
required
Date when service was completed (YYYY-MM-DD)
technician_name
string
Name of the technician who performed the service
service_type
string
required
Type of service performed:
  • AC Repair
  • Heating Service
  • Plumbing Repair
  • Electrical Work
  • Maintenance
  • Installation
invoice_total
number
Total amount of the service invoice
schedule_options
object
When to place the happy call
questions
array
Custom questions to ask during the call
review_platforms
array
Platforms to request reviews on if satisfied:
  • google
  • facebook
  • yelp
  • bbb
assistant_id
string
Specific AI assistant to use for the call

Response

success
boolean
Whether the happy call was scheduled successfully
data
object
Happy call details
curl -X POST https://api.avoca.ai/v1/outbound/happy-calls/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": "Jane Smith",
    "phone_number": "+13105551234",
    "job_id": "12345",
    "service_date": "2024-01-19",
    "technician_name": "Mike Johnson",
    "service_type": "AC Repair",
    "invoice_total": 450.00,
    "schedule_options": {
      "delay_hours": 24,
      "preferred_time": "afternoon",
      "timezone": "America/Los_Angeles"
    },
    "questions": [
      {
        "id": "satisfaction",
        "text": "How satisfied were you with our service?",
        "type": "rating",
        "required": true
      },
      {
        "id": "technician_rating",
        "text": "How would you rate your technician, Mike?",
        "type": "rating",
        "required": true
      },
      {
        "id": "recommend",
        "text": "Would you recommend us to friends and family?",
        "type": "yes_no",
        "required": true
      }
    ],
    "review_platforms": ["google", "facebook"]
  }'
{
  "success": true,
  "data": {
    "id": "happy_call_456",
    "job_id": "12345",
    "scheduled_for": "2024-01-20T15:00:00Z",
    "status": "scheduled"
  },
  "meta": {
    "request_id": "req_xyz789",
    "timestamp": "2024-01-19T16:00:00Z"
  }
}

Happy Call Completion Webhook

When the happy call completes, you’ll receive a webhook with the results:
{
  "event": "happy_call.completed",
  "timestamp": "2024-01-20T15:15:00Z",
  "data": {
    "id": "happy_call_456",
    "job_id": "12345",
    "status": "completed",
    "duration": 187,
    "connected": true,
    "responses": {
      "satisfaction": 9,
      "technician_rating": 10,
      "recommend": true
    },
    "review_requested": true,
    "review_link": "https://g.page/r/CXvKL5wSPqEBEAg/review",
    "transcript_url": "https://api.avoca.ai/v1/calls/call_789/transcript",
    "sentiment": "positive",
    "follow_up_needed": false
  }
}

Best Practices

  1. Timing: Call 24-48 hours after service for best response rates
  2. Keep it Short: Limit to 3-5 questions for higher completion
  3. Act on Feedback: Set up alerts for low satisfaction scores
  4. Review Requests: Only ask satisfied customers (8+ rating) for reviews
  5. Personalize: Reference the specific service and technician name