Zoho CRM
CRm database management

Abstract
This project was about demonstrating the with the setup, maintenance and use of a customer relationship management system (CRM) as a data analyst. The cloud-based CRM being used is Zoho. Here I demonstrate my ability to setup a CRM system, automate processes, abide by GDPR / data confidentiality, data import and export with analysis using Zoho analytics, with the idea of potential analysis in the future via third-party software such as Power BI or Tableau.
CRM overview
As indicated by the name, CRM systems enable companies to keep track of customer data securely, tasks, deals and analytics. The data in the displayed CRM is all randomly generated by AI therefore no personal data is shared with this portfolio.

The Leads module in Zoho CRM serves as a centralised database for tracking potential customers. It provides an effective way to monitor lead generation, assess employee performance in acquiring leads, and manage key details such as contact information and engagement metrics. Additionally, it helps establish connections between leads and existing contacts or accounts. Analysing lead data is crucial, as it can uncover patterns in successful acquisitions, identify untapped opportunities in similar industries or regions, and highlight gaps in lead generation across different customer sectors.

The Contacts module in Zoho CRM is a centralised repository for managing established customer relationships. It stores essential details such as contact information, communication history, and engagement metrics, ensuring a comprehensive view of interactions with clients. This module is crucial for maintaining and nurturing relationships, as it allows businesses to track ongoing conversations, link contacts to related accounts and deals, and identify opportunities for follow-ups or upselling. Analysing contact data helps in understanding customer behaviour, improving retention strategies, and identifying potential new leads through existing networks.

The Accounts module in Zoho CRM serves as a central hub for managing business entities and organisations that a company interacts with. It consolidates key information such as company details, associated contacts, deals, and communication history, providing a structured view of customer relationships. This module is essential for tracking interactions at the organisational level, ensuring seamless coordination between different stakeholders within a business. Analysing account data helps identify high-value clients, assess business opportunities, and uncover patterns that can drive strategic decision-making, such as expanding into similar industries or strengthening relationships with key accounts.

The Deals module in Zoho CRM is a key component for tracking sales opportunities and managing the progress of potential revenue-generating transactions. It provides a structured view of each deal’s stage, value, associated contacts and accounts, as well as communication history. This module is essential for monitoring the sales pipeline, forecasting revenue, and identifying bottlenecks in the conversion process. Analysing deal data helps businesses refine their sales strategies, prioritise high-value opportunities, and improve win rates by understanding the factors that contribute to successful deal closures.

The Tasks module in Zoho CRM is designed to streamline activity management by organising and tracking tasks related to leads, contacts, accounts, and deals. It allows users to set deadlines, assign responsibilities, and monitor task progress, ensuring that follow-ups, meetings, and key actions are completed on time. This module is crucial for improving productivity, maintaining accountability, and enhancing customer engagement by ensuring no critical interactions are missed. Analysing task data can help identify workflow inefficiencies, optimise team performance, and improve overall time management in the sales and customer relationship process.

The Meetings module in Zoho CRM helps schedule, track, and manage interactions with leads, contacts, and accounts. It provides a structured way to log meeting details, set reminders, and sync with calendars to ensure timely follow-ups. This module is essential for maintaining organised client communication, improving collaboration within teams, and ensuring that key discussions lead to actionable outcomes. Analysing meeting data can reveal engagement trends, highlight active customer relationships, and help optimise scheduling for better time management and productivity.

The Calls module in Zoho CRM is designed to log and track inbound and outbound calls with leads, contacts, and accounts. It records call details such as duration, outcome, and follow-up actions, ensuring a complete history of customer interactions. This module is crucial for maintaining communication records, improving sales efficiency, and enhancing customer service by ensuring that no important conversations are overlooked. Analysing call data can help identify engagement patterns, assess sales team performance, and refine communication strategies to improve conversion rates and customer satisfaction.

The Reports module in Zoho CRM is a powerful tool for analysing and visualising data across various CRM components, including leads, contacts, accounts, deals, and activities. It enables users to generate customised reports that provide insights into sales performance, customer engagement, and operational efficiency. This module is essential for tracking key metrics, identifying trends, and making data-driven decisions to optimise business strategies. By analysing report data, businesses can assess team performance, forecast revenue, uncover opportunities for improvement, and enhance overall CRM effectiveness.

