Affaires dans le système CRM
Les transactions dans le CRM sont affichées sous forme de cartes avec des informations sur le client, le nom de la transaction, la description et le montant.

Vous pouvez ajouter d’autres champs, si nécessaire (voir fig. 8-12).
Bouton « Créer une transaction »

Le Créer un deal la fenêtre vous permet de configurer et d’enregistrer rapidement une nouvelle transaction.

Remplissez le formulaire pour créer un client. Si le client existe, MaviBot vous invitera à le sélectionner dans la base de données.

Si le client n’est pas trouvé, connectez un bot WhatsApp ou email au projet.
Envoyez un message au client via le canal connecté — cela créera automatiquement son profil.
Sélectionnez l’étape de l’entonnoir où la transaction doit être placée.

Les variables de la transaction peuvent également être ajoutées dans la fenêtre modale :

Ensuite, cliquez sur « Créer » pour ajouter la transaction au système.
Le bouton « Ajouter rapidement »
Ce bouton peut également aider à ajouter manuellement un nouveau client au CRM.

Cliquez sur le bouton pour ouvrir une fenêtre dans laquelle vous pouvez saisir les coordonnées du client.

Fig. 26 Fenêtre de création rapide de transaction (Remarque : toutes les données sont fictives ; toute ressemblance est purement fortuite.)
Ainsi, la transaction sera créée dans l’étape « Intéressé » .
Terminé !
Maintenant, vous savez comment créer des transactions.
Comment créer une transaction depuis le chatbot
Exemple de flux de chatbot pour créer une transaction via une fonction
Aperçu du processus :
Créez un bloc Début

Créez deux blocs de boutons.

Allez dans les paramètres de connexion, activez l’option « L’utilisateur saisit des données » et spécifiez le nom du service que l’utilisateur saisira.

Ensuite, ajoutez la question « Quel est votre nom ? » dans un bloc blanc. Créez un nouveau bloc en dessous et activez « L'utilisateur saisit des données » dans ses paramètres de flèche.

Le paramètre « L’utilisateur saisit des données » avec la variable name est activé dans chaque connexion menant au bloc « Entrez votre numéro de téléphone ».
Maintenant, créez deux blocs — « Chat » et « Fallback » — à partir du bloc « Entrez votre numéro de téléphone ».

Sélectionnez le « RegEx math » dans les paramètres de connexion.
Activez le paramètre « L’utilisateur saisit des données ».
Saisissez le nom de la variable :
phone.

Maintenant, dans le bloc Fallback, écrivez le message : « C’est incorrect ! Réessayez. »
Cette configuration fonctionnera comme suit : si votre client saisit un numéro de téléphone incorrect, il recevra le message du bloc Fallback. Le message Fallback continuera d’être envoyé jusqu’à ce que le client saisisse un numéro de téléphone correct.
Ensuite, demandez au client quel est son budget et créez immédiatement un nouveau bloc en dessous.

Activez le bouton « L'utilisateur saisit des données » paramètre dans la connexion et saisissez le nom de la variable :
budget.

Activez la « L'utilisateur saisit des données » case à cocher sur la connexion et spécifiez la variable de téléphone client_name.
Vous pouvez soit changer le type du dernier bloc en « Leads », soit utiliser
create_orderfonction.Voici l’option avec le bloc rouge « Leads ».

Exemple.

La fonction create_order(name, budget, description, client_name, phone, email, state_id) est utilisée pour créer une transaction depuis le chatbot dans le CRM.
Paramètres
La transaction active actuelle dans l’entonnoir, ainsi que les variables, ne seront disponibles que dans les fonctions de gestion des transactions et du CRM.
name
Nom de la transaction.
Paramètre facultatif ; s’il n’est pas transmis, il s’appliquera à la transaction active actuelle du client
budget
Valeur de la transaction (nombre). Paramètre facultatif ; s’il n’est pas transmis, il sera appliqué à la transaction active actuelle du client. Si vous transmettez une valeur non numérique dans le budget paramètre, la fonction renvoie la réponse : 'budget must be a number'
description
Description de la transaction. Paramètre facultatif ;
client_name
(paramètre facultatif) chaîne, nom d’un nouveau client
phone
(paramètre facultatif) chaîne, numéro de téléphone d’un nouveau client
(paramètre facultatif) chaîne, email d’un nouveau client
state_id
le nombre vous permet de spécifier l’état dans lequel se trouvera la transaction après sa création (paramètre facultatif)
Pour créer un client, la variable téléphone ou email doit être spécifiée. Si le téléphone est spécifié et qu’il n’existe aucun client avec ce numéro dans le projet, un nouveau sera créé.
Si la variable email est spécifiée sans la variable téléphone, et qu’il n’existe aucun client dans le projet avec cette adresse, un nouveau sera créé.
Dans le flux, nous avons collecté les données suivantes par étapes :
Nom - nom de la transaction (dans l’exemple, I need a website et I need a landing) ;
Budget — coût de la transaction, annoncé dans les blocs après que le client a sélectionné le type de site web ;
Téléphone — numéro de téléphone du client
Client_name — nom du client
Si vous devez créer une transaction dans un état de transaction spécifique, transmettez le paramètre state_id.
Important !
Si vous ne transmettez aucun paramètre, alors transmettez none à la place du paramètre (comme dans la fig. 36, où none est spécifié à la place du paramètre email).
Où trouver l’identifiant de l’état (paramètre state_id)

ID de l’étape :

Autres paramètres
La barre de recherche permet de rechercher une transaction par le nom du client.

Filtre : permet de filtrer les transactions selon divers paramètres. Vous pouvez également enregistrer le filtre créé si vous l’utilisez fréquemment.

