- Los servicios de respuesta tradicionales no pueden responder a las preguntas sobre tu empresa; solo reciben mensajes y tú pagas una prima por ello
- La mayoría de los servicios de respuesta de IA no están diseñados para rotar los horarios de guardia, razón por la cual muchas empresas de servicios domésticos se quedan con centros de llamadas humanos
- Con una recepcionista basada en inteligencia artificial, Zapier y una hoja de cálculo de Google, puedes automatizar todo el flujo de trabajo de despacho de emergencia fuera del horario laboral en una tarde
La mayoría de los servicios de respuesta de IA funcionan de la misma manera después de cada llamada: envían un correo electrónico, un mensaje de texto o una llamada a la misma persona o grupo de personas. Esto funciona para muchas empresas, pero no para las empresas de servicios domésticos con horarios de guardia rotativos.
Si diriges una empresa de fontanería, climatización, puertas de garaje o electricidad, tu flujo de trabajo fuera del horario laboral tiene requisitos específicos para los que la mayoría de los recepcionistas de IA estándar no están diseñados. Necesitas el sistema para determinar si una llamada es realmente una emergencia y, a continuación, comprobar un horario de guardia rotativo y enviar un mensaje de texto al técnico adecuado, y no solo a la misma persona cada vez.
Esta es una de las principales razones por las que muchas empresas de servicios domiciliarios siguen utilizando los servicios tradicionales de respuesta humana con los que no están satisfechas. Esos centros de llamadas atienden a docenas de empresas simultáneamente. No pueden responder a las preguntas sobre tus precios, tu área de servicio o el equipo con el que trabajas. Si la persona que llama pregunta algo más que lo básico, la operadora recibe un mensaje. Y estás pagando una prima por ello.
Trabajo en Primero y he ayudado a muchas empresas de servicios domésticos a configurar este flujo de trabajo exacto. Voy a explicar cómo hacerlo paso a paso. No es necesario que utilices Upfirst (cualquier servicio de contestador basado en inteligencia artificial con una integración con Zapier debería funcionar), pero lo usaré como ejemplo, ya que es para lo que he creado.
Esta es una guía detallada paso a paso para las personas que desean configurarlo por sí mismas. Si prefieres saltarte el bricolaje y dejar que lo configuremos por ti, ponte en contacto con nosotros y nos ocuparemos de ello.
Paso 1: configurar el flujo de llamadas de la recepcionista de IA
Lo primero que debe configurar es la forma en que su agente de IA gestiona las llamadas. Esta es la base sobre la que se basa todo lo demás.
Empieza con «¿Es una emergencia?»
Siempre recomiendo que el saludo pregunte por adelantado sobre las emergencias:
«Hola, gracias por llamar a All Pro HVAC. Soy la recepcionista fuera del horario de atención. ¿Es una emergencia?»
Esto importa más de lo que piensas. Cuando alguien llama fuera del horario de atención y escucha una voz de IA, su suposición por defecto es que solo va a recibir un mensaje. Al preguntar inmediatamente sobre las emergencias, estás indicando que la recepcionista está preparada para hacer algo. Cambia la dinámica de la llamada y evita que las personas con emergencias reales cuelguen.

Escriba el flujo de emergencia
En Upfirst, ve a Agente > Conocimiento y añada una entrada que escriba lo que debe hacer el agente cuando alguien confirme que se trata de una emergencia.

