Skip to main content

Official KaiCalls SDK — give your AI agent a phone. Outbound calls, agents, leads, SMS, transcripts, and webhooks.

Project description

kaicalls

Official Python SDK for the KaiCalls API — give your AI agent a phone. Outbound calls, agents, leads, SMS, transcripts, webhooks, and platform APIs.

Install

pip install kaicalls

Quick start

from kaicalls import KaiCalls

kai = KaiCalls(api_key="kc_live_...")

# Make an outbound call — the agent auto-enriches with CRM context
call = kai.calls.create(
    agent_id="uuid-abc123",
    to="+15125551234",
    name="John Smith",
    context="Following up on his kitchen remodel inquiry",
)

# Block until the call finishes, then read the AI summary
result = kai.calls.wait(call.id)
print(result.summary)

Responses support attribute access (call.id, result.summary, call.quality_dimensions.empathy) and behave like dicts.

No account yet? Sign up via the API

from kaicalls import KaiCalls, signup

account = signup(
    business_name="Smith Law Firm",
    email="contact@smithlaw.com",
    plan_id="starter",
)
# account.api_key works immediately; send the owner to account.checkout_url
kai = KaiCalls(api_key=account.api_key)

What's wrapped

Resource Methods
kai.calls create, get, list, wait
kai.recordings get
kai.agents list, get, create, update, versions
kai.leads list, get, create, update, audit
kai.sms send, update_prompt, conversations, messages
kai.transcripts list
kai.phone_numbers list, available, assign, release
kai.workspaces list, get, create, update (lifecycle actions)
kai.webhooks list, create, delete, test, rotate_secret
kai.analytics dashboard, calls, funnel, agents, weekly, businesses
kai.evals create, list, get, update, delete, run, get_run
kai.events list, deliveries, replay, backfill
kai.communication_runs validate, preview, create, list, pause, cancel, jobs, attempts
kai.discovery capabilities, openapi, schemas, health
kai.account balance, usage

Anything not wrapped yet is reachable through the escape hatch:

kai.request("GET", "/api/sdr/pipeline", query={"businessId": "uuid-biz"})

Errors

All non-2xx responses raise KaiCallsError with .status, .code (e.g. unauthorized, forbidden, rate_limited), and .body.

from kaicalls import KaiCallsError

try:
    kai.calls.create(agent_id=agent_id, to=to)
except KaiCallsError as err:
    if err.code == "rate_limited":
        ...  # back off and retry

Notes

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kaicalls-0.1.0.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kaicalls-0.1.0-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file kaicalls-0.1.0.tar.gz.

File metadata

  • Download URL: kaicalls-0.1.0.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kaicalls-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1333b6270c2437af912f2bc7e7c1c2c5d5c2caef4931ada9f91df9dd81591c5a
MD5 3c8f2030e4f750bb96a989c404018723
BLAKE2b-256 dbca9c90f63c42f888ecbcebaf5026cb7e89b1b911848f6d1ac5af1dd5ecd4e4

See more details on using hashes here.

File details

Details for the file kaicalls-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: kaicalls-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kaicalls-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 58d3aebbf92ae18f87bab7e0f36d0ef2ea3c9316d2bfc3715c603e4d22b769ce
MD5 3cf5312c828675e5ccabaea0bc736999
BLAKE2b-256 d71e27c353c9a028a7a0e28dee0a81590c02b2c1af1a38101eb6bd3a220fe85c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page