Comment déclencher un bot lorsqu’une transaction passe à une nouvelle étape de l’entonnoir
Pour déclencher un bot lors du changement d’étape d’une transaction dans l’entonnoir CRM :
Allez dans les paramètres du projet.
Ouvrez les « Callbacks » section.

Cliquez sur « Paramètres du callback de transition d’étape CRM »:

Après cela, vous verrez une fenêtre modale avec tous les entonnoirs du projet. Vous pouvez choisir soit l’entonnoir entier, soit une étape spécifique.

Puis enregistrez les paramètres.
Maintenant, lorsque l’état de la transaction change — automatiquement ou manuellement — une notification est générée depuis n’importe quel endroit du site, ce qui peut être utilisé pour déclencher une réponse du bot.
La notification ressemble à ceci : crm_state_changed Nom de l’entonnoir : Nom de l’étape
La variable callback_query_id apparaîtra également dans la carte du client, stockant l’identifiant de la transaction pour laquelle la notification a été envoyée.

Pour déclencher votre bot en réponse à cet événement, saisissez le texte du callback dans le champ de déclenchement d’une connexion ou d’un bloc basé sur un déclencheur (comme un bloc Début ou Trigger).

Si vous souhaitez conserver le client dans le flux principal du chatbot, utilisez le bloc « Chat ». Ce bloc ne permet pas d’y accéder par transition ; ainsi, après avoir réagi au callback, le client reste dans l’entonnoir principal tout en recevant le message.
Si vous devez poursuivre l’entonnoir après un changement d’état, utilisez le bloc « Début ». Le client sera redirigé vers le bloc « Début » en réponse au callback, ce qui permettra à l’entonnoir de continuer à partir de là.
Comment déplacer une transaction
Pour déplacer une transaction vers n’importe quelle étape de l’entonnoir, cliquez simplement dessus et faites-la glisser avec le bouton gauche de la souris vers l’étape souhaitée.

Lorsqu’une transaction est déplacée vers « Échec » ou « Archivé, » une fenêtre modale apparaît pour vous inviter à spécifier la raison. Cette action crée une variable de transaction correspondante : failed_reason ou archived_reason.
La raison fournie est enregistrée dans la variable correspondante. Si la transaction est ensuite restaurée, la variable restored_from_failed ou restored_from_archived est ajoutée avec la valeur « true ».
Comment empêcher le déplacement d’une transaction vers l’étape spécifiée
Si vous devez restreindre les étapes vers lesquelles les transactions peuvent être déplacées manuellement, configurez la restriction dans les paramètres d’état.
Ouvrez l’entonnoir et accédez aux paramètres de l’étape.

Utilisez les paramètres de l’étape pour restreindre le déplacement des transactions vers des étapes spécifiques. Sélectionnez les étapes souhaitées dans la liste de contrôle (sélections multiples autorisées) et enregistrez les modifications.

Après l’enregistrement, les étapes restreintes seront mises en évidence visuellement dans MaviBot CRM. Elles apparaîtront plus sombres, et le déplacement des transactions vers elles sera désactivé. Si des restrictions de déplacement d’étape sont appliquées, ces étapes seront également masquées dans l’interface de discussion client.
Réaction à la suppression d’une transaction dans le CRM
Lorsqu’une transaction est supprimée dans le CRM, le bot reçoit un callback nommé crm_lead_removed pour avertir le client.

Comment changer les transactions
Lorsque des actions sont effectuées sur les transactions directement dans la page CRM, les callbacks suivants sont déclenchés :
change_responsible_order— le responsable attribué à la transaction a changé.crm_state_changed— la transaction a été déplacée vers une autre étape de l’entonnoir.crm_system_state_changed— la transaction a été déplacée vers Perdu, Gagné, ou Archivé.crm_lead_removed— la transaction a été supprimée.
De plus, les variables du client incluront callback_order_id, qui contient l’ID de la transaction concernée par l’action CRM.
Lors du traitement de l’un de ces callbacks, la transaction correspondante devient temporairement active dans le bloc de traitement, ce qui vous permet d’accéder directement à ses variables.
Une fois que le flux passe au bloc suivant, la logique standard de MaviBot reprend — tout accès ultérieur aux variables de la transaction renverra les valeurs de la transaction active la plus récente du client.
Comment passer une transaction à un état actif dans le bot
Le switch_order(order_id) la fonction vous permet de rendre active une transaction spécifique afin d’accéder à ses variables.
order_id— paramètre facultatif pour l’ID de transaction spécifique. S’il est omis, la transaction la plus récente du client devient active.Pour activer une transaction particulière, transmettez son ID à la
switch_order(order_id)fonction.Si vous appelez cette fonction dans un bloc calculateur et fournissez l’ID d’une transaction cible, vous pourrez accéder aux variables de cette transaction dans tous les blocs suivants.

Si le switch_order si la fonction est appelée avec l’ID d’une transaction supprimée ou inexistante, aucun changement n’aura lieu. Dans ce cas, la fonction renverra l’ID de la transaction actuellement active pour le client (ou None si le client n’a aucune transaction active).
Vous pouvez donc vérifier si le changement a réussi en comparant le order_id transmis à la fonction avec la valeur qu’elle renvoie :
switch_result = switch_order(order_id)
result = if(switch_result == order_id, value_if_true, value_if_false)

Si aucun argument n’est transmis à la switch_order() la fonction activera la transaction la plus récente du client. Cela vous permet de rétablir ou de réinitialiser la transaction active — par exemple, après avoir effectué des opérations avec une autre transaction, ou lorsque vous n’avez pas besoin de conserver activée temporairement une transaction déclenchée par un callback CRM.
Mis à jour