Link once, reuse everywhere
A connection is a base URL plus auth. Every endpoint under it inherits both, so adding the tenth endpoint takes as long as the first.
The same endpoint, three channels. On the website the visitor is signed in, so the call runs in their browser. On WhatsApp and Instagram the agent verifies their email first, then calls it server-side.
The visitor asks
On whichever channel they're on. The agent decides this needs account data.
Identity is verified
On WhatsApp and Instagram: a 6-digit code to their email. On your site: their own session, zero friction.
Your endpoint is called
Server-side with your stored credentials, or in the visitor's browser with their cookies. Logged either way.
The answer comes back
The agent reads the JSON and replies in plain language, with the follow-ups your API makes possible.
A connection is a base URL plus auth. Every endpoint under it inherits both, so adding the tenth endpoint takes as long as the first.
Server calls use the secret you stored, encrypted at rest. Browser calls run as the visitor, with their cookies, so your existing session auth just works.
Flip one switch and the agent verifies the visitor's email with a 6-digit code before calling. Your API receives an address Chatmount vouches for.
Offer a browser endpoint on the website and a verified server endpoint on WhatsApp. Scoping is enforced at runtime, not just drawn on the map.
Method, path, status, duration and where it ran, per endpoint, in the agent map. Test any endpoint from the dashboard before it goes live.
Private and internal addresses are refused, responses are size-capped, secrets never reach the browser, and mutating browser calls can ask the visitor first.
Two connections, because the website call and the WhatsApp call authenticate differently. Swap the base URLs for yours and the recipe is the same.
| On the website | On WhatsApp & Instagram |
|---|---|
| Base URLhttps://www.chatmount.co/api | Base URLhttps://services.chatmount.co |
| AuthNone — the browser sends the visitor's session cookie | AuthBearer, a Chatmount API key stored encrypted |
| EndpointGET /v1/subscription | EndpointGET /v1/subscription?email={{_verifiedEmail}} |
| Runs inThe visitor's browser | Runs inChatmount's server |
| IdentityTheir own session | IdentityRequires verified email |
| Available onWebsite widget · Help page | Available onWhatsApp · Instagram |
What the agent reads back:
{
"plan": { "id": "plus", "name": "Pro", "interval": "monthly" },
"status": "active",
"renews_at": "2026-10-01T00:00:00.000Z",
"credits": { "used": 412, "limit": 4000, "remaining": 3588 },
"limits": { "agents": 1, "channels": 5, "api_keys": 5 }
}Full field reference in the API docs. The agent map in your dashboard shows every connection, endpoint and call log in one place.
No. If it speaks HTTP and JSON, it works. For browser-side endpoints your API needs to allow CORS from your site and accept the session you already use; for server-side endpoints it needs to accept a bearer token, API key header or basic auth.
Each endpoint has a name and a plain-language description of when to use it. The model reads that and the inputs you declared, and calls the endpoint with the values it collected from the conversation.
Turn on "Requires verified email" for that endpoint. The agent asks for the customer's email, sends a 6-digit code, checks it, and only then calls your API with the verified address. The verification is tied to the conversation, so it isn't asked again.
Yes. The demo on this page is our own support agent connected to our real subscription endpoint. Nothing here is special-cased for us; you get the same building blocks.
Connected APIs are available on every paid plan. Browser-side execution and verified identity are included; there is no per-call charge beyond the normal message credits.
Link it in the agent map, pick where each endpoint runs, and your agent starts using it. 7-day free trial, cancel any time.