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

# Developer overview

> What you can build against WireDesk today: the chat widget and its JavaScript API, API call actions, a direct SIP trunk, and exports.

WireDesk is set up in the dashboard. As a developer, you usually have one of three jobs: put the chat widget on a site and wire it into that site's UI, let the agent call your own systems mid-conversation, or answer a security review. This tab covers all three.

## What you can integrate with

| Surface               | What it is for                                                                                                                                                                    | Start here                                     |
| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------- |
| **Chat widget**       | One script tag, `widget.js`, draws the launcher and opens the conversation in an iframe.                                                                                          | [Install the widget](/docs/widget/install)          |
| **JavaScript API**    | `wiredesk("open")`, `close`, `toggle`, `identify`, `update`, `hide`, `show`, `reset`, `destroy`, plus `data-wiredesk-open` markup. Calls made before the script loads are queued. | [JavaScript API](/docs/widget/javascript-api)       |
| **Widget events**     | `ready`, `open`, `close`, `message` and `unread`, for analytics or your own unread badge.                                                                                         | [Events](/docs/developers/events)                   |
| **Per-page settings** | `window.wiredeskSettings` and `data-*` attributes that change the launcher on one page.                                                                                           | [Widget settings](/docs/developers/widget-settings) |
| **Verified visitors** | Your server signs the signed-in user's id with HMAC-SHA256, so the agent knows who it is talking to.                                                                              | [Verified visitors](/docs/widget/verified-visitors) |
| **Allowed domains**   | Stops your public widget key from working on anybody else's site.                                                                                                                 | [Allowed domains](/docs/widget/allowed-domains)     |
| **API call actions**  | The agent calls an HTTPS endpoint of yours, such as an order lookup, and answers from the response.                                                                               | [API calls](/docs/actions/api-calls)                |
| **Direct SIP trunk**  | Enterprise only. Send calls from your own trunk straight to the agent. We switch it on per workspace.                                                                             | [Direct trunk](/docs/developers/direct-trunk)       |

## What does not exist yet

WireDesk has **no public REST API** and **no outbound webhooks**. You cannot pull conversations with an API key or subscribe to events on your server. The `/api/…` routes the dashboard uses need a signed-in session, and they are not a supported interface.

Today you have two ways to get data out:

* **API call actions** push data out while the conversation happens. The agent calls your endpoint with the parameters you declared, so a lead or an order query can reach your CRM or backend straight away. See [API calls](/docs/actions/api-calls).
* **CSV exports** get the history out afterwards. Conversations, contacts, leads and collected data each have an export in the dashboard. See [Exports](/docs/workspace/exports).

The widget's [events](/docs/developers/events) run in the visitor's browser, not on your server. Use them for page-level analytics, not as a record of every conversation.

## Docs for tools and AI assistants

The docs are published in plain-text forms too:

* **`https://wiredesk.ai/docs/llms.txt`** is an index of every page in these docs, in the llms.txt format.
* Add **`.md`** to the end of any docs page URL to get that page as Markdown, e.g. `https://wiredesk.ai/docs/widget/install.md`.

Point a coding assistant at these instead of the rendered HTML.

## Developer pages

<CardGroup cols={2}>
  <Card title="JavaScript API" icon="code" href="/docs/widget/javascript-api">
    Open, close and drive the widget from your own code.
  </Card>

  <Card title="Widget settings" icon="sliders" href="/docs/developers/widget-settings">
    Every `wiredeskSettings` field and `data-*` attribute, with defaults and precedence.
  </Card>

  <Card title="Events" icon="bolt" href="/docs/developers/events">
    What the widget emits, when, and with what payload.
  </Card>

  <Card title="Verified visitors" icon="user-check" href="/docs/widget/verified-visitors">
    Sign a user id on your server so the agent knows who is chatting.
  </Card>

  <Card title="Security model" icon="shield-check" href="/docs/developers/security-model">
    Keys, domains, identity, iframe isolation, rate limits and outbound calls.
  </Card>

  <Card title="Direct trunk" icon="phone" href="/docs/developers/direct-trunk">
    Route calls from your own SIP trunk to the agent.
  </Card>
</CardGroup>

## Related

* [Install the widget](/docs/widget/install)
* [API calls](/docs/actions/api-calls)
* [Exports](/docs/workspace/exports)