The Analytics module in Zoho CRM provides advanced data visualisation and performance tracking tools to help businesses gain deeper insights into their sales, marketing, and customer relationship processes. It allows users to create interactive dashboards, track key performance indicators (KPIs), and analyse trends across leads, deals, accounts, and activities. This module is essential for identifying patterns, measuring business growth, and making informed strategic decisions. By leveraging analytics, businesses can optimise sales pipelines, improve forecasting accuracy, and enhance customer engagement through data-driven insights.

The Campaigns module in Zoho CRM is designed to track and manage marketing efforts by linking campaigns to leads, contacts, and deals. It allows businesses to monitor the effectiveness of email marketing, social media promotions, and other outreach activities, providing insights into engagement levels and conversion rates. This module is essential for measuring campaign ROI, refining marketing strategies, and ensuring alignment between sales and marketing teams. Analysing campaign data helps identify successful outreach methods, optimise targeting strategies, and improve overall customer acquisition and retention efforts.

The Documents module in Zoho CRM serves as a centralised repository for storing, managing, and sharing important files related to leads, contacts, accounts, deals, and campaigns. It allows users to upload documents, organise them into folders, and collaborate with team members by providing controlled access. This module is essential for maintaining easy access to sales proposals, contracts, marketing materials, and other critical documents, ensuring consistency and efficiency in customer interactions. Analysing document usage can help identify frequently referenced materials, improve content management strategies, and streamline document-sharing workflows across teams.

The Forecast module in Zoho CRM enables businesses to set, track, and analyse sales targets, helping teams measure performance against predefined goals. It provides a structured view of expected revenue based on deals in the pipeline, allowing managers to monitor progress and adjust strategies accordingly. This module is essential for sales planning, resource allocation, and revenue prediction, ensuring that businesses stay on track to meet their financial objectives. Analysing forecast data helps identify trends, assess team performance, and optimise sales strategies to improve overall business growth and profitability.
Please expand for more information:
Data import and export procedures

The import and export procedures for the Contacts module in Zoho CRM involve careful data handling to maintain accuracy, compliance, and security. When importing contacts, data should be pre-formatted in a compatible file type (CSV, XLS, or XLSX), cleaned to remove duplicates, and mapped correctly to Zoho CRM fields.

Exporting contacts requires proper access permissions, ensuring that only authorised users can extract data (See Compliance and GDPR Readiness). Given GDPR and confidentiality considerations, businesses must ensure that personal data is processed lawfully, with user consent where required, and that exports are securely stored and shared only with authorised parties. Additionally, measures such as data encryption, audit logs, and compliance with the organisation’s data retention policy help mitigate risks related to data privacy and security.
Data validation and integrity

Validation and constraints in modules is essential in maintain data completeness and uniformity. By modifying modules, mandatory fields can be set, ensuring the same data is always collected, and to ensure smooth data input and analysis, the data type is also set for each input field.

Essential for data confidentiality and security, especially with customer data, data can be encrypted in Zoho CRM. This ensures that anyone trying to access the data has the correct credentials and security can be maintained even when the data is being used by third parties such as Power BI for further analysis.

When modifying the fields for each module, specific fields can be set to not allow any duplicate values, ensuring there are no duplicates during data import from overlapping data sources. The CRM will then also check for any duplicates in this field from then on to ensure there are no duplicates in the data, this ensures that there are no ‘junk’ data rows using up valuable space int the CRM server.

Audit logs is the best view to see which employee is doing what within the CRM database, this could be simply making a report, importing data or changing the view on a module. This helps to ensure that specific employees are at the correct access level and if there are any errors or questions about some data or a module, the employee to last use the module can be seen here.

Approval processes are essential to maintain data, deals and records within a set of business boundaries. For example, if a salesperson wants to provide a discount above the normal 10 %, this would need to be approved by a manager. The CRM automatically will decide if a record field is required to be approved based on a predetermined rule (e.g. discount is above 10 %) of which the record is set to approval by a manager automatically. This would then lead to other acceptance or rejection meaning a modification of the discount would be required.

