Documentation

Quick start

Place your first call in under five minutes.

Allomi gives you an AI phone assistant with a real number. You can talk to it from the web app, or give it to your own software and agents through the API, the SDK, the CLI or MCP.

1. Create an account

Sign up at allomi.ai with your mobile number (you receive an SMS code) or an email magic link. Pick a name and a voice for your assistant. It calls you within a minute, from a shared demo number, so you hear it before doing anything else.

The cloud plans come with a 7-day trial (card required). Self-hosting is free: see Self-hosting.

2. Create an API key

Open Connectors and API in the app and create a key. It looks like alm_live_… (real calls) or alm_test_…. The full key is shown once: store it as a secret.

export ALLOMI_API_KEY="alm_live_…"

Keys carry scopes (for example calls:write, calls:read, contacts:read). Give each integration only what it needs.

3. Place a call

With curl:

curl https://api.allomi.ai/v1/calls \
  -H "Authorization: Bearer $ALLOMI_API_KEY" \
  -H "Idempotency-Key: 6f1c2b8e-2d3a-4b5c-9e8f-7a6b5c4d3e2f" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+33199000001",
    "prompt": "Book a table for 4 tonight at 8pm, ask for a quiet spot.",
    "language": "en",
    "maxMinutes": 5
  }'

With the TypeScript SDK:

import { Allomi } from "allomi";

const allomi = new Allomi({ apiKey: process.env.ALLOMI_API_KEY });
const call = await allomi.calls.create({
  to: "+33199000001",
  prompt: "Book a table for 4 tonight at 8pm, ask for a quiet spot.",
  language: "en",
  maxMinutes: 5,
});
console.log(call.id, call.status); // queued

The call starts queued, then goes through ringing, in_progress and ends as completed, no_answer, busy, failed or canceled.

4. Get the result

Either poll the call, or receive a webhook when it ends:

const done = await allomi.calls.get(call.id);
console.log(done.status, done.summary);

Webhooks are better for production: see Webhooks.

Next steps