Integrations — Platform vendors
You build the platform. We’ll build the integration.
Callnsight syncs the call records and recordings a phone system holds, keeps them searchable by any part of a number for years rather than days, and stores the audio on its own storage or on the customer’s S3 bucket or SFTP server. Every integration so far started on our side — we picked a platform, read its developer documentation, and worked out whether the recordings were reachable at all. If you would rather we started with yours, this is what we need to find out.
Email us your API docs See how the shipping integrations work
Not a platform vendor? If the question is whether Callnsight works with the phone system you already run, the integrations page is the one you want.
The two shapes an integration takes
Every provider so far falls into one of two, and the app is built around exactly that split. Tell us which one you are and half the design conversation is already over.
Polled
Vodia todayWe hold a per-tenant credential and ask your API on a schedule — every fifteen minutes, re-scanning a six-hour window so a record that arrives late is still picked up, and backfilling whatever history the platform still holds on the first run.
Anything we can ask for twice we can repair later: a download that failed is retried, and a recording can be re-fetched long after the call.
Webhook
Broadvoice todayYou push each completed call to a URL we generate per tenant, and we hold no credentials at all. The URL is the secret, and a delivery meant for another tenant is refused.
Two consequences worth knowing before you pick it: history starts the day the customer connects, because there is nothing to backfill from, and where the audio arrives as a signed URL that expires, we can only fetch it while that link is alive.
A platform can be both — an event to say a call is done, an API to fetch it — and given the choice, that is the pair we would take.
What we need from your platform
Required
A way to list calls for one tenant
Call detail for a single customer rather than the whole reseller, filtered by a time range and paged so a walk can be checkpointed and resumed. A total, if you publish one, is what puts a progress figure in front of a customer while the first sync runs. Every call needs an identifier that is the same on a second read: it is what stops a retried delivery from writing the call twice.
Required
A way to fetch the recording audio
The hard one, and the one that decides everything else. Give us a request that returns the audio for a call — any common format, a redirect or a signed URL is fine — and the rest is work we can do. Without it there is nothing to archive, and what we would build is a reporting integration, which is not the product.
Ideal
An event when the recording is ready
Ready, not finished: the two are rarely the same instant, and an event that fires before the audio exists costs us the poll it was meant to save. Sign it if you can. A signed event is verified on its own terms, where an unsigned one leaves verification leaning on a source-address allowlist.
Failing that
Somewhere the platform can put the files by itself
Plenty of appliances have no API worth the name but can already upload recordings to an FTP target or an S3 bucket unattended, with call detail as a scheduled export. Callnsight has no drop-folder ingest today — that is honest rather than coy — and a platform that can do this unattended is the strongest argument for building one, because it needs nothing installed on the customer’s box and nothing for either of us to support afterwards.
What we will ask you about
Seven questions, each of which has changed the design of an integration we have already built.
- Retention
- How long the platform keeps a recording before it ages off, and whether a customer can change that. It sets how much history a first sync can recover, and how quickly a missed window becomes permanent.
- Packaging
- Whether recording, the API, or both sit behind a paid add-on or a higher tier. An integration a customer cannot switch on without buying something else is a different conversation, and a better one to have now than later.
- Tenancy
- Whether credentials are issued per tenant or per reseller, and whether one connection maps cleanly to one customer. Domain-multi-tenant platforms fit the model the app already has; a single reseller-wide key changes the connection model.
- Link lifetime
- Whether a recording URL expires, and how long it lives. That one number decides whether a failed download can be repaired an hour later or a week later.
- Timestamps
- Whether call times carry an offset. We store UTC and refuse a timestamp with no zone rather than guess one, so a bare local time is a question we will come back with.
- Limits
- Rate limits, concurrency caps, and what your platform does when a new customer’s first sync asks for a year of history at once.
- Access to try it
- A sandbox tenant with call-shaped data on it, and an engineer we can send questions to. That, with the documentation, is the whole ask.
How this goes
First
You tell us what you have
One message: a link to the developer documentation, which of the two shapes you fit, and how tenancy works on your platform. If the docs sit behind a login or an NDA, say so — we will do the paperwork.
Then
We read it and answer honestly
We will tell you whether we can build it, and what is missing if we cannot. Where the recordings are not reachable we would rather say so than take a meeting about it, and you get that answer from an engineer who has read your API rather than from a form response.
After that
We build it, run it and support it
The adapter is ours to write and ours to maintain. What we need from you is the sandbox tenant and an engineer who will answer questions while the edge cases get found — multi-leg calls, retried deliveries, the recording that is not ready when the event says it is.
There is no partner programme, no listing fee and nothing to sign. We are not selling you an integration — we are asking for the documentation.
Questions
- Which platforms does Callnsight support today?
- Broadvoice and Vodia. Between them they cover both shapes above, which is why both are described in the present tense. The list is short and new, and that is the reason this page exists: what gets built next is decided by which vendor gets in touch, not by which platform we happened to read about.
- What does an integration cost us?
- Nothing, in either direction. There is no partner programme, no listing fee and nothing to sign. The cost is engineering attention — documentation, a sandbox tenant, and somebody who answers questions while we build. Callnsight writes the adapter, runs it and supports it.
- We expose call records but no way to fetch the audio. Is that enough?
- No. Without the recording audio there is nothing to archive, and what we would be selling is a report on calls we cannot produce. Tell us anyway if audio access is on your roadmap — that is a conversation worth having before it is built rather than after.
- Do you need our customers’ credentials?
- On a polled integration, yes: the ones your customer mints themselves in your admin interface, read-only wherever your permission model allows it. They are encrypted before they reach our database and are never sent to a browser. On a webhook integration we hold nothing at all — the per-tenant URL is the only secret involved.
- Does Callnsight compete with our own reporting?
- Where a platform ships call reporting, it overlaps. Where it usually does not: history that outlives the platform’s own retention window, audio the customer can keep on their own S3 bucket or SFTP server, and one archive spanning more than one phone system — which is the part a customer with two of them cannot get from either vendor.
- How long does an integration take to build?
- It depends on what the platform hands over, and we would rather not quote a number we cannot hold. What shortens it: a documented listing endpoint with a time filter, audio we can fetch on demand, and identifiers that do not move. What stretches it: calls that arrive as several recording fragments to be stitched, links that expire, and timestamps with no offset.
Send us the developer documentation.
A link to the docs, which of the two shapes you fit, and how tenancy works on your platform is enough to get a real answer.