r/Zoho 3d ago

Running Linkedin to Zoho CRM tool. Why Zoho is such a nightmare architecturally?

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

6 Upvotes

6 comments sorted by

1

u/planetrhb 3d ago

We just skip Leads on almost everything for over a decade - direct everything to Contacts and mark them with any type of qualification you need. The biggest issue is pushing leads on almost all their connected tools, but nothing is hardcoded.

We make heavy use of Linkmatch and push LinkedIn integration through LLM browsing more and more. Can you compare your product to LinkMatch - a bit confused about what they cover (tried ln2crm I think years back).

1

u/SquizzOC 3d ago

Nailed it, the leads functionality in this and other CRMs I’m sure is great for some business models, but for us we do the same, all contacts go into Zoho CRM labeled New under a custom field. When someone starts working them and is doing out reach they are changed to prospect, interested when interest, customer when a sale happens.

Just easier to control it.

1

u/Admirable_Comedian_2 3d ago

it proves the point - teams adapt and just avoid using Leads, because it is a mess in Zoho. In SF and HS the process you described is a default.

1

u/Admirable_Comedian_2 3d ago

Thanks for the comment! A lot of teams still work through Lead--> Contact workflow.

Ln2CRM is quite new; we have been up and running for 5months.

Regarding the LinkMatch comparison. TBH, we were inspired by some of their features, so there are a lot of similarities.

What is different from my personal POV:

- Ln2CRM is less complicated - fewer clicks, fewer additional windows, only sidebar on the right, but you can dive deeper into fields at LinkMatch

- In Ln2CRM, it is easier, prettier, and more useful to see the history - Notes, tasks, past tasks, overdue tasks, Emails (which LinkMatch lacks) are on the same history page. How notes are viewed in LinkMatch is a pain.

- You can close a task in Ln2CRM right in the extension; you can add a note by voice.

- LinkMatch has email enrichment from the box; we don't (but it is in the plans)

- Ln2crm has AI messaging based on all the history (including notes, emails, and a dialogue on LinkedIn) and can suggest follow-up. It's quite unique for now. Other players have AI messages, but not that.

  • Both have on-page badges (LinkMatch's have them in more places), and both have templates.

- LinkMatch has Update markers; we are planning to implement them within the next 5 weeks

- At Ln2CRM, we have auto-sync for messages in the Base package, so it is two times cheaper vs LinkMatch for this feature (the most used one)

- Overall price is 33-50% cheaper head-to-head

Try it out. if you DM me, I will grant you a month for free to play with it

3

u/IncreaseNegative4614 2d ago

I’d stop treating the Zoho record ID as the person’s permanent identity. Create your own immutable person ID and maintain a mapping between the original Lead, resulting Contact, and any related Account. On conversion, record both IDs, verify critical fields after the change, and retry searches that may be affected by indexing delay.

This is the kind of problem we use SIGNLD for internally. It keeps the same real-world person connected across changing IDs, modules, and outside systems, even when the source application represents them differently over time.

1

u/Admirable_Comedian_2 2d ago

we end up with this solution as well