> ## Documentation Index
> Fetch the complete documentation index at: https://docs.poly.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Share your agent

> Three ways to get your voice agent in front of someone: a link, a widget on your site, or a custom trigger via the Web Calling JavaScript API.

There are three routes for putting your agent in front of someone. Use them in order: link first, embed when you have a site to put it on, API when you need control over when the call starts.

## Quick reference

| You want to...                                  | Use                                                                     | Setup time                |
| ----------------------------------------------- | ----------------------------------------------------------------------- | ------------------------- |
| Send a colleague a link they can click          | [Shareable page](/widgets/test)                                         | 0 min, it's already there |
| Add a launcher to your live website             | [Embed the widget](/widgets/install)                                    | 5 min                     |
| Start a call from your own button or page event | [Web Calling JavaScript API](/polyphone/introduction#technical-details) | 30 min                    |

## Shareable page

Every agent has a hosted page on PolyAI's domain. Open the agent, go to **Configure > Web Calling**, copy the link from the **Test** tab, and send it. The recipient opens it in any browser and clicks the call button. They don't need an account.

This is the route to use for:

* Internal review before you ship.
* Sales conversations where the link does the demo.
* Quick external user testing.
* Anywhere you'd otherwise send a Loom.

See [shareable page](/widgets/test) for the configuration options.

## Embedded widget

When you're ready for actual visitors, drop Web Calling into your site's HTML. The whole install is one script tag:

```html theme={"theme":{"light":"github-light","dark":"github-dark"}}
<script src="https://messaging.poly.ai/widget/YOUR_UNIQUE_CODE.js"></script>
```

Generate the tag under **Configure > Web Calling > Embed**, then paste it just before `</body>` on the pages you want the launcher on. Visitors see a button bottom-right; clicking it opens a call.

You can run multiple widget variants per brand, region, or product line. Styling, language, and consent text are all configurable from **Configure > Web Calling**.

See [install on your site](/widgets/install) for Tag Manager and HTTPS notes.

## Custom triggers via the API

If you want your own button (not the default launcher) to start the call, the widget exposes a `window.PolyphoneAPI` object. Useful for tying the call to an in-app event, a CTA in your existing UI, or a JavaScript-driven flow.

```js theme={"theme":{"light":"github-light","dark":"github-dark"}}
// Start a call from a custom button
document.querySelector("#talk-to-us").addEventListener("click", () => {
  window.PolyphoneAPI.connectAndCall();
});

// Pass context to the agent mid-call
window.PolyphoneAPI.sendInfo("user_signed_in", { userId: "abc123" });
```

Full reference (commands, events, registration patterns) in the [Web Calling overview](/polyphone/introduction#technical-details).

## Before you share

A short checklist worth running before you send any link to anyone:

* **Open the share link in an incognito tab.** That's what your recipient sees.
* **Listen to the greeting.** If it's still the default scaffold message, ask Agent Builder to make it warmer or more specific.
* **Confirm the voice.** Set under **Configure > Agent voice**. You can swap it in one click and re-test.
* **Check the consent text** if consent is turned on. Lives in **Configure > Web Calling > Content**.

## What happens next

Every call placed through any of these channels lands in [Conversations](/analytics/conversations/introduction) with a full transcript and a recording. When something goes wrong (and it will), the fix loop is on [Iterate after a call](/learn/iterate-open-platform).
