Chatbot integration with CRM for Customer Management
With a chatbot integrated into a CRM, it is possible to collect customer information in real-time and manage their data efficiently. This integration allows:
Updating Existing Leads or Contacts
▪ If the chatbot identifies that the customer already has a listing in the CRM (for example, through their phone number or email), it can automatically update their information with the new data provided in the conversation.
Creating New Records in the CRM
▪ In case there is no previous registration in the CRM, the chatbot can automatically generate a new lead or contact with the information collected.
This functionality streamlines customer management, improves the user experience, and ensures that the sales or support team always has up-to-date and accessible information.
Scenario 1: Updating Existing Leads or Contacts
We will implement a chatbot that will allow you to update the information of existing leads or contacts in the CRM automatically.
Operation:
Customer Identification:
▪ The chatbot will request key data such as phone number or email to verify if the customer is already registered in the CRM.
CRM Search:
▪ A query will be made in the CRM database to check if there is a lead or contact with the information provided.
Data Update:
▪ If the customer is already registered, the chatbot will request additional or updated information (e.g., name, company, interest in products or services) and modify the listing in the CRM in real-time.
Customer Confirmation:
▪ The chatbot will notify the user that their information has been updated correctly.
Proceeds:
✅ Automating the customer update process.
✅ Reduction of human errors in data management.
✅ Optimization of sales and support team time.
✅ Smoother and faster experience for customers.
This chatbot will ensure that the information in the CRM is always up to date, allowing for better personalization in customer service and more efficient management of business opportunities.
First Node Creation: Welcome and Name Capture
In this first node, the chatbot will welcome the customer and ask for their name. Subsequently, an after-action will be executed to find if the customer is already registered in Zoho CRM.
Post-Action - Search a record in Zoho CRM
After requesting the name, an after-action will be executed:
✅ Action: "Search a record in Zoho CRM"
✅ Objective: Check if the customer already has a record in the CRM.
1): Setting up the API Name in Zoho CRM
To complete the search, we need to get the module's API name in Zoho CRM:
🔹 Go to gear (⚙️) at the top right.
🔹 Go to the Developer Center.
🔹 Select APIs and SDKs.
🔹 Consult the API Names section and select the corresponding module (Leads, Contacts, etc.).
2): Select the field you want to search
To perform the search in Zoho CRM, it is necessary to select the field with which the customer will be identified.
🔹 Available options: Phone, Email or Word.
🔹 In this case, the selected field will be Phone, as it is the data that matches both Zoho CRM and Woztell.
By using the telephone number as a search criterion, we guarantee an accurate identification of the customer, avoiding duplicate registrations and ensuring correct information management. 🚀
3): Value to search
In this step, we need to define the value that the chatbot will use to perform the search in Zoho CRM.
🔹 Value to Look: The mobile number that we have saved in Woztell.
🔹 Woztell reference: This value is stored under the {{externalId}} variable.
Therefore, when running the search action in Zoho CRM, the phone number saved in {{externalId}} in Woztell will be used to search for the corresponding record in the CRM. This ensures that the search is performed with the correct data and the right contact is found in Zoho CRM.
4) If you want to store the response in the user's tempData, type your own variable here.
If you want to store the search response in the user's temporary data, you can create a custom variable to save the information.
🔹 Custom variable: For example, lead_encontrado.
This variable will store the result of the search performed in Zoho CRM, and you can use it later in the chatbot flow, for example, to check if the customer was found, update their information, or perform some additional action.
Second Node: Request Email and Save Name in Temporary Data
The customer has provided us with their name, so we now wish to ask for their email. However, before doing so, we want to save the name you have given us in our temporary data.
Second Node Name:
▪ Node: Request Email and Save Name
Node Trigger:
▪ Trigger Type: Any text
This means that the node will be triggered by any response from the user (such as the name provided on the first node).
Pre-Action - Save Temp Data:
▪ Action: Save the information provided by the user in the temporary data of their file within Woztell.
● Name of the Variable in which you will save the data:
▪ Variable: Name
In this step, we give a name to the variable that will store the information provided by the customer. In this case, the variable will be called the name, which will contain the customer's name for later use in the chatbot flow.
● Select the Platform:
▪ Platform: WhatsApp
We must select the platform through which we will receive the information. In our case, as the chatbot will be active on WhatsApp, we selected WhatsApp as the receiving platform.
Once the platform has been selected, we must choose the type of event we will receive. In this case, it will be a text.
Third Node Configuration: Request and Save Email
Node Trigger:
▪ Trigger: Email
In this step, the node will be activated when the client provides their email. This is set as the trigger to continue the flow of the conversation.
Pre-Action - Save Temporary Data:
▪ Action: Save the email provided by the customer in the temporary data.
▪ Variable:email
The email variable will store the email provided by the customer for later use in the chatbot flow.
Response Settings:
Once the email has been saved, the chatbot will send a response
Post-Action:
After saving the email and sending the reply, we set up an after-action that will be executed next. The post-action can be any action that we must perform after receiving and storing the email, in this case our post-action will be to update the lead in CRM.
Update a record in Zoho CRM:
● CRM Module:
▪ CRM Module: We must fill in the name of the API of the module we will be updating. This must be the same module that we previously used to perform the search.
▪ In our case, the module we use is "Leads".
● Click on "CRM Record to Update":
▪ Action: Select the + CRM Record to Update option to indicate that we are going to update a record in Zoho CRM.
● Record ID:
▪ Record ID: The Record ID is the information that the system obtained when it searched for the user in Zoho CRM on the first node.
▪ The code for this field is always: {{meta.zoho.crm.record.id}}. This identifier will allow you to locate the customer's specific record in Zoho CRM to update it.
● CRM API Field:
▪ CRM API field: We need to fill in the API name of the field we want to update in Zoho CRM.
▪ For example, in the first case, we will be updating the customer name, so the API name of this field in Zoho CRM is First_Name.
● Bot Value:
▪ Bot Value: Here we need to tell the system where it should take the value to update the field in Zoho CRM.
▪ Throughout the chatbot, we have been saving the user's data in the temporary data. The value we want to use to update the Zoho CRM field will be the one we save in the corresponding variable.
▪ The code we need to insert for the name is: {{botMeta.tempData.name}}.
▪ In the next node, when we update the email, the code will be: {{botMeta.tempData.email}}.
The code is always the same, only the last word is modified: {{botMeta.tempData.name}}.
Difference Between Searching for a Record in Zoho CRM V1 and V2
In version V1, the process consists of directly searching for a lead or contact in Zoho CRM. If the record is found, its ID is extracted and saved in the temp data for later use.
On the other hand, the V2 version offers more advanced functionality. In addition to searching for the lead in Zoho CRM, it allows you to make decisions based on the result of the search. If the lead is found, the user can be redirected to a specific flow within the chatbot. If the lead is not found, it can be referred to a different flow, thus optimizing the user experience.
This functionality is especially useful for businesses that want to check if a user already exists in their database. If the user is registered, they can be directed directly to the main menu. If you are not registered, a pre-qualification flow can be activated to collect the necessary information.
Scenario 2: Lead or Contact Creation
First Node Creation: Welcome and Name Capture
In this first node, the chatbot will welcome the customer and ask for their name.
Second Node: Request Email and Save Name in Temporary Data
The customer has provided us with their name, so we now wish to ask for their email. However, before doing so, we want to save the name you have given us in our temporary data.
Second Node Name:
▪ Node: Request Email and Save Name
Node Trigger:
▪ Trigger Type: Any text
This means that the node will be triggered by any response from the user (such as the name provided on the first node).
Pre-Action - Save Temp Data:
▪ Action: Save the information provided by the user in the temporary data of their file within Woztell.
● Name of the Variable in which you will save the data:
▪ Variable: Name
In this step, we give a name to the variable that will store the information provided by the customer. In this case, the variable will be called the name, which will contain the customer's name for later use in the chatbot flow.
● Select the Platform:
▪ Platform: WhatsApp
We must select the platform through which we will receive the information. In our case, as the chatbot will be active on WhatsApp, we selected WhatsApp as the receiving platform.
Once the platform has been selected, we must choose the type of event we will receive. In this case, it will be a text.
Third Node Configuration: Request and Save Email
Node Trigger:
▪ Trigger: Email
In this step, the node will be activated when the client provides their email. This is set as the trigger to continue the flow of the conversation.
Pre-Action - Save Temporary Data:
▪ Action: Save the email provided by the customer in the temporary data.
▪ Variable:email
The email variable will store the email provided by the customer for later use in the chatbot flow.
Response Settings:
Once the email has been saved, the chatbot will send a response
Post-Action:
After saving the email and sending the reply, we set up an after-action that will be executed next. The post-action can be any action that we must perform after receiving and storing the email, in this case our post-action will be to create the lead in CRM.
Insert a new record in Zoho CRM:
● CRM Module:
▪ CRM Module: We must fill in the name of the API of the module we will be updating.
▪ In our case, the module we use is "Leads".
● Click on "CRM Record to Insert":
▪ Action: Select the + CRM Record to insert option
● CRM API Field:
▪ CRM API field: We must fill in the API name of the field we want to insert into Zoho CRM.
▪ For example, in the first case, we'll be inserting the customer's mobile, so the API name of this field in Zoho CRM is Mobile.
● Bot Value:
▪ Bot Value: Here we need to tell the system where it should take the value to update the field in Zoho CRM.
▪ Throughout the chatbot, we have been saving the user's data in the temporary data. The value we want to use to update the Zoho CRM field will be the one we save in the corresponding variable.
▪ The code we need to insert for the mobile is: {{externalId}}
▪ In the next node, when we update the name, the code will be: {{botMeta.tempData.name}}.