Skip to content

sipgate flowReal-time voice AI API & SDK

Connect phone calls to your own AI voice agents. GDPR-compliant, EU-hosted, made in Germany.

What is sipgate flow?

sipgate flow is a real-time voice AI API and TypeScript SDK for connecting phone calls to your own AI voice agents. It handles the telephony, speech-to-text, and text-to-speech, so you keep full control over your conversation logic and your choice of LLM. sipgate flow is GDPR-compliant, EU-hosted, and operated by sipgate in Germany — a European alternative to US-based voice AI platforms.

Whether you're building customer service bots, IVR systems, giving an existing chatbot a voice, or any interactive voice application, the API works with any programming language using HTTP webhooks or WebSocket.

New here? Start with the API Quick Start, the TypeScript SDK, or browse the FAQ.

For All Languages

The API uses plain JSON over HTTP/WebSocket - no SDK required. Examples are provided in Python, Node.js, Go, Ruby, and more.

TypeScript SDK Available

If you're using TypeScript, we also provide a convenient SDK that wraps the API for easier development.

Key Features

  • Event-Driven Architecture - Respond to user speech, barge-ins, and session events
  • Multiple TTS Providers - Support for Azure Cognitive Services and ElevenLabs
  • Flexible Actions - Speak, play audio, transfer calls, and more
  • TypeScript First - Full type safety with comprehensive type definitions
  • Easy Integration - Express.js middleware and WebSocket support out of the box
  • Production Ready - Built for scale with proper error handling and validation

Quick Example (Any Language)

Python:

python
@app.route('/webhook', methods=['POST'])
def webhook():
    event = request.json
    if event['type'] == 'user_speak':
        return jsonify({
            'type': 'speak',
            'session_id': event['session']['id'],
            'text': f"You said: {event['text']}"
        })
    return '', 204

Node.js:

javascript
app.post('/webhook', (req, res) => {
  const event = req.body;
  if (event.type === 'user_speak') {
    return res.json({
      type: 'speak',
      session_id: event.session.id,
      text: `You said: ${event.text}`
    });
  }
  res.status(204).send();
});

Or use our TypeScript SDK:

typescript
import { AiFlowAssistant } from "@sipgate/ai-flow-sdk";
const assistant = AiFlowAssistant.create({
  onUserSpeak: async (event) => {
    return `You said: ${event.text}`;
  },
});
app.post("/webhook", assistant.express());
Ready to get started? Check out our API Quick Start Guide for language-agnostic examples, or use our TypeScript SDK for convenience.

For AI-Assisted Development

Using Claude Code, ChatGPT, Cursor, or other AI coding assistants? We publish two auto-generated, always-up-to-date files following the llms.txt spec:

  • /llms.txt — short index, auto-discovered by AI tooling.
  • /llms-full.txt — full documentation corpus in a single file, ideal for pasting into an LLM context.

Getting Help