Bouw wat je wilt. Op jouw voorwaarden.

Een volledige REST API voor voice. Maak agents aan, provision nummers, stream transcripten, ontvang webhooks. Eén key, één base URL, alles wat je nodig hebt om live te gaan.

Latency< 75ms
Talen12
Uptime SLA99.9%
POST/v1/agents
Live
Authorization: Bearer sk-live-••••
Request body
{ "name": "Support Agent", "language": "nl-NL", "voice": "luna", "tools": ["lookup", "transfer"], "recording": true }
Response✓ 201 Created
{ "id": "agt_a8f3k2", "status": "active" }
api.staffifyai.com ✓ Verbonden · < 75ms
02 / 05 Endpoints
01 / 04
Endpoint 01 · Agents

Zet een agent live. Eén POST call.

Definieer de persona, taal, stem en tools. De agent is live en bereikbaar zodra de response terugkomt.

Direct beschikbaar 12 stemmen Tool bindings
POST/v1/agents
Live
Authorization: Bearer sk-live-••••
Request body
{ "name": "Support Agent", "language": "en-US", "voice": "luna", "tools": ["lookup", "transfer"], "recording": true }
Response✓ 201 Created
{ "id": "agt_a8f3k2", "status": "active" }
Endpoint 02 · Calls

Elke call, volledig doorzoekbaar.

Haal elke afgeronde call op via id. Duur, transcript, gebruikte tools, signed recording URL, alles in één response.

Transcript per beurt Signed URLs Tool metadata
GET/v1/calls/call_7x2mb9
Live
Authorization: Bearer sk-live-••••
Response✓ 200 OK
{ "id": "call_7x2mb9", "duration": 142, "recording": "https://cdn/../call.mp3", "tools_called": ["lookup"], "transcript": [ { "role": "agent", "text": "Hi, how can I help?" }, { "role": "caller", "text": "Order status please" } ] }
Endpoint 03 · Numbers

Provision een nummer. Routeer binnen seconden.

Koop lokale of toll-free nummers in 50+ landen, koppel ze aan een agent, klaar. Porting mogelijk, geen lange formulieren.

50+ landen Lokaal · Toll-free Porting
POST/v1/numbers/provision
Live
Authorization: Bearer sk-live-••••
Request body
{ "country": "NL", "agent_id": "agt_a8f3k2", "type": "local" }
Response✓ 201 Created
{ "id": "num_29xkq4", "e164": "+31207009944", "routes_to": "agt_a8f3k2" }
Endpoint 04 · Webhooks

Elke call vuurt een signed event.

Wijs ons naar jouw URL, wij pushen elk event met een HMAC-SHA256 signature. Retries met exponential backoff, dead-letter queue inbegrepen.

HMAC signatures Auto-retry DLQ
EVENTcall.completed
Gevuurd
X-Staffify-Signature: sha256=e3b0c4••••
Event payload
// verifieer HMAC voordat je verwerkt { "event": "call.completed", "call_id": "call_7x2mb9", "from": "+31612345678", "duration": 142, "outcome": "resolved", "extraction": { "intent": "order_status", "order_id": "48219" } }
Scroll om verder te gaan
03 / 05 Mogelijkheden
01 / 04
Mogelijkheid 01

Transcripten per beurt, live gestreamd.

Elk woord van beide kanten, met tijdstempel en spreker-tag. Push updates via websocket, of haal het definitieve transcript op zodra de call eindigt.

Latency< 300ms
Accuraatheid96%
Live transcript · call_7x2mb9Streamen
AgentHoi, je spreekt met Luna van Support. Waar kan ik je mee helpen?00:02
BellerIk wil de status van bestelling 48219 checken.00:08
AgentÉén moment, ik zoek het even op.00:11
AgentJe bestelling is gisteren verzonden en komt donderdag aan.00:18
BellerPerfect, bedankt.00:23
Mogelijkheid 02

Signed recording URLs, direct af te spelen.

Elke call automatisch opgenomen in versleutelde opslag. Presigned links verlopen volgens jouw regels, stereo kanalen gesplitst per spreker, MP3 of WAV.

OpslagS3 · encrypted
BewaartermijnInstelbaar
Opname · call_7x2mb9.mp3Signed
https://cdn.staffifyai.com/rec/call_7x2mb9.mp3?exp=1h
00:47 / 02:22
Stereo · 44.1kHzMP3 · 2.1 MB
Mogelijkheid 03

Gestructureerde data uit ongestructureerde calls.

Definieer het schema, wij leveren getypte velden met confidence scores. Intents, entiteiten, uitkomsten, boekingsdetails, wat je nodig hebt om de volgende stap te routeren.

VeldenElk schema
ConfidencePer veld
Extractie · call_7x2mb9Klaar
intentorder_status98%
order_id4821999%
customer_idcus_a83k297%
outcomeresolved96%
sentimentpositive94%
follow_upnone92%
Mogelijkheid 04

Tools, aangeroepen tijdens het gesprek.

Koppel functies die jouw agent live kan aanroepen. Database lookups, CRM writes, warm transfers, agenda-boekingen, ze draaien tijdens de call, niet erna.

Timeout3s max
RetriesAuto
Tool calls · deze call3 gevuurd
lookup_order1.2s
{ order_id: "48219" } → shipped
get_tracking0.6s
{ order_id: "48219" } → TRK-9284X
log_resolution0.3s
{ outcome: "resolved" } → ok
Scroll om verder te gaan
04 / 05 Hoe het werkt
01 / 04
01
Stap éénSignature verifiëren

Er komt een call binnen. Wij POST-en naar jouw server.

Elke inkomende call vuurt een request naar jouw server_url met een HMAC-SHA256 signature. Verifieer die, gooi alles weg dat niet matcht.

