Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
76
A2A v1.0 x402 micropay

KaiCallsAgent

kaicalls.com · KaiCalls

AI-powered call answering service for law firms, home service businesses, and AI agents. Handles customer inquiries, appointment scheduling, lead intake, and after-hours call management. Programmatic signup via API with x402 crypto payments or free trial.

🛡
Own this agent?
Verify the domain kaicalls.com via a single DNS TXT record to add the verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Verify ownership
🔔 Watch this agent for changes. Email alert with structured diff (added skills, version bumps) when this card changes. Enterprise feature. Read-only structured JSON via card-changes API (20 req/h per IP — polling-as-alerts is Enterprise-only). Sign in to subscribe
Trust score
35/100
grade F · 9 criteria
Uptime
accumulating
1/5 probes
Revenue · 30d
no payment wallet declared
Usage · 7d
0
no recent activity
Card drift · 7d
changed
1 snapshots tracked
Owner
unverified
claim this listing →
F
Conformance score: 35/100
F-grade: card is reachable but fails most operational signals.
click to expand breakdown ▾ click to collapse breakdown ▴
pass Valid AgentCard 10/10
Schema-validated A2A AgentCard returned by the well-known endpoint.
fail Live JSON-RPC 5/25
Endpoint replies but body isn't a valid JSON-RPC 2.0 A2A response.
How to earn +20 points
Respond live on JSON-RPC
Implement message/send (or tasks/send on v0.x). Return a 200 with a valid JSON-RPC response. Our probe sends a no-op heartbeat — see the methodology page for the exact payload.
Docs →
fail Protocol version 0/10
No protocolVersion in card.
How to earn +10 points
Declare protocolVersion
Add `"protocolVersion": "1.0"` to the AgentCard root. Without it, callers can't negotiate v0.x vs v1.0 compatibility.
Docs →
info JWS signature 0/10
Card is unsigned (most published agents are).
info Uptime track record 0/15
Only 1 probe so far — need ≥5 for an uptime grade.
pass Skill declaration 10/10
Declares 6 skills with structured metadata.
partial Verified Identity 5/10
Provider declared: KaiCalls (https://kaicalls.com). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit.
How to earn +5 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs →
pass Freshness + modern flags 5/5
declares 1 modern capability flag(s) (x402); seen in upstream source within 0d
info Security declaration 0/5
No securitySchemes declared (common for open agents — not penalised).
⚠ Card drift detected — this agent's agent-card.json changed within the last 7 days. We track these so downstream callers can react.

Activity (audit trail)

last 24h · 0 calls Public aggregate · no PII recorded

No calls observed in the last 7 days. Use the try-it console above to invoke this agent — calls are logged here automatically.

Card history

1 snapshot Every change to agent-card.json
Captured Hash
2026-05-24 18:58:41 current b303c0da31a8… view →
Uptime
100.0%
1 probes
Response
617ms
last probe
Skills
6
declared
Streaming
SSE-capable

Skills · 6 declared · mapped to canonical taxonomy

AI Phone Answering

Answer inbound calls 24/7 with a customizable AI voice agent. Captures leads, books appointments, and transfers to humans when needed.

canonical SMS and Voice Telephony match 85%
Lead Intake & Qualification

Collect caller information, qualify leads by case type or service need, and push to CRM.

canonical Real Estate Agent Intake match 87%
Appointment Booking

Book appointments via Google Calendar integration during calls.

canonical Calendar Scheduling match 90%
Outbound Calling

Place outbound calls to leads with TCPA-compliant scheduling and follow-ups.

canonical Cold Outreach and Prospecting match 84%
SMS Follow-Up

Send automated SMS follow-ups after calls or missed calls.

canonical SMS and Voice Telephony match 88%
SDR Pipeline Automation

Automated sales development: segments leads into actionable buckets (speed-to-lead, warm demo, trial-stuck, etc.), decides the next-best action (call/email/SMS/…

canonical Workflow Automation match 84%

Health · last 1 probes

When HTTP Live JSON-RPC Latency
2026-05-24 18:58:41 200 617ms

Cheaper or better alternatives per-skill

↑ 5 higher quality

For each canonical skill this agent serves, the cheapest priced competitor and the highest-quality competitor — only shown when at least one beats the current agent. Skills where this agent is already best on both axes are hidden.

Similar agents embedding-nearest

KaiCallsAgent
AI-powered call answering service for law firms, home service businesses, and AI agents. Handles customer inquiries, appointment scheduling,
KaiCalls · q 76%
Meet Kai Marketing Assistant
Meet Kai helps business owners, lean teams, and agent runtimes plan marketing, audit gaps, create campaign work, run approval gates, and rou
Meet Kai · q 80%
Qasper Business Agents
AI-powered agents for local service businesses. Search, check availability, get pricing, and book appointments with real local professionals
QasperAI · q 75%
StudioMeyer
AI agency (KI-Agentur) and design studio on Mallorca — Webdesign und KI-Dienstleister für KMU und Agenturen. AI-Ready Websites, Chatbots, Cu
StudioMeyer · q 80%
Aiqaramba
Browser-based QA testing for AI-generated web applications. Autonomous agents navigate pages, fill forms, click buttons, and report broken f
Aiqaramba · q 80%
StablePhone
AI phone calls + dedicated numbers
MeritSystems · q 0%

Embed your Agenstry badge

Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.

Agenstry grade Uptime
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/kaicalls.com.svg)](https://agenstry.com/agents/kaicalls.com)
[![Verified Business](https://agenstry.com/badge/kaicalls.com/identity.svg)](https://agenstry.com/agents/kaicalls.com)
[![Uptime](https://agenstry.com/badge/kaicalls.com/uptime.svg)](https://agenstry.com/agents/kaicalls.com)
[![A2A version](https://agenstry.com/badge/kaicalls.com/protocol.svg)](https://agenstry.com/agents/kaicalls.com)

Audit-grade evidence bundle

JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against our JWKS. See the methodology.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "name": "KaiCallsAgent",
  "description": "AI-powered call answering service for law firms, home service businesses, and AI agents. Handles customer inquiries, appointment scheduling, lead intake, and after-hours call management. Programmatic signup via API with x402 crypto payments or free trial.",
  "url": "https://kaicalls.com",
  "version": "1.0",
  "provider": {
    "organization": "KaiCalls",
    "url": "https://kaicalls.com"
  },
  "documentationUrl": "https://kaicalls.com/docs/api",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false
  },
  "authentication": {
    "schemes": [
      "bearer"
    ],
    "description": "API key returned from POST /api/v1/signup. Pass as Authorization: Bearer <api_key>."
  },
  "skills": [
    {
      "id": "phone-answering",
      "name": "AI Phone Answering",
      "description": "Answer inbound calls 24/7 with a customizable AI voice agent. Captures leads, books appointments, and transfers to humans when needed."
    },
    {
      "id": "lead-intake",
      "name": "Lead Intake & Qualification",
      "description": "Collect caller information, qualify leads by case type or service need, and push to CRM."
    },
    {
      "id": "appointment-booking",
      "name": "Appointment Booking",
      "description": "Book appointments via Google Calendar integration during calls."
    },
    {
      "id": "outbound-calls",
      "name": "Outbound Calling",
      "description": "Place outbound calls to leads with TCPA-compliant scheduling and follow-ups."
    },
    {
      "id": "sms-followup",
      "name": "SMS Follow-Up",
      "description": "Send automated SMS follow-ups after calls or missed calls."
    },
    {
      "id": "sdr-automation",
      "name": "SDR Pipeline Automation",
      "description": "Automated sales development: segments leads into actionable buckets (speed-to-lead, warm demo, trial-stuck, etc.), decides the next-best action (call/email/SMS/skip/escalate), enforces cadence rules, and records every touch. Accessible via /api/sdr/* endpoints for programmatic pipeline management."
    }
  ],
  "endpoints": {
    "signup": {
      "url": "https://kaicalls.com/api/v1/signup",
      "method": "POST",
      "description": "Create account, get API key, phone number, and AI agent in one call. Supports x402 crypto payments.",
      "contentType": "application/json",
      "body": {
        "business_name": {
          "type": "string",
          "required": true
        },
        "email": {
          "type": "string",
          "required": true
        },
        "business_type": {
          "type": "string",
          "required": false
        },
        "website": {
          "type": "string",
          "required": false
        },
        "phone_forward_to": {
          "type": "string",
          "required": false
        }
      },
      "returns": {
        "api_key": "string",
        "business_id": "string",
        "agent_id": "string",
        "phone_number": "string",
        "dashboard_url": "string",
        "trial_ends_at": "string"
      }
    },
    "sdr_pipeline": {
      "url": "https://kaicalls.com/api/sdr/pipeline",
      "method": "GET",
      "description": "List leads in the SDR pipeline with segment, score, touch count, and next action. Pass ?businessId=<uuid>. Optional: &segment=<segment>, &limit=<n> (default 100). Segments include: speed_to_lead, fresh_demo_caller, warm_demo_caller, cooling_demo, new_trial_stuck, trial_going_dark, trial_ending, contacted_no_reply, exhausted, churned_recent.",
      "authentication": "Bearer API key (sdr:read scope) OR user session",
      "scope": "sdr:read",
      "query": {
        "businessId": {
          "type": "string",
          "required": true
        },
        "segment": {
          "type": "string",
          "required": false
        },
        "limit": {
          "type": "integer",
          "required": false
        }
      },
      "returns": {
        "businessId": "string",
        "enabled": "boolean",
        "summary": {
          "total_leads": "integer",
          "actionable": "integer",
          "needs_manual": "integer"
        },
        "leads": "array of lead objects with segment, score, touch_count, next_action, paused"
      }
    },
    "sdr_action": {
      "url": "https://kaicalls.com/api/sdr/action",
      "method": "POST",
      "description": "Trigger a single SDR action on a lead. Actions: call, email, sms, skip, pause, resume. Enforces cadence rules (min_touch_gap_hours, max_touches) and records the touch in sdr_activity_log.",
      "authentication": "Bearer API key (sdr:write scope) OR user session",
      "scope": "sdr:write",
      "contentType": "application/json",
      "body": {
        "businessId": {
          "type": "string",
          "required": true
        },
        "leadId": {
          "type": "string",
          "required": true
        },
        "action": {
          "type": "string",
          "required": true,
          "enum": [
            "call",
            "email",
            "sms",
            "skip",
            "pause",
            "resume"
          ]
        }
      },
      "returns": {
        "success": "boolean",
        "action": "string",
        "leadId": "string",
        "detail": "string (optional, on success)",
        "error": "string (optional, on failure)",
        "nextAllowedAt": "string (ISO timestamp, if rate-limited by cadence)"
      }
    },
    "sdr_config": {
      "url": "https://kaicalls.com/api/sdr/config",
      "methods": [
        "GET",
        "PUT"
      ],
      "description": "Read or update per-business SDR configuration (enabled flag, cadence windows, auto-channel toggles, SDR agent ID for outbound calls, default email account).",
      "authentication": "Bearer API key (sdr:read for GET, sdr:write for PUT) OR user session",
      "scopes": {
        "GET": "sdr:read",
        "PUT": "sdr:write"
      },
      "getQuery": {
        "businessId": {
          "type": "string",
          "required": true
        }
      },
      "putBody": {
        "businessId": {
          "type": "string",
          "required": true
        },
        "enabled": {
          "type": "boolean",
          "required": false
        },
        "min_touch_gap_hours": {
          "type": "integer",
          "required": false
        },
        "max_touches": {
          "type": "integer",
          "required": false
        },
        "auto_call": {
          "type": "boolean",
          "required": false
        },
        "auto_email": {
          "type": "boolean",
          "required": false
        },
        "auto_sms": {
          "type": "boolean",
          "required": false
        },
        "sdr_agent_id": {
          "type": "string",
          "required": false
        },
        "business_hours_start": {
          "type": "integer",
          "required": false,
          "description": "0-23"
        },
        "business_hours_end": {
          "type": "integer",
          "required": false,
          "description": "0-23"
        },
        "email_from_account_id": {
          "type": "string",
          "required": false
        }
      }
    },
    "sdr_run": {
      "url": "https://kaicalls.com/api/sdr/run",
      "method": "POST",
      "description": "Manually trigger a full pipeline review + action dispatch for a business. Pass dryRun=true to preview actions without dispatching. Fails 400 if SDR is not enabled for the business.",
      "authentication": "Bearer API key (sdr:write scope) OR user session",
      "scope": "sdr:write",
      "contentType": "application/json",
      "body": {
        "businessId": {
          "type": "string",
          "required": true
        },
        "dryRun": {
          "type": "boolean",
          "required": false
        }
      },
      "returns": {
        "success": "boolean",
        "summary": {
          "calls_queued": "integer",
          "emails_queued": "integer",
          "sms_sent": "integer",
          "escalated": "integer",
          "failed": "integer"
        },
        "results": "array of dispatch results"
      }
    },
    "sdr_report": {
      "url": "https://kaicalls.com/api/sdr/report",
      "method": "GET",
      "description": "Aggregated SDR pipeline report: action counts, outcomes, hot leads, stale leads. Pass ?businessId=<uuid>. Optional: &period=today|week|month (default week).",
      "authentication": "Bearer API key (sdr:read scope) OR user session",
      "scope": "sdr:read",
      "query": {
        "businessId": {
          "type": "string",
          "required": true
        },
        "period": {
          "type": "string",
          "required": false,
          "enum": [
            "today",
            "week",
            "month"
          ]
        }
      }
    },
    "sdr_activity": {
      "url": "https://kaicalls.com/api/sdr/activity",
      "method": "GET",
      "description": "Recent SDR activity log entries. Pass ?businessId=<uuid>. Optional: &leadId=<uuid>, &limit=<n> (default 50, max 200).",
      "authentication": "Bearer API key (sdr:read scope) OR user session",
      "scope": "sdr:read",
      "query": {
        "businessId": {
          "type": "string",
          "required": true
        },
        "leadId": {
          "type": "string",
          "required": false
        },
        "limit": {
          "type": "integer",
          "required": false
        }
      }
    },
    "sdr_cron": {
      "url": "https://kaicalls.com/api/cron/sdr-pipeline",
      "method": "GET",
      "description": "Scheduled SDR pipeline runner (every 2h). Reviews + dispatches for every business with SDR enabled. Cron-secret protected; not callable by API key or session."
    }
  },
  "pricing": {
    "model": "subscription",
    "currency": "USD",
    "plans": [
      {
        "name": "Starter",
        "price": 69,
        "unit": "month",
        "minutes": 150
      },
      {
        "name": "Growth",
        "price": 149,
        "unit": "month",
        "minutes": 500
      },
      {
        "name": "Professional",
        "price": 299,
        "unit": "month",
        "minutes": 1500
      },
      {
        "name": "Business",
        "price": 499,
        "unit": "month",
        "minutes": 3000
      },
      {
        "name": "Enterprise",
        "price": 999,
        "unit": "month",
        "minutes": 5000
      }
    ],
    "trial": {
      "days": 30,
      "requiresPayment": false
    },
    "agentPricing": {
      "payPerCall": "$0.50/call",
      "description": "AI agents can opt for per-call pricing instead of a subscription."
    }
  },
  "payment": {
    "x402": {
      "enabled": true,
      "network": "eip155:8453",
      "asset": "USDC",
      "description": "x402 HTTP 402 payment protocol for machine-to-machine payments. Send request without payment header, receive 402 with requirements, retry with signed payment."
    },
    "stripe": {
      "enabled": true,
      "description": "Standard card/subscription payments via Stripe."
    }
  }
}