Orchestrating Data Enrichment in Zoho CRM with Abstract

Last Updated Aug 11, 2023
Noam Dorokhov

Marketing Manager at Squaretalk. A die-hard MarTech enthusiast with an affinity for smooth marketing automation.

Table of Contents:

In the grand concert hall of marketing technology, those of us fine-tuning the instruments often find ourselves seeking that perfect pitch. Sure, "out of the box" solutions can provide a catchy tune, but for the maestros among us, it's about crafting a full-blown symphony. While they set the rhythm, the true depth comes from knowing how to strike the right (API) keys. ūüéĻ

As with any great performance, it's the intricate details and custom orchestrations that turn a simple melody into a memorable masterpiece.

Don't reinvent the wheel.
Abstract's APIs are production-ready now.

Abstract's suite of API's are built to save you time. You don't need to be an expert in email validation, IP geolocation, etc. Just focus on writing code that's actually valuable for your app or business, and we'll handle the rest.

Get started for free

What's the Buzz About Data Enrichment? 

In the dynamic world of SaaS, having the right data at your fingertips is essential. But not all data is created equal. Enter data enrichment, which transforms raw, unprocessed information into actionable, meaningful insights. 

Here's why businesses like Squaretalk, where time is money and efficiency is key, consider data enrichment more than just a nice-to-have: 

  • Maximized Efficiency: At companies like Squaretalk, every minute of the sales team's time is invaluable. Manual checks and data sifting can eat into productive hours. Data enrichment tools keep these tasks to a minimum.¬†
  • Focus on Core Strengths: A salesperson's true strength lies in building rapport, understanding client needs, and closing deals. They shouldn‚Äôt be bogged down by mundane tasks. With data enrichment, they can focus on what they do best.¬†
  • Informed Decision Making: Enriched data provides a comprehensive view of potential clients. This means businesses can make decisions based on insights, rather than assumptions.¬†
  • Enhanced Personalization: Understanding a lead better equips businesses to tailor their approach. This could be in the form of personalized emails, targeted campaigns, or even pitch presentations.¬†
  • Streamlined Marketing Campaigns: With consistent and accurate data, marketing teams can design campaigns that resonate better with their target audience. No more shooting in the dark!¬†
  • Improved Data Health: Regular data enrichment ensures that a company‚Äôs database is always up-to-date. This reduces the chances of outdated or redundant information affecting business decisions.
  • Cost Efficiency: While there's an upfront cost associated with implementing data enrichment tools, the long-term savings, in terms of time and potential revenue losses, are substantial.¬†
  • Reduced Risk of Errors: Mistakes in communication or misinterpretation of data can have costly implications. Data enrichment minimizes such risks by ensuring accuracy.
  • Scalability: As businesses grow, so does their data. Data enrichment tools can seamlessly handle increasing volumes of data, ensuring businesses are always ready for the next step.¬†

Integration: The Why? 

The Pre-Abstract Era 