MethodePOST
Signed metHMAC-SHA256
Nodehandler.js
Live
import crypto from 'crypto' app.post('/staffify', (req, res) => { const sig = req.headers['x-staffify-signature'] const mac = crypto.createHmac('sha256', SECRET) .update(req.rawBody).digest('hex') if (!crypto.timingSafeEqual( Buffer.from(sig), Buffer.from(`sha256=${mac}`) )) return res.status(401).end() })
x-staffify-signature✓ verified
02
Stap tweeConfig teruggeven

Jouw server reageert met de agent-config.

Stuur system_prompt, voice, tools en eventuele per-beller variabelen terug. Andere config per nummer, per beller, per tijd van de dag, jouw keuze.

Response200 OK
BodyJSON
Nodehandler.js
Live
res.json({ system_prompt: `You are ${agent.name}, help the caller with...`, voice: 'luna', language: 'en-US', tools: ['lookup_order', 'transfer'], recording: true, variables: { customer_name: user.name, tier: user.tier } })
Content-Type: application/json200 OK
03
Stap drieCustom logica

Zoek de beller op. Personaliseer direct.

Query jouw database, check jouw CRM, raadpleeg een feature flag. Wat jouw business nodig heeft, gebeurt in jouw code, in jouw infrastructuur, voordat de agent zelfs hallo zegt.

RuntimeJouw eigen
Data blijftAan jouw kant
Nodehandler.js
Live
const { from, agent_id } = req.body // zoek beller op in jouw DB const user = await db.users.findByPhone(from) const agent = await db.agents.findById(agent_id) // kies prompt op basis van tier en tijd van de dag const prompt = user.tier === 'vip' ? prompts.vip(user) : prompts.standard(user)
jouw database · jouw CRM0 vendor lock-in
04
Stap vierReageer binnen 5s

Stuur het terug. De agent neemt op.

Je hebt < 5s om te reageren. Stuur 200 OK met de config, en de call komt tot stand. End to end, sub-seconde vanaf het eerste woord van de beller.

Deadline5s
Time to speech< 900ms
HTTPPOST → your_webhook
Live
// timing-budget voor één call Staffify POST-t jouw server 0.02s HMAC verifiëren 0.01s DB lookup + CRM check 0.35s Prompt + config bouwen 0.05s Reageer 200 OK 0.01s Agent komt binnen, eerste woord 0.42s ───── totaal 0.86s
POST /calls → 200 OK< 900ms end to end
Scroll om verder te gaan
05 / 05 Toepassingen
01 / 04
Toepassing 01Klantenservice

Elke call beantwoord. Elke keer.

Nul wachttijd, nul gemiste calls. Eerstelijns oplossing voor facturen, bestellingen en accountvragen. Escaleer naar een mens alleen wanneer de beller er echt één nodig heeft.

24/7 bereikbaar zonder extra headcount
CRM lookup tijdens de call, persoonlijke antwoorden
Warm transfer met volledige context-overdracht
Live wachtrij · Support-lijn4 actief
+31 6 12 34 56 78Bestelstatus · agt_a8f3k2
00:47Live
+44 20 7946 0001Factuurvraag · agt_a8f3k2
01:12Live
+1 415 555 0192Wachtwoord reset · agt_a8f3k2
00:22Live
+49 30 12345678Verzending · opgelost
02:04Klaar
+33 1 42 68 53 00Restitutie · doorgezet
03:41Mens
Toepassing 02Afspraken boeken

Boekt zichzelf. Direct in jouw agenda.

De agent leest jouw live beschikbaarheid, biedt echte slots aan, bevestigt, en schrijft de boeking terug. Google, Outlook of je eigen scheduler, welke je ook gebruikt.

Live free/busy uit jouw calendar API
SMS + email bevestiging, calendar invite bijgevoegd
Automatisch verzetten en annuleren
Beschikbaarheid · Do, 8 augBoeken
Donderdag, 8 augustus
09:00bezet
09:3030 min
10:00bezet
10:3030 min
11:0030 min
11:30boeken
14:0030 min
14:3030 min
Bevestigd · 11:30SMS + invite verstuurd
Toepassing 03Lead-kwalificatie

Scheid de misschiens van de zekere jaas.

De agent doorloopt jouw BANT of MEDDIC framework in een echt gesprek. Scoort de lead, routeert hete leads direct naar sales. Koude leads krijgen een nurture-flow, worden niet vergeten.

Custom scoring per campagne
Hot leads binnen seconden naar de AE
CRM verrijkt, geen handmatige data-entry
Lead scorecard · net gekwalificeerdHot
Sophie Verhagen · Meridian BV+31 6 51 22 90 04 · call 02:34
87HOT
Budget€ 40k bevestigd
AutoriteitBeslisser
BehoefteLegacy leverancier vervangen
TermijnDit kwartaal
Wordt doorgezet naar AE · Marcus de Wit
Toepassing 04IVR-vervanging

Geen 'toets 1 voor…' meer.

Bellers zeggen wat ze nodig hebben, in hun eigen woorden. De agent routeert, lost op, of zet door. Geen menu, geen frustratie, gemiddelde afhandeltijd zakt met 40%.

Natuurlijke taal routing, geen menu's
Barge-in ondersteund, bellers kunnen onderbreken
Fallback naar mens, binnen kantooruren of 24/7
Router · intent van bellerMatch
Hoi, bedankt voor je call naar Meridian. Waar kan ik je vandaag mee helpen?
01
Bestelling of verzending checken
→ orders
02
Facturatie of factuurvraag
→ billing
03
Sales spreken
→ sales
04
Iets anders
→ triage
Scroll om verder te gaan

Klaar om je Klantreis
te Transformeren

Zie hoe Staffify je klantreis afhandelt