Virtuo
Products

Connecting an AI agent to the systems you already run

Pratham GuptaFounder, Virtuo4 min read

An AI agent connects to your existing systems in three ways: webhook tools it calls mid-conversation to look something up, a REST API your software calls to send messages or place calls, and outbound webhooks that push events to you as they happen. All three are scoped by API key and signed.

An AI agent that cannot see your data is a very fluent stranger. It will answer questions about your policies perfectly well and then fall apart on the only question the customer actually asked, which is where their order is.

There are exactly three connections that fix this, and they run in different directions. Both Vibot and Vio expose all three.

1. Tools — the agent calls you, mid-conversation

A webhook tool is an endpoint of yours that the agent may call while the conversation is still happening. You describe what it does and what arguments it takes; the agent decides when it is needed.

This is what turns "I'll check and get back to you" into an answer. Order status from your ERP. A booking held in your calendar. Stock for a specific size and colour. On a voice call the timing constraint is real — the caller is listening to silence while your endpoint thinks — so these want to be fast lookups, not report generation.

The failure mode to design for is the one where your API is down. Decide in advance what the agent should say then, because the default of improvising is the worst available option.

2. The REST API — you call the agent

The other direction. A scoped API key, sent as a bearer token, lets your own software drive the platform:

You want toVibotVio
Start a conversationSend a template messagePlace an outbound call
Manage the listContacts, opt-outsContacts, campaign upload
Run a broadcastCampaigns and templatesCampaigns and progress
Read what happenedConversations, messages, leadsCall logs, leads, callbacks
Feed the agentKnowledge baseKnowledge base and tools

Three details worth knowing before you build against it. Keys are scoped — a website form that only needs to create contacts should not hold a key that can send messages and spend your wallet. Keys expire, ninety days by default, and a never-expiring key exists but makes you confirm that you meant it. And the key is shown once, because only a hash of it is stored; losing it means revoking and re-issuing, not asking support.

Send operations are idempotent. You pass a key with the request and a retry after a timeout returns the original result rather than sending the message twice. Anyone who has double-charged a customer through an over-eager retry loop knows why that matters.

3. Outbound webhooks — the platform calls you

The third direction is events pushed to you as they happen: a message received, a call completed, a lead captured, a campaign finished. Register an endpoint, and it is verified before anything is sent to it.

Every delivery is signed, so you can prove a payload came from us and not from somebody who guessed your URL. Failed deliveries retry; endpoints that stay broken get switched off rather than retried forever. Two rules for your handler: deduplicate, because a retry can deliver the same event twice, and do not assume ordering, because it is not guaranteed.

Polling an API on a timer to find out whether anything happened is the thing webhooks exist to replace. It is also, in our experience, the single most common thing to find still running six months after the webhook was set up.

What most businesses actually build

Almost nobody starts with all three. The common progression is a website form that creates a contact and fires a template message, then a webhook that drops new leads into a CRM or a sheet so sales sees them without opening another dashboard, and only then a proper tool that reads live data mid-conversation.

That last one is where the difference shows. An agent quoting your real stock, your real dispatch date and your real booking calendar stops being a nicer FAQ and starts being staff.

There is a catalogue of ready-made connectors for the common systems — calendar, sheets, CRM, e-commerce — and we only list the ones we can actually complete, so anything showing as coming soon genuinely is. For everything else there is a webhook.

The reference documentation is at docs.virtuo.in. If you would like us to look at the specific system you need this wired into, talk to us.

Written by Pratham Gupta, Founder, Virtuo. Questions about anything here? Talk to us.

← All posts