At Squaretalk, we realized the immense value of data enrichment early on. However, before we discovered the magic potion that is Abstract API, our CRM experience with Zoho had its share of hurdles (let's just say our operations hit a few off-notes). 

Let's take a trip down memory lane and examine those pre-integration days. 

  • The Issue of Bounced Communications: High bounce rates, primarily due to leads providing incorrect emails (intentionally or unintentionally), meant missed opportunities and ineffective marketing campaigns.¬†
  • Time-Consuming Manual Efforts: Without immediate insights into a lead's industry, location, or company size, sales teams would often need to go through multiple interactions before having a productive discussion. Sales representatives often ventured into tedious digital scavenger hunts, sifting through companies‚Äô websites to unearth their LinkedIn pages and understand industry backgrounds.¬†
  • Inconsistent Data: Different sources can provide varying information, leading to confusion. Without a reliable method to collate and validate this data, maintaining consistency became a nightmare.¬†
  • Inability to Segment Effectively: With raw and unprocessed data, creating targeted marketing campaigns was challenging. Personalized campaigns, essential in today's marketing world, were almost off the table.¬†
  • Risk of Poor Customer Experience: Wrong information could lead to misguided communications. Imagine calling a potential lead at 3 AM, their time, just because the timezone wasn't clear (although this had never happened to our team, the risk was always there).

By welcoming Abstract API into our operations, we aimed to streamline our processes, ensuring that every interaction resonated with precision and clarity. The goal was clear: better understand our leads and save our sales reps time. 

A Turning Point: The Lead That Almost Slipped Away 

It all became crystal clear one day when we encountered a lead with tremendous potential. This individual was marked as 'unqualified' by a sales representative, all because of a seemingly "invalid phone." Upon closer inspection, it turned out the lead had made a minor error in their contact details‚ÄĒa redundant 0 in their phone number. That oversight almost cost us a valuable connection.¬†

This incident was the catalyst. We recognized the need for a system that not only validates but also offers corrective suggestions when necessary. We couldn't afford to miss out on potential business opportunities due to such trivial mistakes. 

Diving Deeper: Custom Workflows at Squaretalk with Abstract API (And How We Did It) 

When I initially made the switch to Zoho, I found myself grappling with its intricate mechanics and often felt a pang of nostalgia for the familiarity of Hubspot. In fact, I'll admit there were moments of doubt; had I steered our marketing operations in the right direction? 

But as I delved deeper into Zoho, a new horizon unfolded. The initial learning curve and complexity gave way to powerful customization opportunities, especially with Zoho Deluge custom functions. This newfound appreciation for adaptability and tailoring led us to start using Abstract API, transforming our CRM capabilities from standard to sterling. 

Now, let's pull back the curtain and delve into the heart of our custom workflows that are revolutionizing lead engagement at Squaretalk. 

Structure 

  1. Zoho forms capture the IP when a form is submitted. 
  2. On lead creation, the API fetches the geolocation data. 

This data updates various fields in the lead record, including a field indicating if the IP originates from a VPN.


// Replace "YOUR_API_KEY" with your actual API key
api_key = "YOUR_API_KEY";
// Replace "LEAD_ID" with the actual ID of the lead record to update
lead = zoho.crm.getRecordById("Leads",LEAD_ID);
ip_address = lead.get("IP_address");
// Make API request to get geolocation data for IP address
response = invokeurl
[
url :"https://ipgeolocation.abstractapi.com/v1/?api_key=" + api_key +
"&ip_address=" + ip_address
type :GET
];
// Parse JSON response to extract relevant data
country = response.get("country");

region = response.get("region");
city = response.get("city");
timeZoneName = response.get("timezone").get("name");
gmtOffset = toString(response.get("timezone").get("gmt_offset"));
isVPN = response.get("security").get("is_vpn"); // Get VPN Status
// Construct the field update map
fieldUpdate = Map();
fieldUpdate.put("Country_IP",country);
fieldUpdate.put("Region_IP",region);
fieldUpdate.put("City_IP",city);
fieldUpdate.put("Time_Zone_IP",timeZoneName);
fieldUpdate.put("Time_Zone_GMT_IP",gmtOffset);
fieldUpdate.put("Using_VPN_IP",isVPN); // Update based on VPN status
// Update the lead record with new data
updateResult = zoho.crm.updateRecord("Leads",LEAD_ID,fieldUpdate);

Use cases and benefits 

  • Reducing Form Length: By capturing the IP and subsequently understanding the location, you can eliminate the "Country" field in the form, making it more user-friendly (which can boost conversion rates).¬†
  • Region-tailored Marketing: Understanding a lead's location allows for region-specific marketing strategies, or can immediately unqualify leads from countries we don‚Äôt have operations in.¬†
  • Improved Marketing Accuracy: Tailored strategies based on accurate location data (knowing when to call or to send an email) can boost conversion rates.¬†
  • VPN Detection: VPNs are savvy tools that can sometimes masquerade a user's real location. With the new script, you can spot if a lead is behind a VPN. This adds a layer of lead validation. Is a lead masking their location? It could be totally innocent, or they might be up to something fishy. Either way, it's valuable intel for your sales strategy.

2. Company Information Enrichment 

Structure 

  1. Upon lead creation, the domain from the lead's email is extracted. 
  2. The API then fetches detailed company data based on the domain. 
  3. Key data points update the lead record.

// Replace "YOUR_API_KEY" with your actual API key
api_key = "YOUR_API_KEY";
// Replace "LEAD_ID" with the actual ID of the lead record to update
lead = zoho.crm.getRecordById("Leads",LEAD_ID);
email = zoho.crm.getRecordById("Leads",LEAD_ID).get("Email");

domain = email.getSuffix("@");
// Make API request to get geolocation data for IP address
response = invokeurl
[
url :"https://companyenrichment.abstractapi.com/v1/?api_key=" +
api_key + "&domain=" + domain
type :GET
];
// Parse JSON response to extract relevant data
year_founded = toString(response.get("year_founded"));
industry = response.get("industry");
employees_count = toString(response.get("employees_count"));
country = response.get("country");
linkedin_url = response.get("linkedin_url");
fieldUpdate = Map();
fieldUpdate.put("Domain",domain);
fieldUpdate.put("Year_founded",year_founded);
fieldUpdate.put("Industry_API",industry);
fieldUpdate.put("HQ_Country",country);
fieldUpdate.put("Company_LinkedIn",linkedin_url);
fieldUpdate.put("Employees_count",employees_count);
updateResult = zoho.crm.updateRecord("Leads",LEAD_ID,fieldUpdate);

Use cases and benefits 

  • Deep Dives: Allows the sales team to understand a lead's company background without manual research.¬†
  • Tailored Sales Pitches: Information like "year founded", "industry", and "employee count" can guide the sales team's approach.¬†
  • Time-Efficient: Reduces the sales team's research time, enabling them to focus on making the sale.¬†‚Äć
  • Informed Conversations: Leads appreciate when you know a bit about their background ‚Äď it makes for more meaningful interactions.

3. Phone Number Validation 

Structure 

  1. Upon lead creation, the phone number is checked for validity. 
  2. If found to be invalid, a tag is added. If valid, more granular details are fetched, and the record is updated. 
  3. In cases where the phone number doesn't conform to the international standard, it's autocorrected to the right format.
// Replace "YOUR_API_KEY" with your actual API key
api_key = "YOUR_API_KEY";
// Replace "LEAD_ID" with the actual ID of the lead record to update via
Edit Arguments
phone = zoho.crm.getRecordById("Leads",LEAD_ID).get("Phone");
// Make API request to get geolocation data for IP address
response = invokeurl
[
url :"https://phonevalidation.abstractapi.com/v1/?api_key=" + api_key
+ "&phone=" + phone
type :GET
];
isValid = response.get("valid");
phoneCountry = response.get("country").get("name");

internationalNumber = response.get("format").get("international");
if(isValid == false)
{
mp = Map();
mp.put("tag_names","Invalid phone");
response = invokeurl
[
url :"https://www.zohoapis.com/crm/v2/Leads/" + LEAD_ID +

"/actions/add_tags?"
type :POST
parameters:mp
connection:"tagupdate"
];
}
else if(isValid == true)
{
fieldUpdate = Map();
fieldUpdate.put("Phone_is_valid",isValid);
fieldUpdate.put("Phone_country",phoneCountry);
if(phone != internationalNumber)
{
fieldUpdate.put("Phone",internationalNumber);
}
updateResult = zoho.crm.updateRecord("Leads",LEAD_ID,fieldUpdate);
}

Use cases and benefits 

  • Avoiding Dead Ends: We ensure the sales team isn't investing time in leads armed with faulty phone numbers.¬†
  • International Comprehension: By recognizing and adjusting to the international format, we make certain we're hitting those dial tones correctly.¬†
  • Precision at its Best: Autocorrection ensures numbers aren't just valid but are also presented in the most universally comprehensible manner.¬†
  • Database Hygiene: Autocorrection aids in maintaining a uniform database, making it simpler for the team to understand and utilize.

4. Email Validation and Autocorrection

Structure 

  1. On lead creation, the email is validated using Abstract’s Email Validation and Verification API. 
  2. If an autocorrect suggestion exists, the email is updated. 
  3. If undeliverable, a tag is added.
// Replace "YOUR_API_KEY" with your actual API key
api_key = "YOUR_API_KEY";
// Replace "LEAD_RECORD_ID" with the actual ID of the lead record to update
email = zoho.crm.getRecordById("Leads",LEAD_ID).get("Email");
// Make API request to get email validation data
response = invokeurl
[
url :"https://emailvalidation.abstractapi.com/v1/?api_key=" + api_key
+ "&email=" + email
type :GET
];
deliverability = response.get("deliverability");
autocorrect = response.get("autocorrect");
info deliverability;
info autocorrect;
if(autocorrect != null && autocorrect != "" && autocorrect != email)

{
fieldUpdate = Map();
fieldUpdate.put("Email",autocorrect);
updateResult = zoho.crm.updateRecord("Leads",LEAD_ID,fieldUpdate);
}
else if(deliverability == "UNDELIVERABLE")
{
mp = Map();
mp.put("tag_names","Undeliverable email");
response = invokeurl
[
url :"https://www.zohoapis.com/crm/v2/Leads/" + LEAD_ID +

"/actions/add_tags?"
type :POST
parameters:mp
connection:"tagupdate"
];
}
info fieldUpdate;
info updateResult;
info mp;

Use cases and benefits 

  • Reducing Bounces: Avoid sending emails to addresses that are bound to bounce back.
  • Better Open Rates: By ensuring you're sending to valid addresses, you boost your email open rates.¬†
  • Enhanced Accuracy: In cases where potential leads might have made a typo, the system autocorrects, ensuring they still receive your communication and respecting the initial user intent.¬†

Now, we have a dedicated ‚ÄúData enrichment‚ÄĚ section within the Lead module of Zoho CRM, populated with all the necessary data. Here's how it looks:

‚Äć

Charting Our Future Course with Abstract 

At Squaretalk, resting on our laurels is not our style. We're always looking to ascend to the next level. With Abstract bolstering our capabilities, here are some innovative directions we're eyeing: 

Dynamic Lead Scoring 

The Game Plan: Leverage data from Abstract to refine our lead scoring mechanism. 

In Action: This means favoring companies with a more substantial workforce, giving them priority in our outreach pipeline. 

Segmented Marketing Campaigns 

The Game Plan: Classify leads based on specific criteria like industry, company size, location, or tech stack. Diversify our email strategies based on the rich industry data Abstract offers. 

In Action: Run targeted ad campaigns or webinars addressing pain points specific to each segment, sending a captivating case study related to a lead's industry, ensuring the content they receive is always relevant and resonates deeply. 

Personalized Onboarding 

The Game Plan: Use enriched data to tailor the user onboarding experience. 

In Action: Offer industry-specific tips and best practices during the initial setup or as in-app nudges.

Product Development Insights 

The Game Plan: Analyze enriched data to understand industry trends and evolving needs. 

In Action: Influence your product roadmap to introduce features that resonate with current market demands. 

Enhanced Customer Support 

The Game Plan: Equip your customer support team with enriched data. 

In Action: Enable quicker issue resolution by understanding the client's context without lengthy back-and-forths. 

Wrap-Up: Turning Data into Decisions 

In our journey through the intricate world of CRM and data enrichment, we've unearthed the undeniable potential that lies within the marriage of the two. From streamlining Squaretalk's sales processes to crafting hyper-targeted marketing campaigns, the boundaries are only set by our imagination. 

Here's what we've unpacked: 

  • Power of Precision: Data enrichment is not about quantity but quality. It's about equipping your team with the right insights at the right time.¬†
  • Personalized & Authentic: With enriched data, we're not just chasing leads; we're building relationships. Genuine, authentic, and meaningful connections that resonate.
  • Future-Forward: Our exploration into the "next steps" showcases the expansiveness of opportunities. It's not just about the now, but also the next. Are we ready for what's to come? Absolutely.¬†

As we move forward, let's remember one thing: In the sea of automation, let's not lose the human touch. It's the blend of technology and personal connection that creates lasting impressions. 

So, here's to more insights, more connections, and more growth. Cheers to a future enriched by data and driven by purpose! ūü•āūüėä

4/5 stars (2 votes)

Ready to transform your data strategy like Squaretalk? Dive into Abstract's APIs today and unlock actionable insights for your business!

Get started for free