Typed clients. Same calls, every language.
Node, Python, Go or plain REST. Create a call, follow its events and verify webhooks with the same method names everywhere.
Early access · preview clientsmain.ts · create a call and follow it
import VoiFlow from "voiflow";
const vf = new VoiFlow({ apiKey: process.env.VOIFLOW_KEY });
const call = await vf.calls.create({
agent: "front-desk",
to: "+971501234567",
goal: "Confirm the Saturday viewing",
});
for await (const event of vf.events.stream({ call: call.id })) {
console.log(event.type, event.data);
if (event.type === "call.completed") break;
}Output
call.created
call.answered agent=front-desk
call.completed outcome=confirmed
What the Node client handles
Everything around the request, done for you.
Typed models
Every request and response is typed in TypeScript, so a wrong field fails in your editor.
Retries and idempotency keys
Safe retries with backoff, and an idempotency key attached to every create.
Webhook verification
One call checks the signature and the five-minute replay window.
Streaming events
An async iterator that reconnects and resumes where it stopped.
Request API access Read the docs
Packages are shared with approved builders during early access. Apply and we will send install instructions with your keys.
Call it now · Malaysia line+60 3 2774 4929
Hear what you are about to build.
Call the live agent, then put your first request through. The same agent answers both.

