Un recepcionista que atiende
cada llamada

Un recepcionista con IA de código abierto para un pequeño negocio. Un Managed Agent de Cartesia atiende el teléfono. Un pequeño servidor en Python le da herramientas para reservar citas en Cal.com o en un calendario integrado, tomar mensajes y pasar la llamada a una persona.
Página de detalle de una llamada en modo claro: una llamada telefónica simulada desde +14155550123 marcada como Booked, medianas de latencia (voz a texto 178 ms, texto a voz 88 ms) y una transcripción que empieza con "I'm an AI assistant, and this call may be recorded", con las llamadas a las herramientas check_availability y book_appointment intercaladas

Captura de pantalla. La plantilla ejecutándose en local.

Modelos
ink-2, sonic-3.6
Idiomas
Inglés
Licencia
Apache-2.0
Stack
PythonFastAPIhtmxSQLiteuv
Productos de Cartesia
Managed AgentsInk 2Sonic 3.6Phone numbers

Qué hace

Cada llamada aparece en un panel con su transcripción, su grabación y la rapidez con que el agente respondió en cada turno. Puedes probarlo todo en el navegador solo con una clave de API de Cartesia. Cuando esté desplegado, puedes darle un número de teléfono.

Ejecútalo tú mismo

  1. Instala y crea el agente

    Ejecuta los comandos de abajo con Python 3.12 o posterior y uv. setup_agent.py crea el agente y sus cuatro herramientas.

    npx degit cartesia-ai/cookbook/examples/front-desk front-desk
    cd front-desk
    # put your key in CARTESIA_API_KEY
    cp .env.example .env
    uv sync
    # creates the agent and its tools, writes CARTESIA_AGENT_ID
    uv run scripts/setup_agent.py
    uv run uvicorn front_desk.main:app --port 8000
    

    Variables de entorno
    CARTESIA_API_KEY
    play.cartesia.ai/keys
    CARTESIA_AGENT_ID
    Lo escribe scripts/setup_agent.py
    BUSINESS_NAME
    Opcional, junto con los demás ajustes BUSINESS_. Por defecto, una peluquería de Los Ángeles
    PUBLIC_BASE_URL
    Para llamadas telefónicas. La dirección HTTPS pública del servidor
    DASHBOARD_PASSWORD
    Obligatoria una vez desplegado. Contraseña HTTP Basic del panel y de las rutas de llamadas
    UVICORN_HOST
    Opcional. La dirección en la que escucha uvicorn sin --host
    TRUST_PROXY
    Opcional. 1 detrás de un proxy como Render, Fly o Railway
    CALCOM_API_KEY
    Opcional, junto con CALCOM_EVENT_TYPE_ID. Reserva en Cal.com
  2. Llámalo desde el navegador

    Abre http://localhost:8000/try, pulsa Start call y pide una cita. Usa auriculares, o el agente se oirá a sí mismo.

  3. Ponlo en un número de teléfono

    Despliégalo en un host con HTTPS, define PUBLIC_BASE_URL y DASHBOARD_PASSWORD, y vuelve a ejecutar la configuración. Luego conecta al agente un número de Cartesia, un número de Twilio o una troncal SIP.

Créalo con tu agente de programación

Un prompt que le dice a tu agente de programación por dónde empezar y qué leer primero.

Prompt

Claude CodeCursorCodex

Build an AI phone receptionist on a Cartesia Managed Agent. Start from https://github.com/cartesia-ai/cookbook/tree/main/examples/front-desk and follow its AGENTS.md for the commands, files and rules. scripts/setup_agent.py creates the agent with POST /v1/agents and its tools with POST /v1/agents/tools. Without PUBLIC_BASE_URL the tools are client tools for browser calls; with it they become webhook tools and a call webhook is registered. The browser gets a 60 second access token with only the agent grant. Check x-webhook-secret in constant time, as front_desk/webhooks.py does. If I don't have a Cartesia API key yet, follow https://www.cartesia.ai/agent-quickstart.md to get one.

Cómo funciona

Quien llamaUna llamada desde el navegador en /try, o un número de teléfono
Ink 2Escucha a quien llama
LLMLlama a check_availability, book_appointment, take_message y transfer_call
Sonic 3.6Dice la respuesta
PanelLlamadas, transcripciones, grabaciones y latencia en SQLite

Por qué funciona así

Una sola lista de herramientas para llamadas por navegador y por teléfono

Las cuatro herramientas se definen una sola vez, en front_desk/tools.py. En tu portátil, la llamada del navegador pasa cada petición de herramienta a tu servidor. Cuando lo despliegas con una dirección pública, Cartesia llama directamente a tu servidor, tanto en llamadas telefónicas como de navegador.

Las peticiones de Cartesia llevan un secreto compartido

Cartesia devuelve en cada petición el secreto que registraste, en la cabecera x-webhook-secret. El servidor lo compara en tiempo constante, ignora los eventos de otro agente y omite los reintentos que ya procesó.

La latencia sale de los datos de la llamada

Cartesia guarda con cada llamada los tiempos por turno de la transcripción de voz, el LLM y la síntesis de voz. El panel los lee de ahí en lugar de medir nada por su cuenta.

Adáptalo a ti

Tu negocio

Define BUSINESS_NAME, BUSINESS_SERVICES, BUSINESS_TIMEZONE, BUSINESS_HOURS y APPOINTMENT_MINUTES, y vuelve a ejecutar la configuración.

Lo que dice el recepcionista

Edita front_desk/prompt.py y vuelve a ejecutar la configuración. Mantén en el saludo el aviso de que es una IA y de que la llamada se graba.

Otra herramienta

Añade una especificación y un método a front_desk/tools.py. La configuración crea la herramienta en Cartesia, y las dos rutas de herramientas la usan.

Preguntas

¿Puedo usar mi propio número de teléfono?

Sí. Importa un número de Twilio que ya tengas, conecta tu propio operador por SIP o usa un número gratuito de EE. UU. de Cartesia. Las transferencias a una persona solo funcionan en llamadas por Twilio o SIP.

¿Mi clave de API de Cartesia está segura cuando la gente llama desde el navegador?

Sí. La clave se queda en tu servidor. El navegador recibe un token que dura 60 segundos y solo sirve para llamadas a agentes.

¿Pueden otras personas ver mis llamadas cuando esté en línea?

No si defines DASHBOARD_PASSWORD. Entonces cada página del panel y cada grabación piden esa contraseña, y la app no arranca en una dirección pública sin ella.

¿Avisa a quien llama de que habla con una IA?

Sí. El saludo por defecto dice que quien llama está hablando con un asistente de IA y que la llamada puede grabarse.

¿Se graban las llamadas?

Sí. Cartesia graba por defecto el audio y la transcripción de cada llamada de agente, y el panel reproduce las grabaciones desde ahí. Tu servidor guarda los datos de las llamadas y las transcripciones, pero no el audio, y nada se borra hasta que tú lo borres.

¿Hay una guía paso a paso de esta plantilla?

Sí. La receta recorre el código, el README explica la instalación, las variables de entorno y el despliegue, y la documentación de herramientas de Managed Agents explica la parte de Cartesia.

Empieza hoy

Habla con un experto.

Habla con nuestro equipo y descubre cómo puede ayudarte Cartesia a crear experiencias de voz de primer nivel.

Contactar con ventas

Empieza a crear.

Accede a nuestros modelos mediante API y lleva un agente de voz a producción en minutos.

Probar Cartesia