Las ofertas en el CRM se muestran como tarjetas con información sobre el cliente, nombre de la oferta, descripción y monto.

Puede agregar otros campos si es necesario (ver fig. 8-12).
Botón "Crear una oferta"

La ventana Crear una oferta le permite configurar y guardar rápidamente una nueva oferta.

Complete el formulario para crear un cliente. Si el cliente existe, MaviBot le sugerirá seleccionarlo de la base de datos.

- Si no se encuentra al cliente, conecte un bot de WhatsApp o correo electrónico al proyecto.
- Envíe un mensaje al cliente a través del canal conectado; esto creará automáticamente su perfil.
- Seleccione la etapa del embudo donde debe colocarse la oferta.

Las variables de la oferta también se pueden agregar en el formulario modal:

A continuación, haga clic en "Crear" para agregar la oferta al sistema.
El botón "Agregar rápidamente"
Este botón también puede ayudar a agregar manualmente un nuevo cliente al CRM.

Haga clic en el botón para abrir una ventana donde puede ingresar los datos del cliente.

Fig. 26 Ventana de creación rápida de ofertas (Nota: Todos los datos son ficticios; cualquier parecido es pura coincidencia).
Por lo tanto, la oferta se creará en la etapa "Interesado".
¡Hecho!
Ahora ya sabe cómo crear ofertas.
Cómo crear una oferta desde el chatbot
Ejemplo de flujo del chatbot para crear una oferta mediante una función
Resumen del proceso:
- Cree un bloque de Inicio

- Cree dos bloques de botones.

- Vaya a la configuración de conexión, active la opción "El usuario ingresa datos" y especifique el nombre del servicio que ingresará el usuario.

- Luego, agregue la pregunta "¿Cuál es su nombre?" en un bloque blanco. Cree un nuevo bloque debajo y active "El usuario ingresa datos" en la configuración de su flecha.

La configuración "El usuario ingresa datos" con la variable name está activada en cada conexión que lleva al bloque "Ingrese su número de teléfono".
- Ahora, cree dos bloques — "Chat" y "Fallback" — desde el bloque "Ingrese su número de teléfono".

- Seleccione el tipo "Coincidencia RegEx" en la configuración de conexión.
- Active la configuración "El usuario ingresa datos".
- Ingrese el nombre de la variable:
phone.

Ahora, en el bloque Fallback, escriba el mensaje: "¡Esto es incorrecto! Intente de nuevo."
Esta configuración funcionará de la siguiente manera: si su cliente ingresa un número de teléfono incorrecto, recibirá el mensaje del bloque Fallback. El mensaje de Fallback se seguirá enviando hasta que el cliente ingrese un número de teléfono correcto.
- Luego, pregunte al cliente sobre su presupuesto y cree inmediatamente un nuevo bloque debajo.

- Active la configuración "El usuario ingresa datos" en la conexión e ingrese el nombre de la variable:
budget.

Active la casilla "El usuario ingresa datos" en la conexión y especifique la variable de teléfono client_name.
-
Puede cambiar el tipo del último bloque a "Leads" o usar la función
create_order.Aquí está la opción con el bloque rojo "Leads".

Ejemplo.

La función create_order(name, budget, description, client_name, phone, email, state_id) se utiliza para crear una oferta desde el chatbot en el CRM.
La oferta activa actual en el embudo, junto con las variables, estará disponible solo en las funciones de gestión de ofertas y CRM.
Para crear un cliente, se debe especificar la variable de teléfono o correo electrónico. Si se especifica el teléfono y no hay un cliente con ese teléfono en el proyecto, se creará uno nuevo.
Si se especifica la variable de correo electrónico sin la variable de teléfono, y no hay un cliente en el proyecto con esa dirección, se creará uno nuevo.
En el flujo, hemos recopilado los siguientes datos en etapas:
- Name - nombre de la oferta (en el ejemplo, Necesito un sitio web y Necesito una landing page);
- Budget — costo de la oferta, que se anunció en los bloques después de que el cliente seleccionó el tipo de sitio web;
- Phone — el número de teléfono del cliente
- Client_name — el nombre del cliente
Si necesita crear una oferta en un estado de transacción específico, pase el parámetro state_id.
¡Importante!
Si no pasa ningún parámetro, pase none en lugar del parámetro (como en la Fig. 36, donde se especifica none en lugar del parámetro email).
Dónde encontrar el id del estado (parámetro state_id)

ID de etapa:

Otras configuraciones
La barra de búsqueda es una búsqueda de ofertas por el nombre del cliente.

Filtro: permite filtrar ofertas con varios parámetros. También puede guardar el filtro creado si lo usa con frecuencia.

Cómo activar un bot cuando una oferta se mueve a una nueva etapa del embudo
Para activar un bot ante un cambio de etapa de una oferta en el embudo del CRM:
- Vaya a la configuración del proyecto.
- Abra la sección "Callbacks".

