The problem
Your sales and support teams live in two windows at once. The phone system rings on a softphone or a desk handset, and Zoho CRM sits in a browser tab with no idea a call is happening. An agent hears a number, retypes it into the search bar, hopes the format matches, and by the time the record is open the caller has already repeated their name twice. After the call nobody logs anything, so the Calls module is thin, Last Activity Time on the Lead is stale, and Zoho Analytics reports on call volume are guesswork.
The same gap costs you on the outbound side. Reps copy numbers out of the Contact record into a dialler, mistype one digit, and lose the attempt entirely. There is no recording link on the record, so a disputed commitment cannot be checked. Managers cannot answer basic questions: how many dials did the team make yesterday, what is the connect rate by owner, which accounts have had no voice contact in 60 days.
Zoho ships telephony hooks, but they only fire for the phone systems that have already been wired into your org. If you run your own PBX, a SIP trunk from a regional carrier, or a contact-centre platform your telco sold you, nothing connects out of the box. Building that bridge is the job.
What ECOSIRE builds
This is a build-to-order connector. There is no packaged download and no trial. After a scoping call we build the integration against your specific PBX and your Zoho org, then install and configure it for you.
Call event bridge
We build a middleware service that consumes your PBX event stream — AMI, ARI, an event socket, or the webhook/REST callbacks your platform exposes — and normalises every event into a small set: ringing, answered, ended, missed, transferred. Each event is authenticated, de-duplicated against a call identifier, and queued so a PBX restart or a brief network drop does not lose a call. Where your platform prefers polling over push, we build a scheduled reconciliation pass instead of pretending the stream is reliable.
Screen pop in Zoho CRM and Zoho Desk
An inbound ringing event triggers a lookup across the modules you nominate — Leads, Contacts, Accounts, and Desk Contacts — using the Zoho CRM REST API search endpoints with normalised phone matching. Numbers are compared in E.164 form so +971 4 555 0100, 04-5550100 and 0097145550100 all resolve to the same record. On a match, a Sigma widget in the CRM sidebar and a Desk extension panel present the record with the fields you choose, recent open Deals, the last three Calls, and any open Desk ticket. On no match we present a create panel pre-filled with the caller ID so the agent captures the lead instead of losing it.
Click-to-call
We add call buttons to the Phone and Mobile fields on the modules you nominate, and to related lists so a rep can dial from a Deal or a Case without navigating away. The click issues an originate command to your PBX for the agent's own extension, so the desk phone or softphone rings first and the customer is connected on answer. Agent-to-extension mapping is held in a custom module or in the user profile fields, and is editable by an administrator without a code change.
Automatic call logging
On call end we create or update a record in the Calls module with direction, start time, talk time, dialled and presented numbers, agent, outcome and a disposition value your team chooses. Custom fields carry the PBX call identifier and the recording reference. The Call is related to the correct Contact, Lead, Account and Deal so it appears in the record timeline and rolls into Zoho Analytics without a manual join. Where a Desk ticket is in play, a comment or time entry is written to the ticket via the Desk REST API.
Recording access without exposing the PBX
Recordings stay where your compliance policy says they stay. We write a reference onto the Call record and build a short-lived, permission-checked link so an authorised user can play the recording from Zoho, while unauthorised users see nothing. If you require recordings inside Zoho instead, we attach them to the Call record and document the storage impact honestly.
Deluge, workflow and automation surface
Custom functions written in Deluge expose the connector to your existing automation: create a follow-up Task after a missed call, move a Deal stage after a qualified conversation, notify an owner in Cliq when a key account calls in, or trigger a Zoho Flow to fan the event out to another system. Because the logic lands in workflow rules and custom functions, your administrator can adjust it later without ECOSIRE.
Who this is for
Sales teams running outbound on a PBX their telco supplied. Support desks on Zoho Desk that answer on the phone but report in tickets. Multi-branch businesses where each office has its own extension range and calls must be attributed to the right owner. Operations managers who need call activity to be a measurable part of pipeline reporting rather than an anecdote.
How delivery works
Scoping call. We go through your PBX make and version, the event and originate interfaces it exposes, network topology and whether the PBX is reachable from a hosted service or needs an on-premise agent, which Zoho apps and editions you run, module and field mapping, agent-extension mapping, and your recording policy.
Fixed quote. You receive a written scope with the exact event set, modules, fields and behaviours, plus the price and lead time. Nothing starts before you approve it.
Build. Typical lead time is two to four weeks depending on PBX complexity and how many modules are in scope. We build against a sandbox or a non-production Zoho org where one exists.
Install in test, then production. We install into your test environment first and run a live call matrix with you: inbound match, inbound no-match, outbound, transfer, missed, and simultaneous calls on two extensions. Only after you sign off does the connector go to production, alongside a rollback path.
Support. Go-live is attended. You get a support window for defect fixes and configuration adjustments, with the scope of that window written into the quote.
What we will tell you honestly
If your PBX exposes no usable event or origination interface, a screen pop is not possible and we will say so at the scoping call rather than after invoicing. If your PBX sits behind a firewall with no inbound route, the design changes to an on-premise agent and the quote reflects it. Carrier-level number presentation varies; where your trunk withholds caller ID, no connector can match a record.