Explorar la documentación

Crear un agente

Variables y datos de contacto

Un agente sabe con quién habla. Antes de cada llamada, CallShift busca el número entre los contactos del CRM y le pasa al agente los datos de ese contacto.

Campos del contacto en el prompt

Un contacto tiene un salutation, un firstName, un lastName, un email, un texto information y un objeto libre metadata. Los prompts los leen mediante variables, y {{contact.metadata.<key>}} lee cualquier clave de los metadatos, incluidas las rutas con puntos.

JSON
{
  "firstName": "Ada",
  "phoneNumber": "+33612345678",
  "metadata": { "plan": "pro", "renewal": { "date": "2026-11-15" } }
}
Prompt
The customer is on the {{contact.metadata.plan}} plan,
which renews on {{contact.metadata.renewal.date}}.

Usa metadata o information: cuando metadata está definido, tiene prioridad. Los metadatos del contacto también llegan en el webhook de fin de llamada.

Las erratas no dan error

Una variable que no se resuelve se convierte en una cadena vacía, sin que salte ningún error. Comprueba cada variable nueva en una llamada de prueba.

Fecha y hora

CallShift añade a cada prompt la fecha de hoy, la de mañana y la hora actual, en la zona horaria de la cuenta (ajustes de la cuenta, Europe/Paris por defecto). No las incluyas en tus prompts. {{now}}, {{today}}, {{tomorrow}} y {{timezone}} existen por si las necesitas en una frase.

Llamadas entrantes

A quien llama se le identifica por su número, igual que en una campaña, y el prompt debe referenciar contact.* para que se haga la búsqueda. Para darle al agente datos actualizados antes de que alguien llame, actualiza antes el contacto con PATCH/v1/contact/{contactId}: su id llega en el webhook de fin de llamada como contact.id.