Developers

Embed & webhooks

This page covers how to embed the Callable chat widget on your website and how to configure per-agent webhooks so your systems stay in sync with what your agents do.

Embed the chat widget

Every chat agent can be embedded on any website with a small script, and it also has its own public chat page. Embedding drops a chat widget onto your site that runs the same LLM pipeline as the rest of Callable — grounded in your business info, knowledge base, tools, and conversational flow.

Add the widget script

Paste the widget script into your site's HTML, ideally just before the closing </body> tag so it loads after your page content:

<script src="https://callableio.com/widget.js"></script>

Once the script is on the page, the chat widget appears for your visitors and connects to your chat agent.

Tip: The same chat agent is also reachable at its public chat page, so you can share a direct link even on pages where you don't embed the widget. Chat agent teams have their own public chat page too.

Where the widget gets its answers

The embedded widget behaves like your chat agent everywhere else: it grounds replies in the agent's system prompt and business info, in your Knowledge Base (website URLs, uploaded files, or pasted text), and it can call the tools you've attached (for example, transfer-to-human, send SMS, or an MCP server tool). Update those in the agent builder and the embedded widget reflects the changes.

Configure per-agent webhooks

Webhooks let your systems get notified when things happen on an agent. You configure webhooks per agent, and they fire on events so your backend can react in real time and stay in sync.

Set up a webhook

  1. Open the agent you want to wire up in the Agents section.
  2. Configure the agent's webhook with the URL on your side that should receive event notifications.
  3. Save the agent.

From then on, the agent sends event notifications to your endpoint as it operates, so your systems can update records, kick off follow-ups, or log activity without polling Callable.

Tip: Point your webhook at an endpoint you control and that can respond quickly. Treat incoming events as the trigger for your own downstream logic (CRM updates, notifications, syncing state).

Keeping systems in sync

Webhooks pair well with the rest of the platform. For example, conversations and their transcripts are always available in History, campaign outcomes land in Results the moment a call ends, and you can push campaign results to data apps like Google Sheets, Airtable, Notion, or Excel through Integrations. Webhooks add a real-time, event-driven path so your own systems find out as things happen.

Next steps

  • Tools & function calling — give your agent capabilities it can call mid-conversation, including MCP servers.
  • Knowledge Base — ground your embedded widget's answers in your own content.
  • Integrations — connect LLM keys, voice/transcriber providers, and data apps.
  • Web chat widget — configure the chat agent behind your embed.