Guides
Step-by-step recipes for the integrations developers ask for most.
Browser Calling with WebRTCYour server mints a 5-minute HS256 SIP token via POST /v1/sip/token and hands it to the browser SDK. The SDK connects to the SIP gateway and places or receives calls attributed to your KES wallet.Build a Call Center with ConferencesBuild a call center queue with the Conference verb. Place callers in a named room, join agents via a separate leg, control mute/unmute via status events, and record the full session.Build a Voice IVRUse the GetDigits, Say, and Dial voice actions to build a multi-level IVR menu. Callers press digits to route themselves; your server reads the posted Digits field and returns the next action set.Claim and Route a NumberBrowse available Kenyan DIDs, claim one to your workspace with a single API call, configure voice_callback_url and events_url routing, then verify inbound call delivery with a test webhook handler.Connect a Grandstream Phone to a Kenyan NumberPut sip.sautikit.com:5080 in the Grandstream SIP Server field, your generated username in SIP User ID and SIP Authentication ID, the password, and set SIP Transport to UDP.Connect a Yeastar P-Series PBX to a Kenyan NumberIn Yeastar, add a Register Trunk with Transport UDP, Hostname/IP sip.sautikit.com, Port 5080, Domain sip.sautikit.com, and your generated username and password.Connect your AI to Sautikit over MCPSetup for the hosted MCP server: sign in from claude.ai or connect an editor with an API key, scoping guidance for agents, money-tool confirmations, and the tool reference.Forward Calls and Fall Back to VoicemailRing one or more destinations — sequentially or in parallel, first answer wins — with an optional voicemail fallback, or skip straight to voicemail. The same blocks also route an AI agent handover.Quickstart: Place a CallFive steps from zero to a live outbound call on Sautikit. Sign up, add KES credit, claim a Kenyan DID, POST to /v1/calls, and verify the signed webhook payload.Record and Stream to S3Use the Record voice action or Dial record attribute to capture call audio. The platform stores recordings in object storage and returns a presigned URL. Stream or copy the file to your own S3.Route Inbound Calls to a Browser ClientAn inbound voice callback dials client:<name> to ring one browser agent. The dialled name must be the exact clientName the browser registered under and online, or the leg fails instantly.Route Inbound Calls to an AI AgentBind a published AI agent to answer inbound calls on a number (always or after-hours), respond to the CallHandover callback when the agent hands back to a human, and chain specialist agents.Run a Dialer Campaign from the APIFive calls take a list of numbers to a running campaign. SautiKit dials at the rate you set, posts to your callback when a contact answers, and reports every result through webhooks.Supervise live calls: listen, whisper, bargeOne supervisor per call, three modes, switched through the API. Start from your server with @sautikit/node, answer in the browser with @sautikit/webrtc, and follow it with call.supervision.* webhooks.Use a Sautikit Number as a SIP Trunk for Your PBXAny PBX that supports register-based SIP trunks can use a Sautikit number as its line: server sip.sautikit.com, port 5080, UDP, and a generated username and password.Use MicroSIP with a Kenyan NumberIn MicroSIP's Add Account, set SIP server to sip.sautikit.com:5080, Domain to sip.sautikit.com, Username and Login to your generated username, the password, and Transport UDP.Use Zoiper with a Kenyan NumberIn Zoiper, add a SIP account by manual configuration with hostname sip.sautikit.com:5080, your generated username and password, and UDP. The :5080 is required.Verify Webhook SignaturesSautikit signs every webhook delivery with HMAC-SHA256. The signature header format is t=<timestamp>,v1=<hex>. Verify using raw body bytes concatenated with a dot and the timestamp.