计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
kallyai【效率与协作】Make phone calls via KallyAI API - an AI phone assistant that calls businesses on your behalf. Use when users want to make restaurant reservations, schedule appointments, or inquire at businesses by phone.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
KallyAI is an AI phone assistant that makes calls to businesses on behalf of users.
When a user asks to make a call:
Collect from user:
Use the CLI OAuth flow:
https://api.kallyai.com/v1/auth/cli?redirect_uri=http://localhost:8976/callback
This opens a login page. After authentication, the user is redirected to the localhost callback with tokens:
http://localhost:8976/callback?access_token=<token>&refresh_token=<refresh>&expires_in=3600
Start a local HTTP server to capture the callback and extract the tokens.
Once authenticated, call the API:
POST https://api.kallyai.com/v1/calls
Authorization: Bearer <access_token>
Content-Type: application/json
{
"submission": {
"task_category": "general",
"task_description": "Ask about store hours and availability",
"respondent_phone": "+15551234567",
"language": "en",
"call_language": "en"
},
"timezone": "America/New_York"
}
Response contains:
{
"call_id": "uuid",
"status": "success",
"highlights": "They have iPhone 15 for €800, good condition",
"next_steps": "Call back to arrange pickup"
}
Status values: success, no_answer, busy, failed, voicemail, cancelled
kallyai -p "+15551234567" -t "Reserve a table for 4 at 8pm" \
--category restaurant \
--name "John Smith" \
--party-size 4 \
--date "2026-01-28" \
--time "20:00"
| Option | Short | Description |
|---|---|---|
--phone | -p | Phone number (E.164 format) |
--task | -t | What the AI should accomplish |
--category | -c | restaurant, clinic, hotel, general |
--language | -l | en or es |
--name | Your name (for reservations) | |
--business | Business name | |
--party-size | Party size (restaurants) | |
--date | YYYY-MM-DD | |
--time | HH:MM (24-hour) |
kallyai --usage # Show minutes/calls remaining
kallyai --subscription # Show subscription status
kallyai --billing # Open Stripe billing portal
kallyai --history # List recent calls
kallyai --call-info <ID> # Get call details
kallyai --transcript <ID> # Get conversation transcript
kallyai --login # Force re-authentication
kallyai --logout # Clear saved credentials
kallyai --auth-status # Check if logged in
Base URL: https://api.kallyai.com
CLI OAuth URL: https://api.kallyai.com/v1/auth/cli?redirect_uri=http://localhost:8976/callback
Required fields for calls:
| Field | Description |
|---|---|
task_category | restaurant, clinic, hotel, general |
task_description | What AI should accomplish |
respondent_phone | Phone number in E.164 format (+1234567890) |
Optional fields:
| Field | Description |
|---|---|
business_name | Name of business |
user_name | Name for reservation |
appointment_date | YYYY-MM-DD |
appointment_time | HH:MM (24-hour) |
party_size | Number of people (1-50) |
language | en or es |
call_language | en or es |
Restaurant reservation:
{
"submission": {
"task_category": "restaurant",
"task_description": "Reserve table for 4 at 8pm",
"respondent_phone": "+14155551234",
"business_name": "Italian Bistro",
"user_name": "John Smith",
"party_size": 4,
"appointment_date": "2026-01-28",
"appointment_time": "20:00"
},
"timezone": "America/New_York"
}
Medical appointment:
{
"submission": {
"task_category": "clinic",
"task_description": "Schedule dental checkup",
"respondent_phone": "+14155551234",
"user_name": "Jane Doe",
"time_preference_text": "morning before 11am"
},
"timezone": "America/New_York"
}
| Code | HTTP | Action |
|---|---|---|
quota_exceeded | 402 | User needs to upgrade at kallyai.com/pricing |
missing_phone_number | 422 | Ask user for phone number |
emergency_number | 422 | Cannot call 911/emergency services |
country_restriction | 403 | Country not supported |
~/.kallyai_token.json with 0600 permissions