Data Lookup
Last updated
Last updated
The "Data Lookup" step is particularly useful when you are using Picky Assist CRM to manage your business. It allows you to search for specific details within existing CRM modules and retrieve the results to provide as a message to the end user. Additionally, you can also use this step to add a new record to another module within the CRM.
With the "Data Lookup" step, you can leverage the power of your CRM by accessing and retrieving relevant information to enhance the conversational experience with your users. This step enables you to dynamically retrieve and display data based on user inputs or other criteria, providing personalized and accurate responses.
You need to select the module to which you want to perform an action and then select the action type, we have 4 action types
Add New Record : This will add a new record to the selected module i.e a new row will be added
Search Record: This will search the record based on the given criteria and returns the search results
Update Record : This will update one or many records based on the given criteria
Delete Record : This will delete the entire row in a module as per the given criteria
This will add a new record to the selected module by creating a new row using the data given by you, you can easily map the data from the users input into the respective fields as shown below, you can add more fields by clicking the "Add New Field" as shown below
There is an option to select whether any workflow associated with that module should be triggered or not as part of adding a new record. By default, it won't trigger the workflow however if you uncheck then any workflow associated with the respective module will be triggered.
There is also an option whether to allow partial data save or not, this helps you to create a new record even if the required fields are missing.
This feature allows you to search records based on given criteria and return the search results. Here are some use cases you can achieve with 'Search Record':
Check Deal Status : When a contact initiates a chat, you can perform a search for specific information in a module and progress the step accordingly. For instance, you may want to check the 'Deal' module to see if there are any open deals for that particular contact.
During a checkout process, if you need to confirm the contact's address saved in a different module (e.g., 'Address'), you can fetch all addresses that match the contact. These addresses can then be presented back to the user in the chat for them to choose one, in case multiple accounts are found.
Personalized Marketing: If you've stored customer preferences in a separate module, you can use the 'Search Record' function during a marketing interaction. By fetching these preferences, you can tailor the conversation to fit the customer's likes and dislikes, making your marketing more effective.
Order Tracking: If a customer inquires about their order status, you can use the 'Search Record' function to check their order details in the 'Orders' module. You can then provide them with up-to-date information about their order.
Upselling/Cross-selling: If you have a module that keeps track of what products or services a customer has purchased or shown interest in, you can use 'Search Record' during a conversation to suggest related items they might find useful or interesting.
Customer Segmentation: If you've categorized your customers into different segments, you can use 'Search Record' to identify which segment a contact belongs to during an interaction. This way, you can ensure the conversation is tailored to their specific segment, leading to more personalized and effective communication.
Appointment Scheduling: If your business involves appointments or reservations, 'Search Record' can be used to look up a customer's past and future appointments. This allows you to avoid scheduling conflicts and ensure the customer has the most convenient timing for their appointments.
Membership Status: If you run a membership or subscription service, 'Search Record' can fetch a customer's membership status, expiration date, and other related information. This way, you can remind them about upcoming renewals, inform them about benefits they're eligible for, or even offer upgrades based on their membership history.
Payment History: For financial queries or disputes, 'Search Record' can fetch a customer's payment history. This can help quickly resolve any confusion about payments, refunds, or charges.
Feedback Tracking: If you have a system for collecting customer feedback or reviews, 'Search Record' can fetch a specific customer's feedback history. This can give you insights into their satisfaction levels over time, their common complaints or praises, and areas of your service that they particularly value.
To search data from the module, add the Data Lookup step then select the Module to which the search to be performed then click on the Select Action as Search Record as shown below
Select the module field you wish to perform the search, if you want to do a full-text search then select "Any Field" and this will search the entire record with the given value
Based on the data field type selected the system will provide you with the different filter conditions, you can pass the dynamic value from the previous step or even from the 3rd party app that is saved in the HTTP API step using the attribute feature as shown below
Now, to broaden or narrow your search, you need to provide the following information:
Limit Search by Rows: This option allows you to instruct the system to limit the number of rows fetched from the system. Please note that the maximum records that can be extracted from a single search query is limited to 10,000.
Sorting Field: This helps you to determine based on which module field the data should be sorted. For example, you might want to sort based on 'Modified Date'.
Sorting Order: You can instruct the system how to order the search results. This can be either Ascending (Oldest Data First) or Descending (Newest Data First).
Save Response to Variable: This option allows you to save the search result to a variable. The result will be in JSON format, which can be further used in the 'Picky Assist Formatter -> Line Items' function.
Important Notes on Search:
A single search result can retrieve a maximum of 10,000 records.
The search result is available as a JSON request for developers, allowing them to perform advanced actions or push the data to a 3rd party platform.
To perform an exact search, you need to pass the record id or ensure that the search record field is unique. For example, if a module has unique mobile numbers, you can query a search by mobile number, and it will yield only one output. This output can be further used in the attribute.
Please note that if the search result yields more than one record, you must use 'Formatter -> Line Items' to process them. If you directly use the attributes, only the first record in the search result can be passed using the attribute value.
See how the Search result shows in the attribute, you can see the Variable name and bracket the module name as shown below
The 'Update Record' feature allows you to modify one or many records saved in the Picky Assist Modular CRM modules. Here are a few use cases you can create with Update Record:
Feedback Update : When feedback is collected, update the respective module record with the new data.
Payment Status Update : When a payment is captured in the flow, update the payment details in the corresponding order module data fields.
Membership Renewal: Update the membership status and renewal date of a customer when they renew their subscription through a chatbot conversation.
Updating Contact Information: If a customer provides updated contact information (e.g., a new phone number or email address), you can use 'Update Record' to update this information in your CRM.
Order Status Change: If an order status changes (for example, from 'processing' to 'shipped'), you can update this status in your CRM to keep accurate records.
Tracking Customer Preferences: As customers provide information about their preferences (such as favorite products or desired communication frequency), you can update these details in your CRM.
New Appointments: If a customer books an appointment or reservation, you can update this in your CRM, ensuring that all information stays up-to-date.
Task Completion: If a customer completes a task or a milestone within a bigger process (e.g., completing a training module), you can use 'Update Record' to mark this task as completed in your CRM.
Lead Status Updates: As a lead moves through your sales funnel (from prospect to lead to customer), you can use 'Update Record' to update their status in your CRM.
Customer Support Resolution: After resolving a customer support ticket, use 'Update Record' to update the ticket status to 'resolved' and note any important details about the resolution.
To update a record add the "Data Lookup" step into Canvas then select the module in which you need to perform Data Lookup then click the action "Update Record" as shown below;
There is an option to select whether any workflow associated with that module should be triggered or not as part of updating a record. By default, it won't trigger the workflow however if you uncheck then any workflow associated with the respective module will be triggered.
Select the module field you would like to update, search the field by name or perform a search in the entire module then click on Any Field
It's possible to search a field by its Record ID and update data fields within that module. By default, the current Record ID of the flow CRM module is always available in the attribute, as illustrated below:
Now, to broaden or narrow your search, you need to provide the following information:
Limit Search by Rows: This option allows you to instruct the system to limit the number of rows fetched from the system. Please note that the maximum records that can be extracted from a single search query is limited to 10,000.
Sorting Field: This helps you to determine based on which module field the data should be sorted. For example, you might want to sort based on 'Modified Date'.
Sorting Order: You can instruct the system how to order the search results. This can be either Ascending (Oldest Data First) or Descending (Newest Data First).
Now you need to select the data fields and map the value that needs to be updated as shown below, you have the following options
Click the Module field to select the field that needs to be updated
Then map the value from the attribute dynamically or enter manually in the given text box
Check whether you want to update the field if the value is existing
To add more fields click on "Add More Field" and repeat the steps
Important Notes on 'Update'
Up to 10,000 records can be updated in a single execution.
To update a specific field in the module, you need to pass the Record ID or ensure that the search record field is unique. For example, if a module has unique mobile numbers, you can perform a search query using the mobile number, and subsequently update the mobile number or any other fields in that module.
Please note: If your module doesn't contain a unique field, you might inadvertently update multiple records with the same non-unique information. Be cautious to avoid this potential issue.
This feature allows you to delete one or many records from the selected module. This is useful for removing data that are no longer needed, helping to keep your CRM clean and uncluttered.
The 'Delete Records' function operates in the same way as the 'Update Record' function explained earlier. Instead of updating the record, it will simply delete the row that matches the given condition.
Please note that this action will delete the entire row, meaning all data fields associated with that specific row in the module will be removed. Therefore, when utilizing this action, please ensure that your filter condition is accurate, as it can delete multiple records at once. For example, if your search condition is a tag labeled 'vip', and you perform the delete action, all records mapped with the 'vip' tag will be deleted from the selected module.
To delete a record add the "Data Lookup" step into Canvas then select the module in which you need to perform Data Lookup then click the action "Delete Record" as shown below;
Select the module field you would like to update, search the field by name or perform a search in the entire module then click on Any Field
Now, to broaden or narrow your search, you need to provide the following information:
Limit Search by Rows: This option allows you to instruct the system to limit the number of rows fetched from the system. Please note that the maximum number of records that can be extracted from a single search query is limited to 10,000.
Sorting Field: This helps you to determine based on which module field the data should be sorted. For example, you might want to sort based on 'Modified Date'.
Sorting Order: You can instruct the system on how to order the search results. This can be either Ascending (Oldest Data First) or Descending (Newest Data First).
Up to 10,000 records can be deleted in a single execution.
To delete a specific field in the module, you need to pass the Record ID or ensure that the search record field is unique. For example, if a module has unique mobile numbers, you can perform a search query using the mobile number, and subsequently delete the rows that match the mobile number value
Please note: If your module doesn't contain a unique field, you might inadvertently delete multiple records with the same non-unique information. Be cautious to avoid this potential issue.