Phony

Availableapp.erp.io/phony/chats

Chats

One embed tag per site. The agent answers, qualifies, and captures — and the transcript lands in the same place as a call.

Install
One embed tag
Scope
Per property
Popup
Configurable delay
Metered
No — chat is not per-minute

Putting it on a site

Create a property

One per site. The property is what scopes the agent and its knowledge.

Copy the embed tag

A single script tag, unique to that property.

Put it on every page

Usually in the site layout rather than page by page.

Set the popup delay and the legal links

A few seconds is normal; instantly is intrusive; never means nobody uses it.

Check it in a private window

And read the warning below before concluding it does not work.

A CDN cache will hide a working deployment

If your site is behind a CDN with HTML caching, adding the tag changes the origin and not what visitors receive. The deployment succeeds, the tag is in your repository, and the widget does not appear — for you as well as for everyone else. Purge the cache before deciding anything is broken. This costs people an afternoon regularly.

app.erp.io/phony/chats
Chats

Last 7 days · 92 conversations · 3 properties

AllCaptured17Unresolved4
northwind.example

"Do you deliver to Ireland?" → qualified, captured

14:40Lead
northwind.example/pricing

"What is the minimum order?" → answered

13:02Answered
shop.northwind.example

"Where is my order?" → handed over

11:18Handover
northwind.example

Visitor left mid-conversation

09:55Abandoned
Chat transcripts. Same record shape as a call, different channel.

Scoping per property

Each property is scoped to its own agent and knowledge. On a single-brand site this is invisible. On several sites it is the difference between an agent that answers correctly and one that answers using another site's content — see Knowledge.

Do not put the widget on the product's own marketing pages by reflex

A chat tag belongs on sites where you want enquiries. Putting it somewhere it does not belong produces conversations nobody owns, and — if the knowledge is scoped elsewhere — an agent answering questions about the wrong subject entirely.

  • A delay of a few seconds converts better than an immediate popup and far better than none.
  • The widget carries links to your privacy notice and terms. Set them per property — a placeholder here is a real problem, not a cosmetic one.
  • The agent discloses that it is an AI assistant. That is not configurable off.
  • A visitor who closes the popup is not re-prompted on every page.

What this does not do

No human takeover in the widget

The agent can hand over to a person by another channel; there is no live-chat console for your team to type into.

No proactive messaging rules

The popup is a delay, not a behavioural trigger.

No visitor tracking or replay

Deliberately. See the module limits.

No file upload from a visitor

Text only.

No mobile SDK

Web embed only.

Questions

Does chat cost per minute?

No. The per-minute rate is call time.

Can we style the widget?

Basic appearance follows your branding. There is no full theming API.

Does it work on a single-page app?

Yes.