Dígale al agente:
«Si la persona que llama confirma que se trata de una emergencia, dígale que va a recopilar cierta información para enviarla a un técnico de guardia».
Este encuadre mantiene a las personas que llaman por teléfono. Están motivados para darte los detalles que necesitas (nombre, número de teléfono, dirección y descripción del problema) porque saben que se trata de una persona real.
Escriba el flujo que no es de emergencia
Agregue otra entrada de la base de conocimientos para casos que no sean de emergencia. He visto dos enfoques comunes aquí. Algunas compañías hacen que el agente envíe un mensaje de texto a la persona que llama con un enlace para programar la cita: «La mejor manera de cumplir con la agenda es reservar en línea; puedo enviarte un enlace por mensaje de texto ahora mismo». Otras hacen que el agente recopile la información y la pase a la recepción para que alguien haga un seguimiento durante el horario laboral.
Opcional: añada criterios de calificación
Algunas empresas solo envían técnicos de guardia bajo ciertas condiciones, por ejemplo, solo para las unidades a las que han prestado servicio en los últimos dos años. Si añades criterios como este, asegúrate de que el agente sepa cómo gestionar correctamente las respuestas descalificantes: «Solo podemos ofrecer envíos de emergencia a las unidades que hemos reparado recientemente, pero estaré encantado de recopilar tu información para que alguien pueda hacer un seguimiento a primera hora de la mañana».
Paso 2: Conéctate a Zapier
Una vez que su flujo de llamadas esté configurado, debe crear la automatización que dirija las llamadas de emergencia al técnico correcto. Para eso, utilizarás Zapier. Dirígete a Integraciones en Upfirst y conecta tu cuenta de Zapier.

Hay dos formas de activar el Zap y la que elijas afectará al resto de la configuración.
Opción A: utilice el disparador «Nueva llamada en Upfirst»
Esta es la opción más simplificada. Cuando utilizas el disparador Zapier nativo de Upfirst, puedes aprovechar el disparador incorporado de Upfirst Haga preguntas función para recopilar la información que necesita durante la llamada, como el nombre, el número de teléfono y la dirección de la persona que llama.

Las respuestas a estas preguntas se pasan a Zapier como campos personalizados, lo que significa que puedes saltarte por completo el paso de extracción de la IA. Los datos ya están estructurados.

Opción B: usa el disparador «Correo electrónico de Zapier»
Esta opción usa la notificación por correo electrónico que Upfirst envía después de cada llamada como desencadenante en lugar de la integración nativa. La ventaja aquí es que te permite anular fácilmente tu horario de guardia.
Esta es la razón por la que es importante: si alguna vez necesitas saltarte la automatización (por ejemplo, un técnico llama por enfermedad y quieres dirigir las emergencias a una persona específica de forma manual), puedes ir a Agente > Notificaciones en Upfirst, desactiva la dirección de correo electrónico que activa el Zap y coloca un correo electrónico y un número de teléfono diferentes. La automatización se detiene y se activa la anulación. Cuando las cosas vuelvan a la normalidad, devuélvala.

La desventaja de esta opción es que, dado que el desencadenante es un correo electrónico sin procesar en lugar de datos estructurados, necesitarás un paso de IA en Zapier para analizar la transcripción y extraer la información. Este es el mensaje que utilizo para ello:
Como propietario de una empresa de HVAC, ha recibido una transcripción de su servicio de atención fuera del horario de atención sobre un cliente que podría tener una emergencia. Sigue atentamente estas instrucciones detalladas:
- Confirme si la situación es una emergencia respondiendo «verdadero» solo si la transcripción indica explícitamente que es urgente.
- Verifica si el cliente es actualmente un cliente respondiendo «verdadero» solo si la transcripción lo indica claramente o si la persona que llama dice que no está segura.
- Extraiga el nombre de la persona que llama, si se proporciona.
- Extrae el número de teléfono de la persona que llama, si se proporciona.
- Extraiga la dirección de la persona que llama, si se proporciona.
- Proporcione un resumen conciso de la llamada, asegurándose de que no supere los 250 caracteres, con el formato adecuado para la comunicación por SMS.
Esta es la transcripción: [inserte el campo de transcripción]
Configure los campos de salida: Resumen, Emergencia (verdadero o falso), Cliente actual (verdadero o falso), Nombre de la persona que llama, Número de la persona que llama, y Dirección de la persona que llama.
[Imagen: captura de pantalla del paso de Zapier AI con los campos de salida configurados]
¿Qué opción elegir?
Si quieres la configuración más sencilla y no anticipas tener que anular tu horario de guardia con frecuencia, opta por la opción A. Si quieres tener la flexibilidad de desactivar rápidamente la automatización y desviar las llamadas manualmente cuando sea necesario, opta por la opción B. Siempre puedes empezar con una y cambiarla más tarde.
Paso 3: Añadir un filtro
Sea cual sea el disparador que elijas, el siguiente paso de tu Zap es un Filtrar. Como mínimo, compruebe: ¿esta llamada es una emergencia? En caso afirmativo, continúa. En caso negativo, deténgase.
Puedes agregar criterios adicionales, como continuar solo si la persona que llama es un cliente existente. Solo asegúrate de que, independientemente de lo que filtres, tu agente de IA esté haciendo preguntas durante la llamada (consulta el paso 1).

