M cenaly.ru
🧩 Widgets for Your Website

📞 Call From Website

A call button on your site: the visitor talks straight from the browser, no dialling and no apps to install

Documentation

Call from website

The Call from website widget adds a handset button to your site. The guest clicks it and talks straight from the browser: no number to dial, no app to install, no long-distance charges for them. The call reaches your telephony and follows the business's normal inbound rules.

Don't confuse it with callback: there, the guest leaves their number and waits to be called — here, they call themselves and talk right away.

The widget is free: no separate add-on to buy. You only pay for your own telephony.

Where to turn it on: Admin panel → Marketing → “My Website” → the “Call from website” card. The toggle turns the widget on, the gear icon opens the status panel. The “Move to sidebar” button on the card gives the widget its own menu item.


Installing it on your site#

The widget has no code of its own — the shared tag from the “My Website” section does the job:

<script src="https://cdn.cenaly.ru/site/v1.js" data-domain="YOUR-DOMAIN" async></script>

One line in <head> or right before </body> — and from there the set of active widgets is controlled by toggles in the admin panel. Step-by-step platform instructions (HTML, Google Tag Manager, WordPress, Tilda/Wix, Shopify, Webflow) are in the My Website article, in the “Installing on popular platforms” section. A standalone webcall-widget/v1.js tag lives there too, in the “Advanced” block.

What the installation check sees, and what it doesn't. The “Check installation” button reads the page's source HTML and distinguishes four outcomes: shared loader found, only separate tags found, another location's code found, or no code at all.

⚠️ A tag that's inserted in the browser by Google Tag Manager won't be seen by the check — it's genuinely not in the source HTML. That's normal: check with your own eyes that the button appears on the page.


Configuring the widget#

This widget has no settings of its own — no colour, schedules, or forms. It either makes the call or honestly says why it can't, so its panel shows the two conditions everything depends on:

  1. Telephony is deployed for the location. If not, the panel says so directly and sends you to the “Telephony” section — that's where accounts, lines, routing, and call recording are configured.
  2. The built-in web-call line is enabled. If it's off, the panel shows a warning and an “Enable line” button — you can turn it on right there without leaving the widget settings.

Once both conditions are met, the panel shows a green “all set”. Everything else — answer mode, agents, greeting, a phone assistant — is configured in the “Telephony” section; there's a link to it in the footer of the same window.

The button's appearance can still be set — via tag attributes, if you place the widget as a standalone line: colour (data-color), corner (data-position="left|right"), label (data-label — with it, the round button becomes a pill with text), and language (data-lang).


What happens after clicking the handset#

The guest sees the call panel and moves through clear states: preparing the call → allow microphone access → connecting → ringing → in conversation → call ended. During the conversation, a mute-microphone button and a way to end the call are both available.

From the business's side this is a regular inbound call: it reaches your PBX and follows your rules — agents, greeting, forwarding, a phone assistant. Recording and analysis work the same as for any other call, in the “Calls” section: the same place has the call card, transcript, and metrics, if you have them enabled.

There's no separate “widget inbox”, and there doesn't need to be: a call from the website isn't a special entity, it's just another call to your line.


Limits#

  • You need your own telephony. The widget is only the “last mile” to the guest's browser; your PBX is what receives the call. Without deployed telephony, the button doesn't call anywhere.
  • The web-call line needs to be enabled. This is a separate toggle (the widget panel turns it on in one click). While it's off, the guest gets “calls from the website are currently unavailable”.
  • A microphone and permission for it are required. The browser will ask for access; a guest declining and the microphone being blocked by your page's security policy look the same to the widget — the guest is shown a request to allow the microphone.
  • Outbound from the guest only. The browser doesn't register as a phone and can't receive inbound calls — you can't call the guest back in the same tab. For a “call me back” scenario, use callback.
  • One call at a time per open panel; there's protection against frequent retries — after too many attempts the guest sees “too many calls, try again later”.
  • The widget has no display rules. The button appears on every page where the tag is placed. To limit it by page, device, or schedule, hide the handset inside multibutton instead — it does have display rules.
  • This widget doesn't exist on our storefront. Call from browser is a product for your own site; the “Call from browser” item never shows in the multibutton's fan menu on the Cenaly storefront, because there's no slot for it there.

Troubleshooting#

There's no button on the site.

  1. Tag not found — click “Check installation”. “No code” — the tag isn't inserted, or it's missing on some template pages; “code for another location” — the tag has someone else's data-domain. If the tag is inserted by GTM, the check won't see it — look at the site yourself.
  2. Changes haven't landed yet — widget files are served through a CDN with a 5-minute cache. Wait a bit and reload the page with the cache cleared.
  3. The widget is off — the toggle on the “Call from website” card.
  4. The multibutton absorbed the handset — if multibutton is on and its fan menu has a “Call from browser” item, the widget's own button is deliberately hidden so two buttons don't crowd the corner.

There's a button, but the call doesn't start.

  • “Calls from the website are currently unavailable” — the web-call line or the widget itself is off: open the widget's gear icon, the panel will show what's missing and can turn the line on;
  • “The line is currently unavailable” — the location's telephony isn't deployed or isn't responding: see the “Telephony” section;
  • “Too many calls” — the anti-abuse protection against frequent retries kicked in, try again later;
  • “Microphone access is needed for the call” — the guest denied access, or the microphone is blocked by your page's security policy. Check that the site opens over HTTPS: without it the browser won't grant microphone access at all.

The call goes through, but the phone doesn't ring at the business. This is now an inbound-call scenario: check in the “Telephony” section where the line leads — the answer mode, agents, and routing rules. The widget only gets the guest to your PBX.

There's no call in the “Calls” section. Recordings and cards appear only if call recording is enabled for the location; it's configured in the same telephony section.


FAQ#

Does the guest need to install or register anything?#

No. The conversation happens through the browser: only microphone permission is needed. No app, no account, no phone number from the guest is required.

Does the guest pay for such a call?#

No, for them it's just internet traffic. Your side is regular telephony: the call reaches your PBX, and from there your rules and your carrier's rates apply.

How is this different from a callback?#

Here the guest talks themselves, right away. With callback they leave their number, and the system calls them later — these are different scenarios, and you can turn both on together.

Will visitors see my phone number?#

No, the number isn't published on the site: the guest presses the handset, and the connection runs through our infrastructure to your PBX.

Can I place the button not in every corner and not on every page?#

The corner and the label are set through the tag's attributes. The widget has no display rules for pages, device, or schedule — if you need those, turn on multibutton and put the call in as an item in its fan menu: it does have those conditions.

What does the guest see while the connection is being set up?#

Clear states in their own language: “Preparing the call”, “Please allow microphone access”, “Connecting”, “Ringing”, “Call in progress”, “Call ended”. A failure is also explained in words, not an error code.

Does this work on mobile?#

Yes, the conversation runs the same way in mobile browsers. The site must open over HTTPS — otherwise the browser won't grant microphone access.

Where are call recordings stored?#

In your brand's cloud: AWS for cenaly.com, Yandex Cloud for cenaly.ru. A call from the website is stored the same way as the rest of your telephony's calls.


  • My Website — the install code and the other eleven widgets
  • Callback — the guest leaves a number, we call them
  • Multibutton — gather the handset, chat, and messengers into one fan menu
  • Chat with guests — conversations on the site and in messengers