Conditional fields are set within the setup of fields of each module. These are essential to ensure all records hold the same information. For example, a lead could be a variety of sources, from an independent trader or customer to a full business, these will require different levels of information. The setting for the type of customer will then prompt different data fields to appear to allow the appropriate data to be inputted for that record, again, ensuring uniformity and completeness in all data records.

Blueprints in Zoho CRM is a very powerful tool of automating and guiding routine tasks. Take the example of a lead turning into a contract, a designed blueprint can have a start with set information required a transition (e.g. does the lead want to do business) and an output. This can be repeated multiple times for multiple starts and transitions. A blueprint is a very effective way to one, track the processing of a lead and two, automating task generation, email reminders or checks to a customer or ensuring all the required information is present for each stage.
Data backup and recovery
Data loss is a devastating situation for a business as the information held in a CRM affects all sales, customers, employees and future business ventures. Data backup mitigates the affect of data loss from server failure or malicious hacking attempts, this can be done in two ways.

Firstly, you can export specific sets of records from a module, for example, contacts, as a CSV file meaning a version of the contacts list can be present on a local hard drive, to enhance this security even further, this data could be linked or transferred to an SQL server for an added backup. This however only works if you have a generally small set of records, for larger databases, a whole CRM backup would be appropriate.

In Zoho CRM, you can request a complete copy of the CRM data for a small fee, or setup a twice monthly backup to ensure that no data is lost if anything happens to the online CRM system.
Security and user management
In terms of user management, CRM systems typically have different roles which have different permissions based on the role. These roles are then assigned to specific employees. In this case below, a salesperson should be able to look at leads and contacts but should not be able to delete them, which is more appropriate for a sales manager or administrator to control. The control of each role can be changed per module and the permissions per module.

In terms of security, as previously shown, each role can be modified in terms what they can change, delete or input in the CRM but also what they can see. For example, the salesperson role above cannot see campaigns, documents or accounts, meaning they cannot access that data, this might be an issue if they cannot see the accounts, as this is relevant to sales, showing the importance of managing roles correctly.
There can also be a type of field-level security in each module, meaning that different module layouts can be created depending on the role. For example, a data entry employee does not need to know the annual revenue of a specific account or the email of the clients in the contacts tab, whereas a sales manager would need to see this information. This is another layer to ensure only the correct people can see the appropriate level of data, which helps keep in line with compliance and GDPR readiness.

Lastly, ensuring that all users have strong passwords and authentication to access the CRM is another layer of security. This includes scales of security polices including a password policy (adjusting the requirements of accepted user passwords), multi-factor authentication and allowed IPs for even further control. Each of these systems can help prevent unwanted data access even in the event of a password leak etc.

Compliance and GDPR readiness
Aside from the security measures that have been mentioned above, there are further systems in place within a CRM environment to ensure any confidential data is secure and true to GDPR compliance.
In Zoho CRM there are General Data Protection Regulation (GDPR) compliance settings. Modules such as contacts and leads could be under GDPR protection, therefore a consent waiting period must be set to stop data processing and personal data handling in terms of data export and transfer to other apps must be restricted.

As a part of GDPR compliance, explicit consent from the customer is required to store and process their data, a clear consent form is required, which Zoho CRM can provide. This could be emailed automatically to any new contacts or leads.

Depending if the business is based in the US and is based on health data, it must comply with the Health Insurance Portability and Accountability Act (HIPAA). In terms of the data in the CRM, this revolves around keeping the data within the CRM system and restricting the transfer of data to less secure environments in third-part apps or export.

As mentioned in the previous section, data encryption, audit logs and enhanced user security are also factors to ensure GDPR by keeping personal data secure with minimal risk of data leaks.
Workflow and automation
In Zoho CRM, automation using workflows are key to reduce manual workload to all users of the CRM. An example of this could be automatic lead assignment, this means if the lead source is a cold call and only one salesperson does cold calls, then the lead can automatically be assigned to this employee.