Paso 4: Configura tu horario de guardia en Google Sheets
Crea una hoja de cálculo de Google con dos pestañas o copiar esta plantilla.
Pestaña 1: Calendario actual
Tres columnas: Día, Fecha, y Tecnología. Cada fila representa un turno.

Tenga en cuenta que el domingo se divide en turnos de mañana y tarde. Es posible que su horario no necesite esto, pero la estructura lo respalda. Añada tantas semanas en el futuro como desee.
Pestaña 2: Información de contacto técnico
Asigna el nombre de cada técnico a su número de teléfono: los números deben estar en el formato 1XXXXXXXXXX — código de país, sin guiones, sin espacios, sin paréntesis.

Paso 5: El código que determina quién está de guardia
Esta es la razón por la que no puedes simplemente buscar la fecha de hoy en la hoja de cálculo: los turnos de guardia duran dos días naturales. Un técnico que empieza a las 16:30 del martes sigue de guardia a las 2:00 de la madrugada del miércoles. Si recibe una llamada a las 2 de la mañana del miércoles y buscas «miércoles», encontrarás a la persona equivocada.
Necesitas un fragmento de código que compruebe la hora de la llamada y determine qué turno de día está realmente activo. Esto se convierte en un Código de Zapier paso (elija JavaScript).
Este es el código:
// Input: UTC timestamp from answering serviceconst utcTimestamp = inputData.utc_timestamp;// Configuration: Your timezone offset from UTC// US Eastern: -5 (standard) or -4 (daylight saving)// US Central: -6 (standard) or -5 (daylight saving)// US Mountain: -7 (standard) or -6 (daylight saving)// US Pacific: -8 (standard) or -7 (daylight saving)const TIMEZONE_OFFSET_HOURS = -5;// Helpersfunction toLocalFromUTC(utcDate, offsetHours) { const localMs = utcDate.getTime() + (offsetHours * 60 * 60 * 1000); return new Date(localMs);}function addDays(date, delta) { const c = new Date(date); c.setTime(c.getTime() + (delta * 24 * 60 * 60 * 1000)); return c;}function fmtDateMMDDYY(date) { const m = String(date.getUTCMonth() + 1).padStart(2, "0"); const d = String(date.getUTCDate()).padStart(2, "0"); const y = String(date.getUTCFullYear()).slice(-2); return `${m}/${d}/${y}`;}// Parse inputconst utcDate = new Date(utcTimestamp);const localDate = toLocalFromUTC(utcDate, TIMEZONE_OFFSET_HOURS);const localHours = localDate.getUTCHours();const localMinutes = localDate.getUTCMinutes();const minutes = (localHours * 60) + localMinutes;const weekday = localDate.getUTCDay(); // 0=Sun, 1=Mon, ..., 6=Sat// Shift boundaries (in minutes from midnight)const SUN_AM_START = 7 * 60 + 30; // 7:30 AMconst SUN_AM_END = 14 * 60; // 2:00 PMconst SUN_PM_START = 14 * 60; // 2:00 PMconst WEEKDAY_END = 7 * 60 + 30; // 7:30 AMconst WEEKDAY_START = 16 * 60 + 30; // 4:30 PM// Determine shiftlet day = "";let lookupDate = null;let oncallActive = false;if (weekday === 0) { if (minutes < SUN_AM_START) { oncallActive = true; day = "Saturday"; lookupDate = addDays(localDate, -1); } else if (minutes >= SUN_AM_START && minutes < SUN_AM_END) { oncallActive = true; day = "Sunday AM"; lookupDate = localDate; } else if (minutes >= SUN_PM_START) { oncallActive = true; day = "Sunday PM"; lookupDate = localDate; }} else if (weekday >= 1 && weekday <= 6) { if (minutes < WEEKDAY_END) { oncallActive = true; const days = ["Sunday PM","Monday","Tuesday","Wednesday", "Thursday","Friday"]; day = days[weekday - 1]; lookupDate = addDays(localDate, -1); } else if (minutes >= WEEKDAY_START) { oncallActive = true; const days = [null,"Monday","Tuesday","Wednesday", "Thursday","Friday","Saturday"]; day = days[weekday]; lookupDate = localDate; }}return { day: day, date: lookupDate ? fmtDateMMDDYY(lookupDate) : "", oncall_active: oncallActive, local_time: `${String(localHours).padStart(2,"0")}:${String(localMinutes).padStart(2,"0")}`, note: oncallActive ? "On-call shift active" : "Outside on-call hours"};El código genera el etiqueta de día (p. ej., «martes») y el cita (p. ej., «27-01-26») para buscarlo en tu hoja de cálculo, además de un indicador que indica si la llamada se realiza dentro del horario de guardia.