Haga clic en "Configuración de callback de transición de etapa del CRM":

Después de eso, verá una ventana modal con todos los embudos del proyecto. Puede elegir todo el embudo o una etapa específica.

Luego guarde la configuración.
Ahora, cuando el estado de la oferta cambie, ya sea automática o manualmente, se genera una notificación desde cualquier lugar del sitio, que se puede usar para activar una respuesta del bot.
La notificación se ve así: crm_state_changed Nombre del embudo:Nombre de la etapa
La variable callback_query_id también aparecerá en la tarjeta del cliente, almacenando el identificador de la oferta para la cual se envió la notificación.

Para activar su bot en respuesta a este evento, ingrese el texto del callback en el campo de activación de una conexión o de un bloque basado en activación (como un bloque de Inicio o Activación).

Si desea mantener al cliente en el flujo principal del chatbot, use el bloque "Chat". No se puede hacer una transición a este bloque, por lo que después de reaccionar al callback, el cliente permanece en el embudo principal mientras sigue recibiendo el mensaje.
Si necesita continuar el embudo después de un cambio de estado, use el bloque "Inicio". El cliente será redirigido al bloque "Inicio" en respuesta al callback, lo que permite que el embudo continúe desde allí.
Cómo mover una oferta
Para mover una oferta a cualquier etapa del embudo, simplemente haga clic y arrástrela con el botón izquierdo del ratón a la etapa deseada.

Cuando una oferta se mueve a "Fallida" o "Archivada", aparece una ventana modal que solicita especificar el motivo. Esta acción crea una variable de oferta correspondiente: failed_reason o archived_reason.
El motivo proporcionado se guarda en la variable respectiva. Si la oferta se restaura posteriormente, se agrega la variable restored_from_failed o restored_from_archived con el valor "true".
Cómo evitar mover una oferta a la etapa especificada
Si necesita restringir las etapas a las que se pueden mover las ofertas manualmente, configure la restricción en la configuración del estado.
Abra el embudo y vaya a la configuración de la etapa.

Use la configuración de la etapa para restringir el movimiento de ofertas a etapas específicas. Seleccione las etapas deseadas en la lista de verificación (se permiten selecciones múltiples) y guarde los cambios.

Después de guardar, las etapas restringidas se resaltarán visualmente en MaviBot CRM. Aparecerán más oscuras y el movimiento de ofertas hacia ellas estará deshabilitado. Si se aplican restricciones de movimiento de etapas, esas etapas también se ocultarán en la interfaz de chat del cliente.
Reacción a la eliminación de ofertas en el CRM
Cuando se elimina una oferta en el CRM, el bot recibe un callback llamado crm_lead_removed para notificar al cliente.

Cómo cambiar de ofertas
Cuando se realizan acciones sobre ofertas directamente en la página del CRM, se activan los siguientes callbacks:
-
change_responsible_order— el gestor asignado a la oferta ha cambiado. -
crm_state_changed— la oferta se movió a una etapa diferente del embudo. -
crm_system_state_changed— la oferta se movió a Perdida, Ganada o Archivada. -
crm_lead_removed— la oferta fue eliminada.
Adicionalmente, las variables del cliente incluirán callback_order_id, que contiene el ID de la oferta específica afectada por la acción del CRM.
Al procesar uno de estos callbacks, la oferta correspondiente se vuelve temporalmente activa dentro del bloque de procesamiento, lo que permite acceder directamente a sus variables.
Una vez que el flujo pasa al siguiente bloque, la lógica estándar de MaviBot se reanuda: cualquier acceso posterior a las variables de la oferta devolverá valores de la oferta activa más reciente del cliente.
Cómo cambiar una oferta a una etapa activa en el bot
La función switch_order(order_id) le permite hacer que una oferta específica esté activa para acceder a sus variables.
-
order_id— un parámetro opcional para el ID de la oferta específica. Si se omite, la oferta más reciente del cliente se vuelve activa. - Para activar una oferta en particular, pase su ID a la función
switch_order(order_id). - Si llama a esta función dentro de un bloque de calculadora y proporciona un ID de oferta objetivo, podrá acceder a las variables de esa oferta en todos los bloques siguientes.

Si la función switch_order se llama con el ID de una oferta eliminada o inexistente, no se producirá ningún cambio. En este caso, la función devolverá el ID de la oferta actualmente activa para el cliente (o None si el cliente no tiene una oferta activa).
Por lo tanto, puede verificar si el cambio fue exitoso comparando el order_id pasado a la función con el valor que devuelve:
switch_result = switch_order(order_id)
result = if(switch_result == order_id, value_if_true, value_if_false)
Si no se pasa ningún argumento a la función switch_order(), activará la oferta más reciente del cliente. Esto le permite revertir o restablecer la oferta activa, por ejemplo, después de realizar operaciones con otra oferta, o cuando no necesita mantener una oferta activada temporalmente por un callback del CRM.


