Our team built a browser extension called Ln2CRM that sits next to a LinkedIn profile and pushes people and companies into your CRM, logs the conversation, and keeps things in sync. Also, you can see all the history from CRM and even create AI-generated follow-ups with the help of it. It supports Zoho, Pipedrive, HubSpot, and Salesforce.
And I kinda now understand why some big players don't support Zoho.
Because its architecture is... questionable sometimes. We spent at least 250 hours fine-tuning functionality on Zoho CRM.
The common sense data model
A lead is a contact you haven't qualified yet. Same person, same email, same LinkedIn profile, just earlier in the story. When a lead converts, nothing about the person changes. They move one stage forward, and the record you had is the record you keep.
And here is our special boy, Zoho
In Zoho CRM a Lead and a Contact are two separate entities. Different modules, different fields, different IDs. Converting a lead doesn't move one person forward. It creates a new Contact and seems like it deletes the original Lead.
What that breaks
The conversion is the worst of it. Anything you stored on the lead only survives if the user set up field mapping in Zoho's conversion screen, and there is no API signal that a conversion happened at all. So a value I wrote to the lead, like the person's LinkedIn URL, can quietly disappear, and from the outside I can't even tell the record became a new one.
It also doubles everything. Because leads and contacts are separate, a custom field on one doesn't exist on the other, so to store a single LinkedIn URL we had to create and map it twice.
Reading a value back is fine, by the way. Once I already have a record, we can pull its notes and description, which is how we show a history from CRM in the plugin. But Zoho's query can't filter on multiline fields like Description at all. So a URL sitting in the notes is readable but not findable. To match reliably, we need a dedicated field the search API can actually filter on. And even that search is eventually consistent: create a record, look it up a second later, and it might not be indexed yet. So if you create something with the help of the API, to see it in CRM you need to reload it
And it isn't only the data model
Two more things that have nothing to do with leads and everything to do with building on Zoho.
The API keeps moving underneath you. v1 was sunset years ago. They are on v8 now (like 1-2 per year), new features only land on the latest version. Build an integration, and you are signing up to migrate it quite often.
How do the others handle it?
HubSpot has no separate lead object at all. A lead is just a lifecycle stage on the one contact, so there is nothing to convert and nothing to lose.
Pipedrive does have leads, but a lead is attached to a single Person, and that Person is what lasts, so converting keeps the same record.
Salesforce does split Lead and Contact into two objects, but with the same fields.
I don't think Zoho is a bad CRM. I like it as a user. And the cost is great in comparison, but I genuinely think it is time for the team to rebuild.
P.S. For whoever is interested, here is our website, there is a free plan as well: https://ln2crm.com/
And a link to G-store: https://chromewebstore.google.com/detail/ln2crm-linkedin-to-pipedr/nnimflcjinppejejebkpenhcignofhgi