Si no codificas, no te estreses. Pegue el código anterior en ChatGPT junto con un mensaje como este:
Estoy configurando una automatización de Zapier que comprueba el horario de guardia de mi empresa [de fontanería/HVAC/etc.]. El siguiente código determina qué turno de guardia está activo en función del momento en que se recibe una llamada. Necesito ajustarlo a mi horario. Mis turnos de guardia van desde [tu hora de inicio] hasta [tu hora de finalización] de lunes a viernes y los fines de semana [describe tu horario de fin de semana]. Mi zona horaria es [tu zona horaria]. ¿Puedes modificar el código para que coincida?
ChatGPT ajustará los límites de los turnos y la compensación de la zona horaria por ti.
Paso 6: Busca al técnico y envía el mensaje
Tras el paso del código, añade dos pasos más a tu Zap:
Busca en tu hoja de cálculo de Google (pestaña 1) para una fila donde Día la columna coincide con día salida y el Fecha la columna coincide con cita salida. Esto devuelve el nombre del técnico.
Busca en tu hoja de cálculo de Google (pestaña 2) para una fila donde Tecnología la columna coincide con el nombre del paso anterior. Esto devuelve su número de teléfono.
Enviar un SMS usando la acción SMS integrada de Zapier (o Twilio, o lo que prefieras). El cuerpo del mensaje usa el resumen anterior. Se verá algo así como:
La llamada de emergencia de John Smith al 123 de Oak St. Furnace dejó de funcionar, no había calefacción en la casa. Teléfono del cliente: (555) 555-0147.

Si esto parece mucho
Hay algunas piezas móviles, pero una vez que está configurada, funciona por sí sola. La pregunta más común que recibo es sobre cómo ajustar el código para diferentes horarios de turnos, y ChatGPT lo maneja bien. La estructura de la hoja de cálculo es lo suficientemente flexible como para adaptarse a la mayoría de los patrones de rotación que he visto, desde configuraciones sencillas con un solo técnico por noche hasta divisiones entre la mañana y la tarde.
Si prefieres no configurarlo tú mismo, hacemos esto para nuestros clientes en Upfirst. Pero todo lo que necesitas para hacerlo por tu cuenta está en esta publicación.
Alfredo Salkeld is one of the founding members of the Upfirst team. Prior to Upfirst, Alfredo ran a small home services businesses. He also led marketing at SimpleTexting, a texting platform for small businesses.