Other automations could include; follow-up task creation (when a lead is created, a task of follow-up call is created), email notifications (when a lead is created, a predefined email is sent to specific users) or auto-tagging (tags new records with the lead source, such as website lead).
Reports, data analysis and dashboard creation
For a quick summary, reports which highlight specific CRM data can be used to manually (or automatically using workflows) to show the state of different modules, for example deals. These reports are an effective way to quickly summarise data based on the filtering and aggregation settings. Shown below, this view is a clear way to show each accounts have which deals and revenue currently in the CRM with the closing date. While this is effective in summarising specific parts of the CRM database, a dashboard would be more effective in showing a business outline and the ability to drill into specific parts of the business.

How CRM data is analysed is depending on a number of factors. While Zoho CRM contains an in-built dashboard and analysis software which an create standardised dashboards of each module summarising business progress and highlighting effective employees. Whether the data is under GDPR or encryption however can affect how the data is analysed, it would be easier to use the in-built analytics in Zoho, the business may prefer to use Microsoft Power BI, which links to API and third-party app integrations.

API integration and use of third-party tools
A business is not solely made of a CRM system, there are multiple other apps and systems which need to be connected, including advertisement tracking (e.g. Facebook or google), cloud file systems, SQL servers, commercial (e.g. spoify) or analysis softwares like Power BI. By setting up an API, these can be all connected to the central Zoho CRM. There are multiple stages to the OAuth 2.0 client process:
- Register your client (API credentials) : A server-based application could be used with this such as Power BI, python or a web based program. This part is about setting up the client name, home page URL and the authorised redirect URL. A client ID and client secret is created, needed as a part of connecting to the API.

2. Generate grant token (Authorisation code): As a part of the security process, a login to Zoho CRM is required to generate an authorisation token required for access to the CRM data.

3. Generate access and refresh tokens: Using the authorisation code, access to the CRM data is now permitted via an access token (used in the API requests but tend to expire within 1 hour) and a refresh token so we can get another access token without the requirement of logging in again. This can all be done within the Postman software which facilitates easier connections to APIs.

4. Use access token to make API calls: To access the data, the authorisation token must be used to access the CRM. Postman was used to test the API below.

A more applicable use of the API would be to import the the data into Power BI for further analysis. This still uses the same API and authorisation code, allowing the data to be successfully imported as shown in power query below.


After 1 hour however, the data will not be able to be refreshed as the authorisation token will have expired. By using the refresh token previously obtained, the logging in step can be skipped to get another authorisation token quickly. To do this in Power BI, the M code should be used below along with parsing the data out of the JSON format.
let
Deals = let
RefreshTokenURL = "https://accounts.zoho.eu/oauth/v2/token",
Body = "client_id=1000.0Q0XV6DVMPC43B0DDJGNULS6VYYLBG&client_secret=16d6268bb7e2291e61ff60c3d94b2c5352053*****&refresh_token=1000.63e2425791efdc63180a9f6743224ead.48688df0fde9e0bae1b4750060******&grant_type=refresh_token",
// Fetch a new Access Token
TokenResponse = Json.Document(Web.Contents(RefreshTokenURL, [Content = Text.ToBinary(Body), Headers=[#"Content-Type"="application/x-www-form-urlencoded"]])),
AccessToken = TokenResponse[access_token],
// Fetch CRM Data from Zoho API (Deals)
CRMResponse = Json.Document(Web.Contents("https://www.zohoapis.eu/crm/v2/Deals", [Headers=[Authorization="Zoho-oauthtoken " & AccessToken]])),
// Extract Only the "data" Field (CRM Records)
CRMData = CRMResponse[data],
// Convert Records to Table
CRMTable = Table.FromList(CRMData, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
// Expand all columns (including "id" column)
ExpandedCRMTable = Table.ExpandRecordColumn(CRMTable, "Column1", {"id", "Deal_Name", "Stage", "Amount", "Closing_Date", "Owner", "Created_By", "Modified_By"}),
// Rename "id" Column (Before Expanding "Owner")
RenamedCRMTable = Table.RenameColumns(ExpandedCRMTable, {{"id", "Deal_ID"}}),
// Expand "Owner" Field (name, id, email)
ExpandedCRMTable2 = Table.ExpandRecordColumn(RenamedCRMTable, "Owner", {"name", "id", "email"}),
// Rename Owner's "id" Column to Avoid Conflict
FinalTable = Table.RenameColumns(ExpandedCRMTable2, {{"id", "Owner_ID"}})
in
FinalTable
in
Deals
